annotate rhodecode/tests/test_hg_operations.py @ 1382:c310e1e1e757 beta

Added CheckSessionFlash into init. Added repo_groups_test controller. Renamed users_groups test controller
author Marcin Kuzminski <marcin@python-works.com>
date Tue, 14 Jun 2011 09:38:23 +0200
parents 1bd6ed0f38b1
children fcc676c6bf3b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
896
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
1 # -*- coding: utf-8 -*-
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
2 """
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
3 rhodecode.tests.test_hg_operations
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
5
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
6 Test suite for making push/pull operations
1203
6832ef664673 source code cleanup: remove trailing white space, normalize file endings
Marcin Kuzminski <marcin@python-works.com>
parents: 1087
diff changeset
7
896
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
8 :created_on: Dec 30, 2010
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
9 :copyright: (c) 2010 by marcink.
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
10 :license: LICENSE_NAME, see LICENSE_FILE for more details.
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
11 """
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
12
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
13 import os
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
14 import shutil
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
15 import logging
930
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
16 from os.path import join as jn
1277
cf2a67b91ffc fixed path for .ini file in test hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 1203
diff changeset
17 from os.path import dirname as dn
896
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
18
930
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
19 from tempfile import _RandomNameSequence
896
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
20 from subprocess import Popen, PIPE
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
21
930
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
22 from paste.deploy import appconfig
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
23 from pylons import config
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
24 from sqlalchemy import engine_from_config
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
25
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
26 from rhodecode.lib.utils import add_cache
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
27 from rhodecode.model import init_model
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
28 from rhodecode.model import meta
1008
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
29 from rhodecode.model.db import User, Repository
930
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
30 from rhodecode.lib.auth import get_crypt_password
896
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
31
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
32 from rhodecode.tests import TESTS_TMP_PATH, NEW_HG_REPO, HG_REPO
930
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
33 from rhodecode.config.environment import load_environment
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
34
1277
cf2a67b91ffc fixed path for .ini file in test hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 1203
diff changeset
35 rel_path = dn(dn(dn(os.path.abspath(__file__))))
cf2a67b91ffc fixed path for .ini file in test hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 1203
diff changeset
36 conf = appconfig('config:development.ini', relative_to=rel_path)
930
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
37 load_environment(conf.global_conf, conf.local_conf)
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
38
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
39 add_cache(conf)
896
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
40
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
41 USER = 'test_admin'
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
42 PASS = 'test12'
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
43 HOST = '127.0.0.1:5000'
910
811fa5d45de8 Rewrite simehg for enabling cloning with raw url for anonymous access + some optimizations for making less queries when authenticating users.
Marcin Kuzminski <marcin@python-works.com>
parents: 909
diff changeset
44 DEBUG = True
896
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
45 log = logging.getLogger(__name__)
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
46
909
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
47
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
48 class Command(object):
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
49
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
50 def __init__(self, cwd):
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
51 self.cwd = cwd
896
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
52
909
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
53 def execute(self, cmd, *args):
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
54 """Runs command on the system with given ``args``.
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
55 """
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
56
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
57 command = cmd + ' ' + ' '.join(args)
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
58 log.debug('Executing %s' % command)
910
811fa5d45de8 Rewrite simehg for enabling cloning with raw url for anonymous access + some optimizations for making less queries when authenticating users.
Marcin Kuzminski <marcin@python-works.com>
parents: 909
diff changeset
59 if DEBUG:
811fa5d45de8 Rewrite simehg for enabling cloning with raw url for anonymous access + some optimizations for making less queries when authenticating users.
Marcin Kuzminski <marcin@python-works.com>
parents: 909
diff changeset
60 print command
909
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
61 p = Popen(command, shell=True, stdout=PIPE, stderr=PIPE, cwd=self.cwd)
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
62 stdout, stderr = p.communicate()
910
811fa5d45de8 Rewrite simehg for enabling cloning with raw url for anonymous access + some optimizations for making less queries when authenticating users.
Marcin Kuzminski <marcin@python-works.com>
parents: 909
diff changeset
63 if DEBUG:
811fa5d45de8 Rewrite simehg for enabling cloning with raw url for anonymous access + some optimizations for making less queries when authenticating users.
Marcin Kuzminski <marcin@python-works.com>
parents: 909
diff changeset
64 print stdout, stderr
909
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
65 return stdout, stderr
896
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
66
930
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
67 def get_session():
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
68 engine = engine_from_config(conf, 'sqlalchemy.db1.')
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
69 init_model(engine)
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
70 sa = meta.Session()
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
71 return sa
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
72
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
73
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
74 def create_test_user(force=True):
1008
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
75 print 'creating test user'
930
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
76 sa = get_session()
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
77
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
78 user = sa.query(User).filter(User.username == USER).scalar()
988
7f4943c90876 fixed test hg operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 930
diff changeset
79
1008
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
80 if force and user is not None:
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
81 print 'removing current user'
1047
15b60f83420c tests update
Marcin Kuzminski <marcin@python-works.com>
parents: 1008
diff changeset
82 for repo in sa.query(Repository).filter(Repository.user == user).all():
15b60f83420c tests update
Marcin Kuzminski <marcin@python-works.com>
parents: 1008
diff changeset
83 sa.delete(repo)
930
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
84 sa.delete(user)
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
85 sa.commit()
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
86
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
87 if user is None or force:
1008
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
88 print 'creating new one'
930
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
89 new_usr = User()
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
90 new_usr.username = USER
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
91 new_usr.password = get_crypt_password(PASS)
988
7f4943c90876 fixed test hg operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 930
diff changeset
92 new_usr.email = 'mail@mail.com'
7f4943c90876 fixed test hg operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 930
diff changeset
93 new_usr.name = 'test'
7f4943c90876 fixed test hg operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 930
diff changeset
94 new_usr.lastname = 'lasttestname'
930
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
95 new_usr.active = True
1008
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
96 new_usr.admin = True
930
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
97 sa.add(new_usr)
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
98 sa.commit()
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
99
1008
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
100 print 'done'
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
101
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
102
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
103 def create_test_repo(force=True):
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
104 from rhodecode.model.repo import RepoModel
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
105 sa = get_session()
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
106
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
107 user = sa.query(User).filter(User.username == USER).scalar()
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
108 if user is None:
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
109 raise Exception('user not found')
930
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
110
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
111
1008
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
112 repo = sa.query(Repository).filter(Repository.repo_name == HG_REPO).scalar()
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
113
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
114 if repo is None:
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
115 print 'repo not found creating'
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
116
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
117 form_data = {'repo_name':HG_REPO,
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
118 'repo_type':'hg',
1296
1bd6ed0f38b1 small fixes to test_hg_operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 1277
diff changeset
119 'private':False,
1bd6ed0f38b1 small fixes to test_hg_operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 1277
diff changeset
120 'clone_uri':'' }
1008
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
121 rm = RepoModel(sa)
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
122 rm.base_path = '/home/hg'
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
123 rm.create(form_data, user)
896
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
124
1047
15b60f83420c tests update
Marcin Kuzminski <marcin@python-works.com>
parents: 1008
diff changeset
125
15b60f83420c tests update
Marcin Kuzminski <marcin@python-works.com>
parents: 1008
diff changeset
126 def set_anonymous_access(enable=True):
15b60f83420c tests update
Marcin Kuzminski <marcin@python-works.com>
parents: 1008
diff changeset
127 sa = get_session()
15b60f83420c tests update
Marcin Kuzminski <marcin@python-works.com>
parents: 1008
diff changeset
128 user = sa.query(User).filter(User.username == 'default').one()
15b60f83420c tests update
Marcin Kuzminski <marcin@python-works.com>
parents: 1008
diff changeset
129 user.active = enable
15b60f83420c tests update
Marcin Kuzminski <marcin@python-works.com>
parents: 1008
diff changeset
130 sa.add(user)
15b60f83420c tests update
Marcin Kuzminski <marcin@python-works.com>
parents: 1008
diff changeset
131 sa.commit()
15b60f83420c tests update
Marcin Kuzminski <marcin@python-works.com>
parents: 1008
diff changeset
132
15b60f83420c tests update
Marcin Kuzminski <marcin@python-works.com>
parents: 1008
diff changeset
133 def get_anonymous_access():
15b60f83420c tests update
Marcin Kuzminski <marcin@python-works.com>
parents: 1008
diff changeset
134 sa = get_session()
15b60f83420c tests update
Marcin Kuzminski <marcin@python-works.com>
parents: 1008
diff changeset
135 return sa.query(User).filter(User.username == 'default').one().active
15b60f83420c tests update
Marcin Kuzminski <marcin@python-works.com>
parents: 1008
diff changeset
136
15b60f83420c tests update
Marcin Kuzminski <marcin@python-works.com>
parents: 1008
diff changeset
137
910
811fa5d45de8 Rewrite simehg for enabling cloning with raw url for anonymous access + some optimizations for making less queries when authenticating users.
Marcin Kuzminski <marcin@python-works.com>
parents: 909
diff changeset
138 #==============================================================================
896
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
139 # TESTS
910
811fa5d45de8 Rewrite simehg for enabling cloning with raw url for anonymous access + some optimizations for making less queries when authenticating users.
Marcin Kuzminski <marcin@python-works.com>
parents: 909
diff changeset
140 #==============================================================================
1008
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
141 def test_clone(no_errors=False):
909
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
142 cwd = path = jn(TESTS_TMP_PATH, HG_REPO)
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
143
896
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
144 try:
909
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
145 shutil.rmtree(path, ignore_errors=True)
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
146 os.makedirs(path)
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
147 #print 'made dirs %s' % jn(path)
896
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
148 except OSError:
909
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
149 raise
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
150
896
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
151
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
152 clone_url = 'http://%(user)s:%(pass)s@%(host)s/%(cloned_repo)s %(dest)s' % \
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
153 {'user':USER,
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
154 'pass':PASS,
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
155 'host':HOST,
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
156 'cloned_repo':HG_REPO,
909
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
157 'dest':path}
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
158
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
159 stdout, stderr = Command(cwd).execute('hg clone', clone_url)
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
160
1008
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
161 if no_errors is False:
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
162 assert """adding file changes""" in stdout, 'no messages about cloning'
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
163 assert """abort""" not in stderr , 'got error from clone'
909
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
164
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
165
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
166
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
167 def test_clone_anonymous_ok():
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
168 cwd = path = jn(TESTS_TMP_PATH, HG_REPO)
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
169
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
170 try:
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
171 shutil.rmtree(path, ignore_errors=True)
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
172 os.makedirs(path)
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
173 #print 'made dirs %s' % jn(path)
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
174 except OSError:
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
175 raise
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
176
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
177
1047
15b60f83420c tests update
Marcin Kuzminski <marcin@python-works.com>
parents: 1008
diff changeset
178 print 'checking if anonymous access is enabled'
15b60f83420c tests update
Marcin Kuzminski <marcin@python-works.com>
parents: 1008
diff changeset
179 anonymous_access = get_anonymous_access()
15b60f83420c tests update
Marcin Kuzminski <marcin@python-works.com>
parents: 1008
diff changeset
180 if not anonymous_access:
15b60f83420c tests update
Marcin Kuzminski <marcin@python-works.com>
parents: 1008
diff changeset
181 print 'not enabled, enabling it '
15b60f83420c tests update
Marcin Kuzminski <marcin@python-works.com>
parents: 1008
diff changeset
182 set_anonymous_access(enable=True)
15b60f83420c tests update
Marcin Kuzminski <marcin@python-works.com>
parents: 1008
diff changeset
183
909
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
184 clone_url = 'http://%(host)s/%(cloned_repo)s %(dest)s' % \
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
185 {'user':USER,
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
186 'pass':PASS,
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
187 'host':HOST,
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
188 'cloned_repo':HG_REPO,
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
189 'dest':path}
755
99ece4c484e1 Added basic test push/pull script
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
190
909
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
191 stdout, stderr = Command(cwd).execute('hg clone', clone_url)
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
192 print stdout, stderr
1047
15b60f83420c tests update
Marcin Kuzminski <marcin@python-works.com>
parents: 1008
diff changeset
193
15b60f83420c tests update
Marcin Kuzminski <marcin@python-works.com>
parents: 1008
diff changeset
194
909
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
195 assert """adding file changes""" in stdout, 'no messages about cloning'
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
196 assert """abort""" not in stderr , 'got error from clone'
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
197
1047
15b60f83420c tests update
Marcin Kuzminski <marcin@python-works.com>
parents: 1008
diff changeset
198 #disable if it was enabled
15b60f83420c tests update
Marcin Kuzminski <marcin@python-works.com>
parents: 1008
diff changeset
199 if not anonymous_access:
15b60f83420c tests update
Marcin Kuzminski <marcin@python-works.com>
parents: 1008
diff changeset
200 print 'disabling anonymous access'
15b60f83420c tests update
Marcin Kuzminski <marcin@python-works.com>
parents: 1008
diff changeset
201 set_anonymous_access(enable=False)
15b60f83420c tests update
Marcin Kuzminski <marcin@python-works.com>
parents: 1008
diff changeset
202
15b60f83420c tests update
Marcin Kuzminski <marcin@python-works.com>
parents: 1008
diff changeset
203
909
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
204 def test_clone_wrong_credentials():
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
205 cwd = path = jn(TESTS_TMP_PATH, HG_REPO)
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
206
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
207 try:
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
208 shutil.rmtree(path, ignore_errors=True)
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
209 os.makedirs(path)
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
210 #print 'made dirs %s' % jn(path)
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
211 except OSError:
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
212 raise
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
213
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
214
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
215 clone_url = 'http://%(user)s:%(pass)s@%(host)s/%(cloned_repo)s %(dest)s' % \
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
216 {'user':USER + 'error',
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
217 'pass':PASS,
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
218 'host':HOST,
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
219 'cloned_repo':HG_REPO,
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
220 'dest':path}
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
221
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
222 stdout, stderr = Command(cwd).execute('hg clone', clone_url)
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
223
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
224 assert """abort: authorization failed""" in stderr , 'no error from wrong credentials'
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
225
896
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
226
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
227 def test_pull():
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
228 pass
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
229
1008
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
230 def test_push_modify_file(f_name='setup.py'):
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
231 cwd = path = jn(TESTS_TMP_PATH, HG_REPO)
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
232 modified_file = jn(TESTS_TMP_PATH, HG_REPO, f_name)
896
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
233 for i in xrange(5):
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
234 cmd = """echo 'added_line%s' >> %s""" % (i, modified_file)
909
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
235 Command(cwd).execute(cmd)
896
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
236
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
237 cmd = """hg ci -m 'changed file %s' %s """ % (i, modified_file)
909
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
238 Command(cwd).execute(cmd)
896
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
239
909
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
240 Command(cwd).execute('hg push %s' % jn(TESTS_TMP_PATH, HG_REPO))
896
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
241
1296
1bd6ed0f38b1 small fixes to test_hg_operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 1277
diff changeset
242 def test_push_new_file(commits=15, with_clone=True):
909
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
243
1296
1bd6ed0f38b1 small fixes to test_hg_operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 1277
diff changeset
244 if with_clone:
1bd6ed0f38b1 small fixes to test_hg_operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 1277
diff changeset
245 test_clone(no_errors=True)
896
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
246
909
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
247 cwd = path = jn(TESTS_TMP_PATH, HG_REPO)
1087
51076a2a2b64 fixed unicode problems with file paths.
Marcin Kuzminski <marcin@python-works.com>
parents: 1047
diff changeset
248 added_file = jn(path, '%ssetupążźć.py' % _RandomNameSequence().next())
896
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
249
909
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
250 Command(cwd).execute('touch %s' % added_file)
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
251
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
252 Command(cwd).execute('hg add %s' % added_file)
896
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
253
930
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
254 for i in xrange(commits):
896
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
255 cmd = """echo 'added_line%s' >> %s""" % (i, added_file)
909
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
256 Command(cwd).execute(cmd)
809
7b18e7ca66da extended hg push test script
Marcin Kuzminski <marcin@python-works.com>
parents: 790
diff changeset
257
1296
1bd6ed0f38b1 small fixes to test_hg_operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 1277
diff changeset
258 cmd = """hg ci -m 'commited new %s' -u '%s' %s """ % (i,
1bd6ed0f38b1 small fixes to test_hg_operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 1277
diff changeset
259 'Marcin Kuźminski <marcin@python-blog.com>',
1bd6ed0f38b1 small fixes to test_hg_operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 1277
diff changeset
260 added_file)
909
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
261 Command(cwd).execute(cmd)
896
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
262
909
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
263 push_url = 'http://%(user)s:%(pass)s@%(host)s/%(cloned_repo)s' % \
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
264 {'user':USER,
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
265 'pass':PASS,
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
266 'host':HOST,
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
267 'cloned_repo':HG_REPO,
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
268 'dest':jn(TESTS_TMP_PATH, HG_REPO)}
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
269
930
f9016563f987 Added sql session into test hg script
Marcin Kuzminski <marcin@python-works.com>
parents: 910
diff changeset
270 Command(cwd).execute('hg push --verbose --debug %s' % push_url)
896
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
271
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
272 def test_push_wrong_credentials():
1008
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
273 cwd = path = jn(TESTS_TMP_PATH, HG_REPO)
896
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
274 clone_url = 'http://%(user)s:%(pass)s@%(host)s/%(cloned_repo)s' % \
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
275 {'user':USER + 'xxx',
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
276 'pass':PASS,
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
277 'host':HOST,
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
278 'cloned_repo':HG_REPO,
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
279 'dest':jn(TESTS_TMP_PATH, HG_REPO)}
809
7b18e7ca66da extended hg push test script
Marcin Kuzminski <marcin@python-works.com>
parents: 790
diff changeset
280
896
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
281 modified_file = jn(TESTS_TMP_PATH, HG_REPO, 'setup.py')
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
282 for i in xrange(5):
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
283 cmd = """echo 'added_line%s' >> %s""" % (i, modified_file)
909
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
284 Command(cwd).execute(cmd)
896
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
285
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
286 cmd = """hg ci -m 'commited %s' %s """ % (i, modified_file)
909
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
287 Command(cwd).execute(cmd)
896
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
288
909
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
289 Command(cwd).execute('hg push %s' % clone_url)
896
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
290
897
a7efcee0f399 updated mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 896
diff changeset
291 def test_push_wrong_path():
909
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
292 cwd = path = jn(TESTS_TMP_PATH, HG_REPO)
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
293 added_file = jn(path, 'somefile.py')
896
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
294
897
a7efcee0f399 updated mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 896
diff changeset
295 try:
909
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
296 shutil.rmtree(path, ignore_errors=True)
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
297 os.makedirs(path)
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
298 print 'made dirs %s' % jn(path)
897
a7efcee0f399 updated mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 896
diff changeset
299 except OSError:
909
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
300 raise
897
a7efcee0f399 updated mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 896
diff changeset
301
909
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
302 Command(cwd).execute("""echo '' > %s""" % added_file)
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
303 Command(cwd).execute("""hg init %s""" % path)
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
304 Command(cwd).execute("""hg add %s""" % added_file)
897
a7efcee0f399 updated mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 896
diff changeset
305
a7efcee0f399 updated mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 896
diff changeset
306 for i in xrange(2):
a7efcee0f399 updated mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 896
diff changeset
307 cmd = """echo 'added_line%s' >> %s""" % (i, added_file)
909
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
308 Command(cwd).execute(cmd)
897
a7efcee0f399 updated mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 896
diff changeset
309
a7efcee0f399 updated mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 896
diff changeset
310 cmd = """hg ci -m 'commited new %s' %s """ % (i, added_file)
909
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
311 Command(cwd).execute(cmd)
897
a7efcee0f399 updated mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 896
diff changeset
312
909
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
313 clone_url = 'http://%(user)s:%(pass)s@%(host)s/%(cloned_repo)s' % \
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
314 {'user':USER,
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
315 'pass':PASS,
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
316 'host':HOST,
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
317 'cloned_repo':HG_REPO + '_error',
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
318 'dest':jn(TESTS_TMP_PATH, HG_REPO)}
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
319
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
320 stdout, stderr = Command(cwd).execute('hg push %s' % clone_url)
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
321 assert """abort: HTTP Error 403: Forbidden""" in stderr
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
322
896
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
323
af65ca7e5c2b changed mercurial test operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 809
diff changeset
324 if __name__ == '__main__':
1008
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
325 create_test_user(force=False)
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
326 create_test_repo()
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
327 #test_push_modify_file()
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
328 #test_clone()
a9421a8a874f updated testing script for hg operations
Marcin Kuzminski <marcin@python-works.com>
parents: 988
diff changeset
329 #test_clone_anonymous_ok()
910
811fa5d45de8 Rewrite simehg for enabling cloning with raw url for anonymous access + some optimizations for making less queries when authenticating users.
Marcin Kuzminski <marcin@python-works.com>
parents: 909
diff changeset
330
811fa5d45de8 Rewrite simehg for enabling cloning with raw url for anonymous access + some optimizations for making less queries when authenticating users.
Marcin Kuzminski <marcin@python-works.com>
parents: 909
diff changeset
331 #test_clone_wrong_credentials()
988
7f4943c90876 fixed test hg operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 930
diff changeset
332
1296
1bd6ed0f38b1 small fixes to test_hg_operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 1277
diff changeset
333 test_pull()
1bd6ed0f38b1 small fixes to test_hg_operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 1277
diff changeset
334 test_push_new_file(commits=2, with_clone=True)
1bd6ed0f38b1 small fixes to test_hg_operations script
Marcin Kuzminski <marcin@python-works.com>
parents: 1277
diff changeset
335
909
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
336 #test_push_wrong_path()
1f0e37c0854d fixed hg operations test script
Marcin Kuzminski <marcin@python-works.com>
parents: 897
diff changeset
337 #test_push_wrong_credentials()