From 3ccbb3dd5714ec413c2069db45d61daf15d07596 Mon Sep 17 00:00:00 2001 From: mprahl Date: Wed, 8 Nov 2017 10:07:44 -0500 Subject: [PATCH] Fix duplicate state traces --- module_build_service/models.py | 11 +---------- tests/test_build/test_build.py | 7 +++++++ tests/test_views/test_views.py | 7 +++---- 3 files changed, 11 insertions(+), 14 deletions(-) diff --git a/module_build_service/models.py b/module_build_service/models.py index 30a51a91..f511c2dc 100644 --- a/module_build_service/models.py +++ b/module_build_service/models.py @@ -603,17 +603,8 @@ class ComponentBuildTrace(MBSBase): def session_before_commit_handlers(session): # new and updated items for item in (set(session.new) | set(session.dirty)): - - # handlers for module builds - if isinstance(item, ModuleBuild): - mbt = ModuleBuildTrace( - state_time=datetime.utcnow(), - state=item.state, - state_reason=item.state_reason) - item.module_builds_trace.append(mbt) - # handlers for component builds - elif isinstance(item, ComponentBuild): + if isinstance(item, ComponentBuild): cbt = ComponentBuildTrace( state_time=datetime.utcnow(), state=item.state, diff --git a/tests/test_build/test_build.py b/tests/test_build/test_build.py index e6f0d06c..67d4500f 100644 --- a/tests/test_build/test_build.py +++ b/tests/test_build/test_build.py @@ -317,6 +317,13 @@ class TestBuild(unittest.TestCase): # All components has to be tagged, so tag_groups and buildroot_groups are empty... self.assertEqual(tag_groups, []) self.assertEqual(buildroot_groups, []) + module_build = models.ModuleBuild.query.get(module_build_id) + self.assertEqual(module_build.module_builds_trace[0].state, models.BUILD_STATES['init']) + self.assertEqual(module_build.module_builds_trace[1].state, models.BUILD_STATES['wait']) + self.assertEqual(module_build.module_builds_trace[2].state, models.BUILD_STATES['build']) + self.assertEqual(module_build.module_builds_trace[3].state, models.BUILD_STATES['done']) + self.assertEqual(module_build.module_builds_trace[4].state, models.BUILD_STATES['ready']) + self.assertEqual(len(module_build.module_builds_trace), 5) @timed(30) @patch('module_build_service.auth.get_user', return_value=user) diff --git a/tests/test_views/test_views.py b/tests/test_views/test_views.py index 04b4b431..0d88445d 100644 --- a/tests/test_views/test_views.py +++ b/tests/test_views/test_views.py @@ -170,10 +170,9 @@ class TestViews(unittest.TestCase): self.assertEquals(data['state'], 3) self.assertEquals(data['state_name'], 'done') self.assertEquals(data['state_reason'], None) - self.assertEquals(data['state_trace'][0]['reason'], None) - self.assertTrue(data['state_trace'][0]['time'] is not None) - self.assertEquals(data['state_trace'][0]['state'], 3) - self.assertEquals(data['state_trace'][0]['state_name'], 'done') + # State trace is empty because we directly created these builds and didn't have them + # transition, which creates these entries + self.assertEquals(data['state_trace'], []) self.assertEquals(data['state_url'], '/module-build-service/1/module-builds/1') self.assertEquals(data['stream'], '1') self.assertDictEqual(data['tasks'], {