mirror of
https://pagure.io/fm-orchestrator.git
synced 2026-04-02 02:11:19 +08:00
Fix duplicate state traces
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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'], {
|
||||
|
||||
Reference in New Issue
Block a user