Mercurial > kallithea
annotate rhodecode/tests/__init__.py @ 3637:58c2b54540d2 beta
tests docs
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Fri, 29 Mar 2013 23:58:07 +0100 |
parents | 7abbb77b02d0 |
children | 63e49418a4cc |
rev | line source |
---|---|
0 | 1 """Pylons application test package |
2 | |
3 This package assumes the Pylons environment is already loaded, such as | |
4 when this script is imported from the `nosetests --with-pylons=test.ini` | |
5 command. | |
6 | |
7 This module initializes the application via ``websetup`` (`paster | |
8 setup-app`) and provides the base testing objects. | |
3637 | 9 |
10 nosetests -x - fail on first error | |
11 nosetests rhodecode.tests.functional.test_admin_settings:TestSettingsController.test_my_account | |
12 nosetests --pdb --pdb-failures | |
13 nosetests --with-coverage --cover-package=rhodecode.model.validators rhodecode.tests.test_validators | |
14 | |
15 optional FLAGS: | |
16 RC_WHOOSH_TEST_DISABLE=1 - skip whoosh index building and tests | |
17 RC_NO_TMP_PATH=1 - disable new temp path for tests, used mostly for test_vcs_operations | |
18 | |
0 | 19 """ |
1366
9c0f5d558789
fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents:
1047
diff
changeset
|
20 import os |
1707
54fda6ce9e98
fixes timezone issues with tests
Marcin Kuzminski <marcin@python-works.com>
parents:
1628
diff
changeset
|
21 import time |
1712
cac5109ac3b6
Notification system improvements
Marcin Kuzminski <marcin@python-works.com>
parents:
1707
diff
changeset
|
22 import logging |
2451
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
23 import datetime |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
24 import hashlib |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
25 import tempfile |
1366
9c0f5d558789
fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents:
1047
diff
changeset
|
26 from os.path import join as jn |
9c0f5d558789
fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents:
1047
diff
changeset
|
27 |
0 | 28 from unittest import TestCase |
1723
64e91067b996
- refactoring to overcome poor usage of global pylons config
Marcin Kuzminski <marcin@python-works.com>
parents:
1718
diff
changeset
|
29 from tempfile import _RandomNameSequence |
0 | 30 |
31 from paste.deploy import loadapp | |
32 from paste.script.appinstall import SetupCommand | |
33 from pylons import config, url | |
34 from routes.util import URLGenerator | |
35 from webtest import TestApp | |
1366
9c0f5d558789
fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents:
1047
diff
changeset
|
36 |
2254
8b1a79ad7a42
fix windows test issue with tzset()
Marcin Kuzminski <marcin@python-works.com>
parents:
1818
diff
changeset
|
37 from rhodecode import is_windows |
1723
64e91067b996
- refactoring to overcome poor usage of global pylons config
Marcin Kuzminski <marcin@python-works.com>
parents:
1718
diff
changeset
|
38 from rhodecode.model.meta import Session |
1712
cac5109ac3b6
Notification system improvements
Marcin Kuzminski <marcin@python-works.com>
parents:
1707
diff
changeset
|
39 from rhodecode.model.db import User |
2466
7010dc12f10c
Added rewritten validators module + tests
Marcin Kuzminski <marcin@python-works.com>
parents:
2459
diff
changeset
|
40 from rhodecode.tests.nose_parametrized import parameterized |
2478
8eab81115660
white space cleanup
Marcin Kuzminski <marcin@python-works.com>
parents:
2466
diff
changeset
|
41 |
1707
54fda6ce9e98
fixes timezone issues with tests
Marcin Kuzminski <marcin@python-works.com>
parents:
1628
diff
changeset
|
42 import pylons.test |
3550
7abbb77b02d0
Repo size - show just the size without duplicating text
Marcin Kuzminski <marcin@python-works.com>
parents:
3459
diff
changeset
|
43 from rhodecode.lib.utils2 import safe_unicode, safe_str |
1707
54fda6ce9e98
fixes timezone issues with tests
Marcin Kuzminski <marcin@python-works.com>
parents:
1628
diff
changeset
|
44 |
2451
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
45 |
1707
54fda6ce9e98
fixes timezone issues with tests
Marcin Kuzminski <marcin@python-works.com>
parents:
1628
diff
changeset
|
46 os.environ['TZ'] = 'UTC' |
2254
8b1a79ad7a42
fix windows test issue with tzset()
Marcin Kuzminski <marcin@python-works.com>
parents:
1818
diff
changeset
|
47 if not is_windows: |
8b1a79ad7a42
fix windows test issue with tzset()
Marcin Kuzminski <marcin@python-works.com>
parents:
1818
diff
changeset
|
48 time.tzset() |
491
fefffd6fd5f4
Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents:
483
diff
changeset
|
49 |
688
8acbfa837180
Tests rewrite for 1.2 added some globals configs to make tests easier.
Marcin Kuzminski <marcin@python-works.com>
parents:
548
diff
changeset
|
50 log = logging.getLogger(__name__) |
473
6b934c9607e7
Improved testing scenarios. Made test env creator
Marcin Kuzminski <marcin@python-works.com>
parents:
469
diff
changeset
|
51 |
1758
a87aa385f21c
fixed repo_create permission by adding missing commit statements
Marcin Kuzminski <marcin@python-works.com>
parents:
1723
diff
changeset
|
52 __all__ = [ |
2466
7010dc12f10c
Added rewritten validators module + tests
Marcin Kuzminski <marcin@python-works.com>
parents:
2459
diff
changeset
|
53 'parameterized', 'environ', 'url', 'get_new_dir', 'TestController', |
7010dc12f10c
Added rewritten validators module + tests
Marcin Kuzminski <marcin@python-works.com>
parents:
2459
diff
changeset
|
54 'TESTS_TMP_PATH', 'HG_REPO', 'GIT_REPO', 'NEW_HG_REPO', 'NEW_GIT_REPO', |
2728
6341084b7a2f
rewrote test_scm_operations, now run by nosetests
Marcin Kuzminski <marcin@python-works.com>
parents:
2629
diff
changeset
|
55 'HG_FORK', 'GIT_FORK', 'TEST_USER_ADMIN_LOGIN', 'TEST_USER_ADMIN_PASS', |
6341084b7a2f
rewrote test_scm_operations, now run by nosetests
Marcin Kuzminski <marcin@python-works.com>
parents:
2629
diff
changeset
|
56 'TEST_USER_REGULAR_LOGIN', 'TEST_USER_REGULAR_PASS', |
6341084b7a2f
rewrote test_scm_operations, now run by nosetests
Marcin Kuzminski <marcin@python-works.com>
parents:
2629
diff
changeset
|
57 'TEST_USER_REGULAR_EMAIL', 'TEST_USER_REGULAR2_LOGIN', |
6341084b7a2f
rewrote test_scm_operations, now run by nosetests
Marcin Kuzminski <marcin@python-works.com>
parents:
2629
diff
changeset
|
58 'TEST_USER_REGULAR2_PASS', 'TEST_USER_REGULAR2_EMAIL', 'TEST_HG_REPO', |
6341084b7a2f
rewrote test_scm_operations, now run by nosetests
Marcin Kuzminski <marcin@python-works.com>
parents:
2629
diff
changeset
|
59 'TEST_HG_REPO_CLONE', 'TEST_HG_REPO_PULL', 'TEST_GIT_REPO', |
6341084b7a2f
rewrote test_scm_operations, now run by nosetests
Marcin Kuzminski <marcin@python-works.com>
parents:
2629
diff
changeset
|
60 'TEST_GIT_REPO_CLONE', 'TEST_GIT_REPO_PULL', 'HG_REMOTE_REPO', |
3459
94f251fda314
fixed issue with renaming repos group together with changing parents with multiple nested trees
Marcin Kuzminski <marcin@python-works.com>
parents:
3219
diff
changeset
|
61 'GIT_REMOTE_REPO', 'SCM_TESTS', '_get_repo_create_params', |
94f251fda314
fixed issue with renaming repos group together with changing parents with multiple nested trees
Marcin Kuzminski <marcin@python-works.com>
parents:
3219
diff
changeset
|
62 '_get_group_create_params' |
1758
a87aa385f21c
fixed repo_create permission by adding missing commit statements
Marcin Kuzminski <marcin@python-works.com>
parents:
1723
diff
changeset
|
63 ] |
0 | 64 |
65 # Invoke websetup with the current config file | |
1628
de71a4bde097
Some code cleanups and fixes
Marcin Kuzminski <marcin@python-works.com>
parents:
1594
diff
changeset
|
66 # SetupCommand('setup-app').run([config_file]) |
491
fefffd6fd5f4
Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
Marcin Kuzminski <marcin@python-works.com>
parents:
483
diff
changeset
|
67 |
0 | 68 environ = {} |
69 | |
688
8acbfa837180
Tests rewrite for 1.2 added some globals configs to make tests easier.
Marcin Kuzminski <marcin@python-works.com>
parents:
548
diff
changeset
|
70 #SOME GLOBALS FOR TESTS |
1723
64e91067b996
- refactoring to overcome poor usage of global pylons config
Marcin Kuzminski <marcin@python-works.com>
parents:
1718
diff
changeset
|
71 |
1397
dc960653f8d2
Added new random directory for each test to be better sandboxed
Marcin Kuzminski <marcin@python-works.com>
parents:
1389
diff
changeset
|
72 TESTS_TMP_PATH = jn('/', 'tmp', 'rc_test_%s' % _RandomNameSequence().next()) |
1416
df04752daa64
test env update
Marcin Kuzminski <marcin@python-works.com>
parents:
1397
diff
changeset
|
73 TEST_USER_ADMIN_LOGIN = 'test_admin' |
df04752daa64
test env update
Marcin Kuzminski <marcin@python-works.com>
parents:
1397
diff
changeset
|
74 TEST_USER_ADMIN_PASS = 'test12' |
1758
a87aa385f21c
fixed repo_create permission by adding missing commit statements
Marcin Kuzminski <marcin@python-works.com>
parents:
1723
diff
changeset
|
75 TEST_USER_ADMIN_EMAIL = 'test_admin@mail.com' |
a87aa385f21c
fixed repo_create permission by adding missing commit statements
Marcin Kuzminski <marcin@python-works.com>
parents:
1723
diff
changeset
|
76 |
a87aa385f21c
fixed repo_create permission by adding missing commit statements
Marcin Kuzminski <marcin@python-works.com>
parents:
1723
diff
changeset
|
77 TEST_USER_REGULAR_LOGIN = 'test_regular' |
a87aa385f21c
fixed repo_create permission by adding missing commit statements
Marcin Kuzminski <marcin@python-works.com>
parents:
1723
diff
changeset
|
78 TEST_USER_REGULAR_PASS = 'test12' |
a87aa385f21c
fixed repo_create permission by adding missing commit statements
Marcin Kuzminski <marcin@python-works.com>
parents:
1723
diff
changeset
|
79 TEST_USER_REGULAR_EMAIL = 'test_regular@mail.com' |
a87aa385f21c
fixed repo_create permission by adding missing commit statements
Marcin Kuzminski <marcin@python-works.com>
parents:
1723
diff
changeset
|
80 |
a87aa385f21c
fixed repo_create permission by adding missing commit statements
Marcin Kuzminski <marcin@python-works.com>
parents:
1723
diff
changeset
|
81 TEST_USER_REGULAR2_LOGIN = 'test_regular2' |
a87aa385f21c
fixed repo_create permission by adding missing commit statements
Marcin Kuzminski <marcin@python-works.com>
parents:
1723
diff
changeset
|
82 TEST_USER_REGULAR2_PASS = 'test12' |
a87aa385f21c
fixed repo_create permission by adding missing commit statements
Marcin Kuzminski <marcin@python-works.com>
parents:
1723
diff
changeset
|
83 TEST_USER_REGULAR2_EMAIL = 'test_regular2@mail.com' |
a87aa385f21c
fixed repo_create permission by adding missing commit statements
Marcin Kuzminski <marcin@python-works.com>
parents:
1723
diff
changeset
|
84 |
688
8acbfa837180
Tests rewrite for 1.2 added some globals configs to make tests easier.
Marcin Kuzminski <marcin@python-works.com>
parents:
548
diff
changeset
|
85 HG_REPO = 'vcs_test_hg' |
8acbfa837180
Tests rewrite for 1.2 added some globals configs to make tests easier.
Marcin Kuzminski <marcin@python-works.com>
parents:
548
diff
changeset
|
86 GIT_REPO = 'vcs_test_git' |
8acbfa837180
Tests rewrite for 1.2 added some globals configs to make tests easier.
Marcin Kuzminski <marcin@python-works.com>
parents:
548
diff
changeset
|
87 |
8acbfa837180
Tests rewrite for 1.2 added some globals configs to make tests easier.
Marcin Kuzminski <marcin@python-works.com>
parents:
548
diff
changeset
|
88 NEW_HG_REPO = 'vcs_test_hg_new' |
8acbfa837180
Tests rewrite for 1.2 added some globals configs to make tests easier.
Marcin Kuzminski <marcin@python-works.com>
parents:
548
diff
changeset
|
89 NEW_GIT_REPO = 'vcs_test_git_new' |
8acbfa837180
Tests rewrite for 1.2 added some globals configs to make tests easier.
Marcin Kuzminski <marcin@python-works.com>
parents:
548
diff
changeset
|
90 |
8acbfa837180
Tests rewrite for 1.2 added some globals configs to make tests easier.
Marcin Kuzminski <marcin@python-works.com>
parents:
548
diff
changeset
|
91 HG_FORK = 'vcs_test_hg_fork' |
8acbfa837180
Tests rewrite for 1.2 added some globals configs to make tests easier.
Marcin Kuzminski <marcin@python-works.com>
parents:
548
diff
changeset
|
92 GIT_FORK = 'vcs_test_git_fork' |
8acbfa837180
Tests rewrite for 1.2 added some globals configs to make tests easier.
Marcin Kuzminski <marcin@python-works.com>
parents:
548
diff
changeset
|
93 |
2451
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
94 ## VCS |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
95 SCM_TESTS = ['hg', 'git'] |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
96 uniq_suffix = str(int(time.mktime(datetime.datetime.now().timetuple()))) |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
97 |
2459
9492ab68331f
Initial version of landing revisions ref #483
Marcin Kuzminski <marcin@python-works.com>
parents:
2451
diff
changeset
|
98 GIT_REMOTE_REPO = 'git://github.com/codeinn/vcs.git' |
2451
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
99 |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
100 TEST_GIT_REPO = jn(TESTS_TMP_PATH, GIT_REPO) |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
101 TEST_GIT_REPO_CLONE = jn(TESTS_TMP_PATH, 'vcsgitclone%s' % uniq_suffix) |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
102 TEST_GIT_REPO_PULL = jn(TESTS_TMP_PATH, 'vcsgitpull%s' % uniq_suffix) |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
103 |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
104 |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
105 HG_REMOTE_REPO = 'http://bitbucket.org/marcinkuzminski/vcs' |
2459
9492ab68331f
Initial version of landing revisions ref #483
Marcin Kuzminski <marcin@python-works.com>
parents:
2451
diff
changeset
|
106 |
9492ab68331f
Initial version of landing revisions ref #483
Marcin Kuzminski <marcin@python-works.com>
parents:
2451
diff
changeset
|
107 TEST_HG_REPO = jn(TESTS_TMP_PATH, HG_REPO) |
2451
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
108 TEST_HG_REPO_CLONE = jn(TESTS_TMP_PATH, 'vcshgclone%s' % uniq_suffix) |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
109 TEST_HG_REPO_PULL = jn(TESTS_TMP_PATH, 'vcshgpull%s' % uniq_suffix) |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
110 |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
111 TEST_DIR = tempfile.gettempdir() |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
112 TEST_REPO_PREFIX = 'vcs-test' |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
113 |
2459
9492ab68331f
Initial version of landing revisions ref #483
Marcin Kuzminski <marcin@python-works.com>
parents:
2451
diff
changeset
|
114 # cached repos if any ! |
9492ab68331f
Initial version of landing revisions ref #483
Marcin Kuzminski <marcin@python-works.com>
parents:
2451
diff
changeset
|
115 # comment out to get some other repos from bb or github |
9492ab68331f
Initial version of landing revisions ref #483
Marcin Kuzminski <marcin@python-works.com>
parents:
2451
diff
changeset
|
116 GIT_REMOTE_REPO = jn(TESTS_TMP_PATH, GIT_REPO) |
9492ab68331f
Initial version of landing revisions ref #483
Marcin Kuzminski <marcin@python-works.com>
parents:
2451
diff
changeset
|
117 HG_REMOTE_REPO = jn(TESTS_TMP_PATH, HG_REPO) |
9492ab68331f
Initial version of landing revisions ref #483
Marcin Kuzminski <marcin@python-works.com>
parents:
2451
diff
changeset
|
118 |
2451
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
119 |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
120 def get_new_dir(title): |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
121 """ |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
122 Returns always new directory path. |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
123 """ |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
124 from rhodecode.tests.vcs.utils import get_normalized_path |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
125 name = TEST_REPO_PREFIX |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
126 if title: |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
127 name = '-'.join((name, title)) |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
128 hex = hashlib.sha1(str(time.time())).hexdigest() |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
129 name = '-'.join((name, hex)) |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
130 path = os.path.join(TEST_DIR, name) |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
131 return get_normalized_path(path) |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
132 |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
133 |
0 | 134 class TestController(TestCase): |
135 | |
136 def __init__(self, *args, **kwargs): | |
459
7c978511c951
implemented basic (startup) nose test suite.
Marcin Kuzminski <marcin@python-works.com>
parents:
0
diff
changeset
|
137 wsgiapp = pylons.test.pylonsapp |
7c978511c951
implemented basic (startup) nose test suite.
Marcin Kuzminski <marcin@python-works.com>
parents:
0
diff
changeset
|
138 config = wsgiapp.config |
688
8acbfa837180
Tests rewrite for 1.2 added some globals configs to make tests easier.
Marcin Kuzminski <marcin@python-works.com>
parents:
548
diff
changeset
|
139 |
0 | 140 self.app = TestApp(wsgiapp) |
141 url._push_object(URLGenerator(config['routes.map'], environ)) | |
1723
64e91067b996
- refactoring to overcome poor usage of global pylons config
Marcin Kuzminski <marcin@python-works.com>
parents:
1718
diff
changeset
|
142 self.Session = Session |
688
8acbfa837180
Tests rewrite for 1.2 added some globals configs to make tests easier.
Marcin Kuzminski <marcin@python-works.com>
parents:
548
diff
changeset
|
143 self.index_location = config['app_conf']['index_dir'] |
0 | 144 TestCase.__init__(self, *args, **kwargs) |
688
8acbfa837180
Tests rewrite for 1.2 added some globals configs to make tests easier.
Marcin Kuzminski <marcin@python-works.com>
parents:
548
diff
changeset
|
145 |
1416
df04752daa64
test env update
Marcin Kuzminski <marcin@python-works.com>
parents:
1397
diff
changeset
|
146 def log_user(self, username=TEST_USER_ADMIN_LOGIN, |
df04752daa64
test env update
Marcin Kuzminski <marcin@python-works.com>
parents:
1397
diff
changeset
|
147 password=TEST_USER_ADMIN_PASS): |
1712
cac5109ac3b6
Notification system improvements
Marcin Kuzminski <marcin@python-works.com>
parents:
1707
diff
changeset
|
148 self._logged_username = username |
464
cbe777be5b8c
some more basic tests
Marcin Kuzminski <marcin@python-works.com>
parents:
463
diff
changeset
|
149 response = self.app.post(url(controller='login', action='index'), |
2451
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
150 {'username': username, |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
151 'password': password}) |
1712
cac5109ac3b6
Notification system improvements
Marcin Kuzminski <marcin@python-works.com>
parents:
1707
diff
changeset
|
152 |
534
12c976209b2e
fixed test for new version 100% test are ok
Marcin Kuzminski <marcin@python-works.com>
parents:
533
diff
changeset
|
153 if 'invalid user name' in response.body: |
1366
9c0f5d558789
fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents:
1047
diff
changeset
|
154 self.fail('could not login using %s %s' % (username, password)) |
688
8acbfa837180
Tests rewrite for 1.2 added some globals configs to make tests easier.
Marcin Kuzminski <marcin@python-works.com>
parents:
548
diff
changeset
|
155 |
1366
9c0f5d558789
fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached
Marcin Kuzminski <marcin@python-works.com>
parents:
1047
diff
changeset
|
156 self.assertEqual(response.status, '302 Found') |
1723
64e91067b996
- refactoring to overcome poor usage of global pylons config
Marcin Kuzminski <marcin@python-works.com>
parents:
1718
diff
changeset
|
157 ses = response.session['rhodecode_user'] |
64e91067b996
- refactoring to overcome poor usage of global pylons config
Marcin Kuzminski <marcin@python-works.com>
parents:
1718
diff
changeset
|
158 self.assertEqual(ses.get('username'), username) |
64e91067b996
- refactoring to overcome poor usage of global pylons config
Marcin Kuzminski <marcin@python-works.com>
parents:
1718
diff
changeset
|
159 response = response.follow() |
64e91067b996
- refactoring to overcome poor usage of global pylons config
Marcin Kuzminski <marcin@python-works.com>
parents:
1718
diff
changeset
|
160 self.assertEqual(ses.get('is_authenticated'), True) |
64e91067b996
- refactoring to overcome poor usage of global pylons config
Marcin Kuzminski <marcin@python-works.com>
parents:
1718
diff
changeset
|
161 |
64e91067b996
- refactoring to overcome poor usage of global pylons config
Marcin Kuzminski <marcin@python-works.com>
parents:
1718
diff
changeset
|
162 return response.session['rhodecode_user'] |
1382
c310e1e1e757
Added CheckSessionFlash into init.
Marcin Kuzminski <marcin@python-works.com>
parents:
1366
diff
changeset
|
163 |
1712
cac5109ac3b6
Notification system improvements
Marcin Kuzminski <marcin@python-works.com>
parents:
1707
diff
changeset
|
164 def _get_logged_user(self): |
cac5109ac3b6
Notification system improvements
Marcin Kuzminski <marcin@python-works.com>
parents:
1707
diff
changeset
|
165 return User.get_by_username(self._logged_username) |
cac5109ac3b6
Notification system improvements
Marcin Kuzminski <marcin@python-works.com>
parents:
1707
diff
changeset
|
166 |
1382
c310e1e1e757
Added CheckSessionFlash into init.
Marcin Kuzminski <marcin@python-works.com>
parents:
1366
diff
changeset
|
167 def checkSessionFlash(self, response, msg): |
3219
42d7ca49d073
added test for setting repo as private which should set perm => None for default user
Marcin Kuzminski <marcin@python-works.com>
parents:
3057
diff
changeset
|
168 self.assertTrue('flash' in response.session, |
3550
7abbb77b02d0
Repo size - show just the size without duplicating text
Marcin Kuzminski <marcin@python-works.com>
parents:
3459
diff
changeset
|
169 msg='Response session:%r have no flash' |
7abbb77b02d0
Repo size - show just the size without duplicating text
Marcin Kuzminski <marcin@python-works.com>
parents:
3459
diff
changeset
|
170 % response.session) |
2530
f17e001cc6cc
better error message in checkSession in tests
Marcin Kuzminski <marcin@python-works.com>
parents:
2478
diff
changeset
|
171 if not msg in response.session['flash'][0][1]: |
3550
7abbb77b02d0
Repo size - show just the size without duplicating text
Marcin Kuzminski <marcin@python-works.com>
parents:
3459
diff
changeset
|
172 msg = u'msg `%s` not found in session flash: got `%s` instead' % ( |
7abbb77b02d0
Repo size - show just the size without duplicating text
Marcin Kuzminski <marcin@python-works.com>
parents:
3459
diff
changeset
|
173 msg, response.session['flash'][0][1]) |
7abbb77b02d0
Repo size - show just the size without duplicating text
Marcin Kuzminski <marcin@python-works.com>
parents:
3459
diff
changeset
|
174 self.fail(safe_str(msg)) |
3056
6104dfd35b16
Implemented #379 defaults settings page for creation of repositories
Marcin Kuzminski <marcin@python-works.com>
parents:
2728
diff
changeset
|
175 |
6104dfd35b16
Implemented #379 defaults settings page for creation of repositories
Marcin Kuzminski <marcin@python-works.com>
parents:
2728
diff
changeset
|
176 |
6104dfd35b16
Implemented #379 defaults settings page for creation of repositories
Marcin Kuzminski <marcin@python-works.com>
parents:
2728
diff
changeset
|
177 ## HELPERS ## |
6104dfd35b16
Implemented #379 defaults settings page for creation of repositories
Marcin Kuzminski <marcin@python-works.com>
parents:
2728
diff
changeset
|
178 |
6104dfd35b16
Implemented #379 defaults settings page for creation of repositories
Marcin Kuzminski <marcin@python-works.com>
parents:
2728
diff
changeset
|
179 def _get_repo_create_params(**custom): |
6104dfd35b16
Implemented #379 defaults settings page for creation of repositories
Marcin Kuzminski <marcin@python-works.com>
parents:
2728
diff
changeset
|
180 defs = { |
6104dfd35b16
Implemented #379 defaults settings page for creation of repositories
Marcin Kuzminski <marcin@python-works.com>
parents:
2728
diff
changeset
|
181 'repo_name': None, |
6104dfd35b16
Implemented #379 defaults settings page for creation of repositories
Marcin Kuzminski <marcin@python-works.com>
parents:
2728
diff
changeset
|
182 'repo_type': 'hg', |
6104dfd35b16
Implemented #379 defaults settings page for creation of repositories
Marcin Kuzminski <marcin@python-works.com>
parents:
2728
diff
changeset
|
183 'clone_uri': '', |
6104dfd35b16
Implemented #379 defaults settings page for creation of repositories
Marcin Kuzminski <marcin@python-works.com>
parents:
2728
diff
changeset
|
184 'repo_group': '', |
6104dfd35b16
Implemented #379 defaults settings page for creation of repositories
Marcin Kuzminski <marcin@python-works.com>
parents:
2728
diff
changeset
|
185 'repo_description': 'DESC', |
6104dfd35b16
Implemented #379 defaults settings page for creation of repositories
Marcin Kuzminski <marcin@python-works.com>
parents:
2728
diff
changeset
|
186 'repo_private': False, |
6104dfd35b16
Implemented #379 defaults settings page for creation of repositories
Marcin Kuzminski <marcin@python-works.com>
parents:
2728
diff
changeset
|
187 'repo_landing_rev': 'tip' |
6104dfd35b16
Implemented #379 defaults settings page for creation of repositories
Marcin Kuzminski <marcin@python-works.com>
parents:
2728
diff
changeset
|
188 } |
6104dfd35b16
Implemented #379 defaults settings page for creation of repositories
Marcin Kuzminski <marcin@python-works.com>
parents:
2728
diff
changeset
|
189 defs.update(custom) |
6104dfd35b16
Implemented #379 defaults settings page for creation of repositories
Marcin Kuzminski <marcin@python-works.com>
parents:
2728
diff
changeset
|
190 if 'repo_name_full' not in custom: |
6104dfd35b16
Implemented #379 defaults settings page for creation of repositories
Marcin Kuzminski <marcin@python-works.com>
parents:
2728
diff
changeset
|
191 defs.update({'repo_name_full': defs['repo_name']}) |
6104dfd35b16
Implemented #379 defaults settings page for creation of repositories
Marcin Kuzminski <marcin@python-works.com>
parents:
2728
diff
changeset
|
192 |
6104dfd35b16
Implemented #379 defaults settings page for creation of repositories
Marcin Kuzminski <marcin@python-works.com>
parents:
2728
diff
changeset
|
193 return defs |
3459
94f251fda314
fixed issue with renaming repos group together with changing parents with multiple nested trees
Marcin Kuzminski <marcin@python-works.com>
parents:
3219
diff
changeset
|
194 |
94f251fda314
fixed issue with renaming repos group together with changing parents with multiple nested trees
Marcin Kuzminski <marcin@python-works.com>
parents:
3219
diff
changeset
|
195 |
94f251fda314
fixed issue with renaming repos group together with changing parents with multiple nested trees
Marcin Kuzminski <marcin@python-works.com>
parents:
3219
diff
changeset
|
196 def _get_group_create_params(**custom): |
94f251fda314
fixed issue with renaming repos group together with changing parents with multiple nested trees
Marcin Kuzminski <marcin@python-works.com>
parents:
3219
diff
changeset
|
197 defs = dict( |
94f251fda314
fixed issue with renaming repos group together with changing parents with multiple nested trees
Marcin Kuzminski <marcin@python-works.com>
parents:
3219
diff
changeset
|
198 group_name=None, |
94f251fda314
fixed issue with renaming repos group together with changing parents with multiple nested trees
Marcin Kuzminski <marcin@python-works.com>
parents:
3219
diff
changeset
|
199 group_description='DESC', |
94f251fda314
fixed issue with renaming repos group together with changing parents with multiple nested trees
Marcin Kuzminski <marcin@python-works.com>
parents:
3219
diff
changeset
|
200 group_parent_id=None, |
94f251fda314
fixed issue with renaming repos group together with changing parents with multiple nested trees
Marcin Kuzminski <marcin@python-works.com>
parents:
3219
diff
changeset
|
201 perms_updates=[], |
94f251fda314
fixed issue with renaming repos group together with changing parents with multiple nested trees
Marcin Kuzminski <marcin@python-works.com>
parents:
3219
diff
changeset
|
202 perms_new=[], |
94f251fda314
fixed issue with renaming repos group together with changing parents with multiple nested trees
Marcin Kuzminski <marcin@python-works.com>
parents:
3219
diff
changeset
|
203 enable_locking=False, |
94f251fda314
fixed issue with renaming repos group together with changing parents with multiple nested trees
Marcin Kuzminski <marcin@python-works.com>
parents:
3219
diff
changeset
|
204 recursive=False |
94f251fda314
fixed issue with renaming repos group together with changing parents with multiple nested trees
Marcin Kuzminski <marcin@python-works.com>
parents:
3219
diff
changeset
|
205 ) |
94f251fda314
fixed issue with renaming repos group together with changing parents with multiple nested trees
Marcin Kuzminski <marcin@python-works.com>
parents:
3219
diff
changeset
|
206 defs.update(custom) |
94f251fda314
fixed issue with renaming repos group together with changing parents with multiple nested trees
Marcin Kuzminski <marcin@python-works.com>
parents:
3219
diff
changeset
|
207 |
94f251fda314
fixed issue with renaming repos group together with changing parents with multiple nested trees
Marcin Kuzminski <marcin@python-works.com>
parents:
3219
diff
changeset
|
208 return defs |