def test_given_no_release_then_parser_error_called_specifying_no_module_version(self): self.args.module_name = "build" expected_error_msg = 'Module version not specified' dls_release.check_parsed_arguments_valid(self.args, self.parser) self.mock_error.assert_called_once_with(expected_error_msg)
def test_given_no_module_name_then_parser_error_specifying_no_module_name( self): expected_error_msg = 'Module name not specified' dls_release.check_parsed_arguments_valid(self.args, self.parser) self.mock_error.assert_called_once_with(expected_error_msg)
def test_given_git_and_tools_area_else_good_options_then_error_not_raised(self): self.args.module_name = "module" self.args.release = "version" self.args.area = "tools" dls_release.check_parsed_arguments_valid(self.args, self.parser) self.assertFalse(self.mock_error.call_count)
def test_given_default_area_and_module_of_redirector_then_parser_error_not_called(self): self.args.module_name = "redirector" self.args.release = "12" self.args.area = "support" dls_release.check_parsed_arguments_valid(self.args, self.parser) self.assertFalse(self.mock_error.call_count)
def test_given_git_and_tools_area_else_good_options_then_error_not_raised( self): self.args.module_name = "module" self.args.release = "version" self.args.area = "tools" dls_release.check_parsed_arguments_valid(self.args, self.parser) self.assertFalse(self.mock_error.call_count)
def test_given_default_area_and_module_of_redirector_then_parser_error_not_called( self): self.args.module_name = "redirector" self.args.release = "12" self.args.area = "support" dls_release.check_parsed_arguments_valid(self.args, self.parser) self.assertFalse(self.mock_error.call_count)
def test_given_no_release_not_test_commit_then_parser_error_called_specifying_no_module_version( self): self.args.module_name = "build" self.args.commit = "" expected_error_msg = 'Module release not specified; required unless' expected_error_msg += ' testing a specified commit, or requesting' expected_error_msg += ' next version.' dls_release.check_parsed_arguments_valid(self.args, self.parser) self.mock_error.assert_called_once_with(expected_error_msg)
def test_given_git_and_etc_area_else_good_options_then_raise_error(self): self.args.module_name = "module" self.args.release = "version" self.args.area = "etc" expected_error_message = self.args.area + " area not supported by git" dls_release.check_parsed_arguments_valid(self.args, self.parser) self.mock_error.assert_called_once_with(expected_error_message)
def test_given_area_option_of_etc_and_module_equals_redirector_then_parser_error_specifying_this(self): self.args.module_name = "redirector" self.args.release = "12" self.args.area = "etc" expected_error_msg = 'Cannot release etc/build or etc/redirector as' expected_error_msg += ' modules - use configure system instead' dls_release.check_parsed_arguments_valid(self.args, self.parser) self.mock_error.assert_called_once_with(expected_error_msg)
def test_given_git_and_etc_area_and_init(self): self.args.module_name = "init" self.args.release = "version" self.args.area = "etc" self.args.test_only = False self.args.skip_test = True self.args.local_build = False dls_release.check_parsed_arguments_valid(self.args, self.parser) self.mock_error.assert_not_called()
def test_python3_with_rhel_7_does_not_raise_error(self): areas = {"python3", "python3ext"} for area in areas: self.args.module_name = "module" self.args.release = "version" self.args.rhel_version = "7" self.args.area = area dls_release.check_parsed_arguments_valid(self.args, self.parser) self.mock_error.assert_not_called()
def test_given_git_and_archive_area_else_good_options_then_raise_error( self): self.args.module_name = "module" self.args.release = "version" self.args.area = "archive" expected_error_message = self.args.area + " area not valid" dls_release.check_parsed_arguments_valid(self.args, self.parser) self.mock_error.assert_called_once_with(expected_error_message)
def test_given_next_version_and_git_flag_then_parser_error_called(self): self.args.module_name = "module_name" self.args.release = "12" self.args.area = "support" self.args.next_version = True expected_error_message = "When git is specified, version number must be provided" dls_release.check_parsed_arguments_valid(self.args, self.parser) self.mock_error.assert_called_once_with(expected_error_message)
def test_given_git_and_etc_area_and_invalid_module_then_raise_error(self): self.args.module_name = "redirector" self.args.release = "version" self.args.area = "etc" self.args.test_only = False self.args.no_test_build = True self.args.local_build = False expected_error_message = \ "The only supported etc modules are ['init', 'Launcher'] - " \ "for others, use configure system instead" dls_release.check_parsed_arguments_valid(self.args, self.parser) self.mock_error.assert_called_once_with(expected_error_message)
def test_given_etc_area_and_local_test_build_only_then_error(self): self.args.module_name = "init" self.args.release = "version" self.args.area = "etc" self.args.skip_test = False self.args.test_only = False self.args.local_build = True expected_error_message = \ "Test builds are not possible for etc modules. " \ "Use -t to skip the local test build. Do not use -T or -l." dls_release.check_parsed_arguments_valid(self.args, self.parser) self.mock_error.assert_called_once_with(expected_error_message)
def test_python3_with_rhel_6_raises_error(self): areas = {"python3", "python3ext"} for area in areas: self.args.module_name = "module" self.args.release = "version" self.args.rhel_version = "6" self.args.area = area expected_error_message = self.args.area + " releases cannot be " \ "made for RHEL6" dls_release.check_parsed_arguments_valid(self.args, self.parser) self.mock_error.assert_called_once_with(expected_error_message) self.mock_error.reset_mock()