Mercurial > kallithea
comparison rhodecode/tests/fixture.py @ 3642:749dfd6b6e95 beta
added new fixture classes
and detaching/deleting forks
tests
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sun, 31 Mar 2013 17:01:47 +0200 |
parents | |
children | 8a86836fad64 |
comparison
equal
deleted
inserted
replaced
3641:b44979649915 | 3642:749dfd6b6e95 |
---|---|
1 """ | |
2 Helpers for fixture generation | |
3 """ | |
4 import os | |
5 import unittest | |
6 from rhodecode.tests import * | |
7 from rhodecode.model.db import Repository, User | |
8 from rhodecode.model.meta import Session | |
9 from rhodecode.model.repo import RepoModel | |
10 | |
11 | |
12 class Fixture(object): | |
13 | |
14 def __init__(self): | |
15 pass | |
16 | |
17 def create_repo(self, name, **kwargs): | |
18 form_data = _get_repo_create_params(repo_name=name, **kwargs) | |
19 cur_user = User.get_by_username(TEST_USER_ADMIN_LOGIN) | |
20 RepoModel().create(form_data, cur_user) | |
21 return Repository.get_by_repo_name(name) | |
22 | |
23 def create_fork(self, repo_to_fork, fork_name, **kwargs): | |
24 repo_to_fork = Repository.get_by_repo_name(repo_to_fork) | |
25 vcs_type = repo_to_fork.repo_type | |
26 | |
27 form_data = dict( | |
28 repo_name=fork_name, | |
29 repo_name_full=fork_name, | |
30 repo_group=None, | |
31 repo_type=vcs_type, | |
32 description='', | |
33 private=False, | |
34 copy_permissions=False, | |
35 landing_rev='tip', | |
36 update_after_clone=False, | |
37 fork_parent_id=repo_to_fork, | |
38 ) | |
39 cur_user = kwargs.get('cur_user', TEST_USER_ADMIN_LOGIN) | |
40 RepoModel().create_fork(form_data, cur_user=cur_user) | |
41 | |
42 Session().commit() | |
43 return Repository.get_by_repo_name(fork_name) |