def setup(self): self.repo = models.Repo( models.Project('ceph-deploy'), 'master', 'centos', 'el7' )
def test_custom_flavor(self): self.repo = models.Repo( models.Project('ceph'), 'master', 'centos', 'el7', flavor='wakawaka', ) pecan.conf.repos_root = '/tmp/repos' result = util.repo_paths(self.repo)['absolute'] assert result == '/tmp/repos/ceph/master/head/centos/el7/flavors/wakawaka'
def mark_related_repos(self): related_projects = util.get_related_projects(self.project.name) repos = [] projects = [] for project_name, refs in related_projects.items(): p = models.projects.get_or_create(name=project_name) projects.append(p) repo_query = [] if refs == ['all']: # we need all the repos available repo_query = models.Repo.filter_by(project=p).all() else: for ref in refs: repo_query = models.Repo.filter_by(project=p, ref=ref).all() if repo_query: for r in repo_query: repos.append(r) if not repos: # there are no repositories associated with this project, so go ahead # and create one so that it can be queried by the celery task later for project in projects: repo = models.Repo( project, self.ref, self.distro, self.distro_version, sha1=self.sha1, ) repo.needs_update = repository_is_automatic(project.name) repo.type = self.binary._get_repo_type() else: for repo in repos: repo.needs_update = repository_is_automatic(repo.project.name) if repo.type is None: repo.type = self.binary._get_repo_type()