From 40f4e90818826bbc0dfe873c4a9ebaec7956f58f Mon Sep 17 00:00:00 2001 From: Chenxiong Qi Date: Mar 19 2019 06:49:08 +0000 Subject: Fixes according to review comments * Fix typo in variable name. * Add missing command line option used for running test. * Add missing if branch to handle buildrequires Signed-off-by: Chenxiong Qi --- diff --git a/tests/test_add_module.py b/tests/test_add_module.py index 2fa742d..c3b3258 100644 --- a/tests/test_add_module.py +++ b/tests/test_add_module.py @@ -48,7 +48,7 @@ def get_tag_side_effect(info): class TestAddModule: def setup_method(self): - fd, self.tag_conifg_file = tempfile.mkstemp() + fd, self.tag_config_file = tempfile.mkstemp() os.close(fd) self.ClientSession_patcher = patch('koji.ClientSession') @@ -62,14 +62,14 @@ class TestAddModule: self.get_patcher.stop() self.ClientSession_patcher.stop() - os.unlink(self.tag_conifg_file) + os.unlink(self.tag_config_file) def write_tag_config_file(self, content): - with open(self.tag_conifg_file, 'w') as f: + with open(self.tag_config_file, 'w') as f: json.dump(content, f) def read_tag_config_file(self): - with open(self.tag_conifg_file, 'r') as f: + with open(self.tag_config_file, 'r') as f: return json.load(f) def add_module(self, @@ -110,7 +110,7 @@ class TestAddModule: '--require', 'platform:f30', '--buildrequire', 'platform:f30', '--tag', 'f30-build', - '--tag-config-file', self.tag_conifg_file + '--tag-config-file', self.tag_config_file ] if update_inheritance_only: cli_cmd_options.append('--update-inheritance-only') diff --git a/tests/test_remove_module.py b/tests/test_remove_module.py index ada9fd7..0765528 100644 --- a/tests/test_remove_module.py +++ b/tests/test_remove_module.py @@ -35,14 +35,14 @@ class TestRemoveModule: """Test CLI command remove-module""" def setup_method(self): - fd, self.tag_conifg_file = tempfile.mkstemp() + fd, self.tag_config_file = tempfile.mkstemp() os.close(fd) def teardown_method(self): - os.unlink(self.tag_conifg_file) + os.unlink(self.tag_config_file) def write_tag_config_file(self, content): - with open(self.tag_conifg_file, 'w') as f: + with open(self.tag_config_file, 'w') as f: json.dump(content, f) def run_cli(self, options): @@ -84,7 +84,14 @@ class TestRemoveModule: } } - self.run_cli(['--name', 'python', '--stream', '3.6', '--tag', 'f30-build']) + # Write empty tag config file because we do not want to test if the tag + # config file is written. + self.write_tag_config_file({}) + + self.run_cli([ + '--name', 'python', '--stream', '3.6', '--tag', 'f30-build', + '--tag-config-file', self.tag_config_file + ]) session.setInheritanceData.assert_not_called() @@ -120,7 +127,7 @@ class TestRemoveModule: '--name', 'mariadb', '--stream', '10.4', '--require', 'platform:f30', '--buildrequire', 'platform:f30', '--tag', 'f30-build', - '--tag-config-file', self.tag_conifg_file + '--tag-config-file', self.tag_config_file ] if not_update_file: cmd.append('--not-update-config') @@ -149,7 +156,7 @@ class TestRemoveModule: self.remove_module(False) - with open(self.tag_conifg_file, 'r') as f: + with open(self.tag_config_file, 'r') as f: tag_configs = json.load(f) mariadb_module_config = fake_tag_configs['f30-build']['modules'][0] @@ -173,7 +180,7 @@ class TestRemoveModule: self.remove_module(True) - with open(self.tag_conifg_file, 'r') as f: + with open(self.tag_config_file, 'r') as f: tag_configs = json.load(f) mariadb_module_config = fake_tag_configs['f30-build']['modules'][0] @@ -198,7 +205,7 @@ class TestRemoveModule: self.remove_module(False) - with open(self.tag_conifg_file, 'r') as f: + with open(self.tag_config_file, 'r') as f: tag_configs = json.load(f) expected = fake_tag_configs['f30-build']['modules'] diff --git a/ursa_major/handlers/add_module.py b/ursa_major/handlers/add_module.py index 77b6b64..6a136e2 100644 --- a/ursa_major/handlers/add_module.py +++ b/ursa_major/handlers/add_module.py @@ -219,7 +219,8 @@ class AddModuleHandler(BaseHandler): input_module_config.priority, self.op_tag)) if to_update_inheritance: - if input_module_config.requires != stock_module_config.requires: + if (input_module_config.requires != stock_module_config.requires or + input_module_config.buildrequires != stock_module_config.buildrequires): # module requires changed, we need to remove old tags existing_stock_tags = self.find_module_tags_from_koji_inheritance( self.op_tag, stock_module_config) @@ -329,7 +330,7 @@ class AddModuleHandler(BaseHandler): :param module_config: an object of `ModuleConfig` :return: tag name or None """ - if module_config.requires: + if module_config.requires or module_config.buildrequires: modules = self.mbs.get_modules_with_requires( buildrequires=module_config.buildrequires, requires=module_config.requires, @@ -374,7 +375,7 @@ class AddModuleHandler(BaseHandler): :param module_config: instance of ModuleConfig """ tags_from_koji = set(t['name'] for t in self.koji.get_inheritance_data(tag)) - if module_config.requires: + if module_config.requires or module_config.buildrequires: modules = self.mbs.get_modules_with_requires( requires=module_config.requires, buildrequires=module_config.buildrequires,