|
|
"""
|
|
|
Helpers for fixture generation
|
|
|
"""
|
|
|
import os
|
|
|
import unittest
|
|
|
from rhodecode.tests import *
|
|
|
from rhodecode.model.db import Repository, User
|
|
|
from rhodecode.model.meta import Session
|
|
|
from rhodecode.model.repo import RepoModel
|
|
|
|
|
|
|
|
|
class Fixture(object):
|
|
|
|
|
|
def __init__(self):
|
|
|
pass
|
|
|
|
|
|
def create_repo(self, name, **kwargs):
|
|
|
form_data = _get_repo_create_params(repo_name=name, **kwargs)
|
|
|
cur_user = User.get_by_username(TEST_USER_ADMIN_LOGIN)
|
|
|
RepoModel().create(form_data, cur_user)
|
|
|
return Repository.get_by_repo_name(name)
|
|
|
|
|
|
def create_fork(self, repo_to_fork, fork_name, **kwargs):
|
|
|
repo_to_fork = Repository.get_by_repo_name(repo_to_fork)
|
|
|
vcs_type = repo_to_fork.repo_type
|
|
|
|
|
|
form_data = dict(
|
|
|
repo_name=fork_name,
|
|
|
repo_name_full=fork_name,
|
|
|
repo_group=None,
|
|
|
repo_type=vcs_type,
|
|
|
description='',
|
|
|
private=False,
|
|
|
copy_permissions=False,
|
|
|
landing_rev='tip',
|
|
|
update_after_clone=False,
|
|
|
fork_parent_id=repo_to_fork,
|
|
|
)
|
|
|
cur_user = kwargs.get('cur_user', TEST_USER_ADMIN_LOGIN)
|
|
|
RepoModel().create_fork(form_data, cur_user=cur_user)
|
|
|
|
|
|
Session().commit()
|
|
|
return Repository.get_by_repo_name(fork_name)
|
|
|
|