def test_repo_info(self): self.assertEqual(projects.get_repo("x"), (None, None)) projects.update_import_info("x", projects.RepositoryType.GITILES, "http://localhost/x") # Second time for coverage. projects.update_import_info("x", projects.RepositoryType.GITILES, "http://localhost/x") self.assertEqual(projects.get_repo("x"), (projects.RepositoryType.GITILES, "http://localhost/x")) # Change it projects.update_import_info("x", projects.RepositoryType.GITILES, "http://localhost/y")
def test_repo_info(self): self.assertEqual(projects.get_repo('x'), (None, None)) projects.update_import_info( 'x', projects.RepositoryType.GITILES, 'http://localhost/x') # Second time for coverage. projects.update_import_info( 'x', projects.RepositoryType.GITILES, 'http://localhost/x') self.assertEqual( projects.get_repo('x'), (projects.RepositoryType.GITILES, 'http://localhost/x')) # Change it projects.update_import_info( 'x', projects.RepositoryType.GITILES, 'http://localhost/y')
def get_projects(): """Returns list of projects with metadata and repo info. Does not return projects that have no repo information. It might happen due to eventual consistency. Caches results in main memory for 10 min. """ result = [] for p in projects.get_projects(): repo_type, repo_url = projects.get_repo(p.id) if repo_type is None: # Not yet consistent. continue metadata = projects.get_metadata(p.id) result.append(Project( id=p.id, name=metadata.name or None, repo_type=repo_type, repo_url=repo_url, )) return result