def test_case_sensitive_dependencies(): """ Verify that artifact IDs of dependencies match the real project name, not the case-insensitive key. """ class MockModuleBuilder(object): def __init__(self): self.__module_names = [] def ensure_dependencies_defined(self): pass # noinspection PyShadowingBuiltins def add_dependency(self, type, id, sha1, md5): self.__module_names.append(id.artifact_id) def compare_modules(self, freeze_file): with open(freeze_file) as f: modules = f.read().splitlines() expected_set = frozenset([m.split('==')[0] for m in modules]) actual_set = frozenset(self.__module_names) assert actual_set == expected_set, ( '\nActual module names:\n {}' '\nExpected module names:\n {}'.format( '\n '.join(pprint.pformat(actual_set).splitlines()), '\n '.join(pprint.pformat(expected_set).splitlines()))) eq_(actual_set, expected_set) generator = BuildInfoModuleGenerator( determine_dependency_checksums_fn= lambda artifact_id, version: (None, None)) freeze_file = os.path.join(os.path.dirname( os.path.abspath(__file__)), "case-sensitive-requirements.txt") mock_module_builder = MockModuleBuilder() generator._reset_dependencies(freeze_file, mock_module_builder) mock_module_builder.compare_modules(freeze_file)
def test_case_sensitive_dependencies(): """ Verify that artifact IDs of dependencies match the real project name, not the case-insensitive key. """ class MockModuleBuilder(object): def __init__(self): self.__module_names = [] def ensure_dependencies_defined(self): pass # noinspection PyShadowingBuiltins def add_dependency(self, type, id, sha1, md5): self.__module_names.append(id.artifact_id) def compare_modules(self, freeze_file): with open(freeze_file) as f: modules = f.read().splitlines() expected_set = frozenset([m.split('==')[0] for m in modules]) actual_set = frozenset(self.__module_names) assert actual_set == expected_set, ( '\nActual module names:\n {}' '\nExpected module names:\n {}'.format( '\n '.join(pprint.pformat(actual_set).splitlines()), '\n '.join(pprint.pformat(expected_set).splitlines()))) eq_(actual_set, expected_set) generator = BuildInfoModuleGenerator( determine_dependency_checksums_fn=lambda artifact_id, version: (None, None)) freeze_file = os.path.join(os.path.dirname(os.path.abspath(__file__)), "case-sensitive-requirements.txt") mock_module_builder = MockModuleBuilder() generator._reset_dependencies(freeze_file, mock_module_builder) mock_module_builder.compare_modules(freeze_file)