From 3f991537d94cd246008318eb2974171c3b5d19a8 Mon Sep 17 00:00:00 2001 From: Jan Kaluža Date: Apr 25 2018 08:30:41 +0000 Subject: Merge #259 `Filter-out NULL ArtifactBuild.build_id in get_highest_build_id.` --- diff --git a/freshmaker/models.py b/freshmaker/models.py index 669ec4a..b117f89 100644 --- a/freshmaker/models.py +++ b/freshmaker/models.py @@ -459,8 +459,10 @@ class ArtifactBuild(FreshmakerBase): Returns the highest build_id. If there is no build so far, returns 0. """ - build = session.query(ArtifactBuild).order_by( - ArtifactBuild.build_id.desc()).first() + build = (session.query(ArtifactBuild) + .filter(cls.build_id is not None) + .order_by(ArtifactBuild.build_id.desc()) + .first()) if not build: return 0 return build.build_id diff --git a/tests/test_models.py b/tests/test_models.py index 6071add..cc0b186 100644 --- a/tests/test_models.py +++ b/tests/test_models.py @@ -270,10 +270,13 @@ class TestArtifactBuildComposesRel(helpers.ModelsTestCase): released=False) self.build_1 = ArtifactBuild.create( db.session, self.event, 'build-1', ArtifactType.IMAGE) + self.build_1.build_id = 3 self.build_2 = ArtifactBuild.create( db.session, self.event, 'build-2', ArtifactType.IMAGE) + self.build_2.build_id = 2 self.build_3 = ArtifactBuild.create( db.session, self.event, 'build-3', ArtifactType.IMAGE) + self.build_3.build_id = None db.session.commit() @@ -296,6 +299,10 @@ class TestArtifactBuildComposesRel(helpers.ModelsTestCase): compose_id = Compose.get_highest_compose_id(db.session) self.assertEqual(compose_id, 4) + def test_get_highest_build_id(self): + build_id = ArtifactBuild.get_highest_build_id(db.session) + self.assertEqual(build_id, 3) + def test_build_composes(self): self.assertEqual(3, len(self.build_1.composes)) self.assertEqual(