def _sync_repos_by_type_name(expanded_specs, type_names, dusty_type): repos = set() for type_name in type_names: for lib_name in expanded_specs[dusty_type][type_name]['depends']['libs']: repos.add(get_repo_of_app_or_library(lib_name)) repos.add(get_repo_of_app_or_library(type_name)) sync_repos(repos)
def sync_repos_by_specs(specs_list): """ Takes a list of app or lib specs (class DustySchema), and syncs the repos for those specs """ repos = set() for spec in specs_list: for lib_name in spec['depends']['libs']: repos.add(get_repo_of_app_or_library(lib_name)) repos.add(get_repo_of_app_or_library(spec.name)) sync_repos(repos)
def test_get_repo_of_app_or_service_neither(self): with self.assertRaises(KeyError): spec_assembler.get_repo_of_app_or_library('lib-b')
def test_get_repo_of_app_or_service_lib(self): self.assertEqual(spec_assembler.get_repo_of_app_or_library('lib-a'), Repo('github.com/lib/a'))