From 2bf7813446f637e752d01c1b5076f06fa3cbd294 Mon Sep 17 00:00:00 2001 From: Merlin Mathesius Date: Mar 01 2019 16:27:04 +0000 Subject: Add 'scratch' and 'srpms' attributes to data model for module scratch builds, and update tests accordingly. Signed-off-by: Merlin Mathesius --- diff --git a/module_build_service/models.py b/module_build_service/models.py index 983d868..fe5237e 100644 --- a/module_build_service/models.py +++ b/module_build_service/models.py @@ -197,6 +197,8 @@ class ModuleBuild(MBSBase): # Koji tag to which tag the Content Generator Koji build. cg_build_koji_tag = db.Column(db.String) # This gets set after wait scmurl = db.Column(db.String) + scratch = db.Column(db.Boolean, default=False) + srpms = db.Column(db.String) owner = db.Column(db.String, nullable=False) time_submitted = db.Column(db.DateTime, nullable=False) time_modified = db.Column(db.DateTime) @@ -485,7 +487,7 @@ class ModuleBuild(MBSBase): @classmethod def create(cls, session, conf, name, stream, version, modulemd, scmurl, username, - context=None, rebuild_strategy=None, publish_msg=True): + context=None, rebuild_strategy=None, scratch=False, srpms=[], publish_msg=True): now = datetime.utcnow() module = cls( name=name, @@ -499,7 +501,9 @@ class ModuleBuild(MBSBase): time_submitted=now, time_modified=now, # If the rebuild_strategy isn't specified, use the default - rebuild_strategy=rebuild_strategy or conf.rebuild_strategy + rebuild_strategy=rebuild_strategy or conf.rebuild_strategy, + scratch=scratch, + srpms=dumps(srpms) if srpms else '[]', ) # Add a state transition to "init" mbt = ModuleBuildTrace(state_time=now, state=module.state) @@ -643,6 +647,8 @@ class ModuleBuild(MBSBase): 'owner': self.owner, 'rebuild_strategy': self.rebuild_strategy, 'scmurl': self.scmurl, + 'scratch': self.scratch, + 'srpms': loads(self.srpms) if self.srpms else [], 'siblings': self.siblings, 'state_reason': self.state_reason, 'time_completed': _utc_datetime_to_iso(self.time_completed), diff --git a/tests/test_views/test_views.py b/tests/test_views/test_views.py index cedf27b..1a867e5 100644 --- a/tests/test_views/test_views.py +++ b/tests/test_views/test_views.py @@ -129,6 +129,8 @@ class TestViews: assert data['context'] == '00000000' assert data['name'] == 'nginx' assert data['owner'] == 'Moe Szyslak' + assert data['scratch'] is False + assert data['srpms'] == [] assert data['stream'] == '1' assert data['siblings'] == [] assert data['state'] == 5 @@ -190,6 +192,8 @@ class TestViews: assert data['owner'] == 'Moe Szyslak' assert data['scmurl'] == ('git://pkgs.domain.local/modules/nginx' '?#ba95886c7a443b36a9ce31abda1f9bef22f2f8c9') + assert data['scratch'] is False + assert data['srpms'] == [] assert data['siblings'] == [] assert data['state'] == 5 assert data['state_name'] == 'ready' @@ -274,7 +278,9 @@ class TestViews: "rebuild_strategy": "changed-and-after", "scmurl": ("git://pkgs.domain.local/modules/testmodule" "?#ca95886c7a443b36a9ce31abda1f9bef22f2f8c9"), + "scratch": False, "siblings": [], + "srpms": [], "state": 1, "state_name": "wait", "state_reason": None, @@ -311,7 +317,9 @@ class TestViews: "rebuild_strategy": "changed-and-after", "scmurl": ("git://pkgs.domain.local/modules/postgressql" "?#aa95886c7a443b36a9ce31abda1f9bef22f2f8c9"), + "scratch": False, "siblings": [], + "srpms": [], "state": 3, "state_name": "done", "state_reason": None, @@ -358,7 +366,9 @@ class TestViews: "rebuild_strategy": "changed-and-after", "scmurl": ("git://pkgs.domain.local/modules/nginx" "?#ba95886c7a443b36a9ce31abda1f9bef22f2f8c9"), + "scratch": False, "siblings": [2], + "srpms": [], "state": 5, "state_name": "ready", "state_reason": None,