From 25b6a93a071d7dc80104c4387fccb0a99ad59d9a Mon Sep 17 00:00:00 2001 From: mprahl Date: Dec 03 2018 17:00:30 +0000 Subject: Make the devel Koji CG build optional using a config option --- diff --git a/module_build_service/builder/KojiModuleBuilder.py b/module_build_service/builder/KojiModuleBuilder.py index ec2401d..2edb05b 100644 --- a/module_build_service/builder/KojiModuleBuilder.py +++ b/module_build_service/builder/KojiModuleBuilder.py @@ -1201,7 +1201,8 @@ chmod 644 %buildroot/etc/rpm/macros.zz-modules if self.config.koji_enable_content_generator and self.module.state == 3: cg = KojiContentGenerator(self.module, self.config) cg.koji_import() - cg.koji_import(devel=True) + if conf.koji_cg_devel_module: + cg.koji_import(devel=True) @staticmethod def get_rpm_module_tag(rpm): diff --git a/module_build_service/config.py b/module_build_service/config.py index b8cd9df..0f1651f 100644 --- a/module_build_service/config.py +++ b/module_build_service/config.py @@ -428,6 +428,10 @@ class Config(object): 'default': True, 'desc': 'Indicate whether tagging build is enabled during importing ' 'module to Koji.'}, + 'koji_cg_devel_module': { + 'type': bool, + 'default': True, + 'desc': 'Indicate whether a devel module should be imported into Koji.'}, 'koji_cg_build_tag_template': { 'type': str, 'default': "{}-modular-updates-candidate", diff --git a/tests/test_builder/test_koji.py b/tests/test_builder/test_koji.py index c596025..2888664 100644 --- a/tests/test_builder/test_koji.py +++ b/tests/test_builder/test_koji.py @@ -639,6 +639,33 @@ class TestKojiBuilder: rv = KojiModuleBuilder._get_filtered_rpms_on_self_dep(current_module, br_filtered_rpms) assert set(rv) == set(expected) + @pytest.mark.parametrize('cg_enabled,cg_devel_enabled', [ + (False, False), + (True, False), + (True, True), + ]) + @mock.patch('module_build_service.builder.KojiModuleBuilder.KojiContentGenerator') + def test_finalize(self, mock_koji_cg_cls, cg_enabled, cg_devel_enabled): + self.module.state = 3 + with patch('module_build_service.config.Config.koji_enable_content_generator', + new_callable=mock.PropertyMock, return_value=cg_enabled): + with patch('module_build_service.config.Config.koji_cg_devel_module', + new_callable=mock.PropertyMock, return_value=cg_devel_enabled): + builder = FakeKojiModuleBuilder( + owner=self.module.owner, module=self.module, config=conf, + tag_name='module-nginx-1.2', components=[]) + builder.finalize() + + mock_koji_cg = mock_koji_cg_cls.return_value + if cg_enabled: + if cg_devel_enabled: + assert mock_koji_cg.koji_import.call_count == 2 + mock_koji_cg.koji_import.assert_has_calls([mock.call(), mock.call(devel=True)]) + else: + mock_koji_cg.koji_import.assert_called_once_with() + else: + mock_koji_cg.koji_import.assert_not_called() + class TestGetDistTagSRPM: """Test KojiModuleBuilder.get_disttag_srpm"""