Mercurial > kallithea
annotate rhodecode/tests/__init__.py @ 3774:60335b702a00 beta
invalidation: don't create CacheInvalidation records on startup
Creating the records early gave an advantage before lightweight was introduced.
With lightweight it is no longer necessary.
The records will be created on demand anyway and there is no reason to create and
maintain them before they are used.
author | Mads Kiilerich <madski@unity3d.com> |
---|---|
date | Wed, 03 Apr 2013 15:56:12 +0200 |
parents | ff2ea58debb5 |
children | 3563bb7b4b82 d7488551578e |
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 | |
3646
63e49418a4cc
Use only mustcontain for testing response body
Marcin Kuzminski <marcin@python-works.com>
parents:
3637
diff
changeset
|
36 from nose.plugins.skip import SkipTest |
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
|
37 |
2254
8b1a79ad7a42
fix windows test issue with tzset()
Marcin Kuzminski <marcin@python-works.com>
parents:
1818
diff
changeset
|
38 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
|
39 from rhodecode.model.meta import Session |
1712
cac5109ac3b6
Notification system improvements
Marcin Kuzminski <marcin@python-works.com>
parents:
1707
diff
changeset
|
40 from rhodecode.model.db import User |
2466
7010dc12f10c
Added rewritten validators module + tests
Marcin Kuzminski <marcin@python-works.com>
parents:
2459
diff
changeset
|
41 from rhodecode.tests.nose_parametrized import parameterized |
2478
8eab81115660
white space cleanup
Marcin Kuzminski <marcin@python-works.com>
parents:
2466
diff
changeset
|
42 |
1707
54fda6ce9e98
fixes timezone issues with tests
Marcin Kuzminski <marcin@python-works.com>
parents:
1628
diff
changeset
|
43 import pylons.test |
3550
7abbb77b02d0
Repo size - show just the size without duplicating text
Marcin Kuzminski <marcin@python-works.com>
parents:
3459
diff
changeset
|
44 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
|
45 |
2451
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
46 |
1707
54fda6ce9e98
fixes timezone issues with tests
Marcin Kuzminski <marcin@python-works.com>
parents:
1628
diff
changeset
|
47 os.environ['TZ'] = 'UTC' |
2254
8b1a79ad7a42
fix windows test issue with tzset()
Marcin Kuzminski <marcin@python-works.com>
parents:
1818
diff
changeset
|
48 if not is_windows: |
8b1a79ad7a42
fix windows test issue with tzset()
Marcin Kuzminski <marcin@python-works.com>
parents:
1818
diff
changeset
|
49 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
|
50 |
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
|
51 log = logging.getLogger(__name__) |
473
6b934c9607e7
Improved testing scenarios. Made test env creator
Marcin Kuzminski <marcin@python-works.com>
parents:
469
diff
changeset
|
52 |
1758
a87aa385f21c
fixed repo_create permission by adding missing commit statements
Marcin Kuzminski <marcin@python-works.com>
parents:
1723
diff
changeset
|
53 __all__ = [ |
2466
7010dc12f10c
Added rewritten validators module + tests
Marcin Kuzminski <marcin@python-works.com>
parents:
2459
diff
changeset
|
54 'parameterized', 'environ', 'url', 'get_new_dir', 'TestController', |
3674
ff2ea58debb5
fixed ldap tests when ldap lib is installed
Marcin Kuzminski <marcin@python-works.com>
parents:
3647
diff
changeset
|
55 'SkipTest', 'ldap_lib_installed', |
2466
7010dc12f10c
Added rewritten validators module + tests
Marcin Kuzminski <marcin@python-works.com>
parents:
2459
diff
changeset
|
56 '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
|
57 '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
|
58 '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
|
59 '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
|
60 '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
|
61 '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
|
62 'TEST_GIT_REPO_CLONE', 'TEST_GIT_REPO_PULL', 'HG_REMOTE_REPO', |
3647
8a86836fad64
more usage of fixture tools
Marcin Kuzminski <marcin@python-works.com>
parents:
3646
diff
changeset
|
63 'GIT_REMOTE_REPO', 'SCM_TESTS', |
1758
a87aa385f21c
fixed repo_create permission by adding missing commit statements
Marcin Kuzminski <marcin@python-works.com>
parents:
1723
diff
changeset
|
64 ] |
0 | 65 |
66 # Invoke websetup with the current config file | |
1628
de71a4bde097
Some code cleanups and fixes
Marcin Kuzminski <marcin@python-works.com>
parents:
1594
diff
changeset
|
67 # 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
|
68 |
0 | 69 environ = {} |
70 | |
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
|
71 #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
|
72 |
1397
dc960653f8d2
Added new random directory for each test to be better sandboxed
Marcin Kuzminski <marcin@python-works.com>
parents:
1389
diff
changeset
|
73 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
|
74 TEST_USER_ADMIN_LOGIN = 'test_admin' |
df04752daa64
test env update
Marcin Kuzminski <marcin@python-works.com>
parents:
1397
diff
changeset
|
75 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
|
76 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
|
77 |
a87aa385f21c
fixed repo_create permission by adding missing commit statements
Marcin Kuzminski <marcin@python-works.com>
parents:
1723
diff
changeset
|
78 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
|
79 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
|
80 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
|
81 |
a87aa385f21c
fixed repo_create permission by adding missing commit statements
Marcin Kuzminski <marcin@python-works.com>
parents:
1723
diff
changeset
|
82 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
|
83 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
|
84 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
|
85 |
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
|
86 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
|
87 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
|
88 |
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_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
|
90 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
|
91 |
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 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
|
93 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
|
94 |
2451
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
95 ## VCS |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
96 SCM_TESTS = ['hg', 'git'] |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
97 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
|
98 |
2459
9492ab68331f
Initial version of landing revisions ref #483
Marcin Kuzminski <marcin@python-works.com>
parents:
2451
diff
changeset
|
99 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
|
100 |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
101 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
|
102 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
|
103 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
|
104 |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
105 |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
106 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
|
107 |
9492ab68331f
Initial version of landing revisions ref #483
Marcin Kuzminski <marcin@python-works.com>
parents:
2451
diff
changeset
|
108 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
|
109 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
|
110 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
|
111 |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
112 TEST_DIR = tempfile.gettempdir() |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
113 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
|
114 |
2459
9492ab68331f
Initial version of landing revisions ref #483
Marcin Kuzminski <marcin@python-works.com>
parents:
2451
diff
changeset
|
115 # cached repos if any ! |
9492ab68331f
Initial version of landing revisions ref #483
Marcin Kuzminski <marcin@python-works.com>
parents:
2451
diff
changeset
|
116 # 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
|
117 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
|
118 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
|
119 |
3674
ff2ea58debb5
fixed ldap tests when ldap lib is installed
Marcin Kuzminski <marcin@python-works.com>
parents:
3647
diff
changeset
|
120 #skip ldap tests if LDAP lib is not installed |
ff2ea58debb5
fixed ldap tests when ldap lib is installed
Marcin Kuzminski <marcin@python-works.com>
parents:
3647
diff
changeset
|
121 ldap_lib_installed = False |
ff2ea58debb5
fixed ldap tests when ldap lib is installed
Marcin Kuzminski <marcin@python-works.com>
parents:
3647
diff
changeset
|
122 try: |
ff2ea58debb5
fixed ldap tests when ldap lib is installed
Marcin Kuzminski <marcin@python-works.com>
parents:
3647
diff
changeset
|
123 import ldap |
ff2ea58debb5
fixed ldap tests when ldap lib is installed
Marcin Kuzminski <marcin@python-works.com>
parents:
3647
diff
changeset
|
124 ldap_lib_installed = True |
ff2ea58debb5
fixed ldap tests when ldap lib is installed
Marcin Kuzminski <marcin@python-works.com>
parents:
3647
diff
changeset
|
125 except ImportError: |
ff2ea58debb5
fixed ldap tests when ldap lib is installed
Marcin Kuzminski <marcin@python-works.com>
parents:
3647
diff
changeset
|
126 # means that python-ldap is not installed |
ff2ea58debb5
fixed ldap tests when ldap lib is installed
Marcin Kuzminski <marcin@python-works.com>
parents:
3647
diff
changeset
|
127 pass |
ff2ea58debb5
fixed ldap tests when ldap lib is installed
Marcin Kuzminski <marcin@python-works.com>
parents:
3647
diff
changeset
|
128 |
2451
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
129 |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
130 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
|
131 """ |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
132 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
|
133 """ |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
134 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
|
135 name = TEST_REPO_PREFIX |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
136 if title: |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
137 name = '-'.join((name, title)) |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
138 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
|
139 name = '-'.join((name, hex)) |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
140 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
|
141 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
|
142 |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
143 |
0 | 144 class TestController(TestCase): |
145 | |
146 def __init__(self, *args, **kwargs): | |
459
7c978511c951
implemented basic (startup) nose test suite.
Marcin Kuzminski <marcin@python-works.com>
parents:
0
diff
changeset
|
147 wsgiapp = pylons.test.pylonsapp |
7c978511c951
implemented basic (startup) nose test suite.
Marcin Kuzminski <marcin@python-works.com>
parents:
0
diff
changeset
|
148 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
|
149 |
0 | 150 self.app = TestApp(wsgiapp) |
151 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
|
152 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
|
153 self.index_location = config['app_conf']['index_dir'] |
0 | 154 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
|
155 |
1416
df04752daa64
test env update
Marcin Kuzminski <marcin@python-works.com>
parents:
1397
diff
changeset
|
156 def log_user(self, username=TEST_USER_ADMIN_LOGIN, |
df04752daa64
test env update
Marcin Kuzminski <marcin@python-works.com>
parents:
1397
diff
changeset
|
157 password=TEST_USER_ADMIN_PASS): |
1712
cac5109ac3b6
Notification system improvements
Marcin Kuzminski <marcin@python-works.com>
parents:
1707
diff
changeset
|
158 self._logged_username = username |
464
cbe777be5b8c
some more basic tests
Marcin Kuzminski <marcin@python-works.com>
parents:
463
diff
changeset
|
159 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
|
160 {'username': username, |
402a96fcfa22
Added vcs testsuite for better integration tests + added fetching
Marcin Kuzminski <marcin@python-works.com>
parents:
2254
diff
changeset
|
161 'password': password}) |
1712
cac5109ac3b6
Notification system improvements
Marcin Kuzminski <marcin@python-works.com>
parents:
1707
diff
changeset
|
162 |
534
12c976209b2e
fixed test for new version 100% test are ok
Marcin Kuzminski <marcin@python-works.com>
parents:
533
diff
changeset
|
163 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
|
164 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
|
165 |
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
|
166 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
|
167 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
|
168 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
|
169 response = response.follow() |
64e91067b996
- refactoring to overcome poor usage of global pylons config
Marcin Kuzminski <marcin@python-works.com>
parents:
1718
diff
changeset
|
170 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
|
171 |
64e91067b996
- refactoring to overcome poor usage of global pylons config
Marcin Kuzminski <marcin@python-works.com>
parents:
1718
diff
changeset
|
172 return response.session['rhodecode_user'] |
1382
c310e1e1e757
Added CheckSessionFlash into init.
Marcin Kuzminski <marcin@python-works.com>
parents:
1366
diff
changeset
|
173 |
1712
cac5109ac3b6
Notification system improvements
Marcin Kuzminski <marcin@python-works.com>
parents:
1707
diff
changeset
|
174 def _get_logged_user(self): |
cac5109ac3b6
Notification system improvements
Marcin Kuzminski <marcin@python-works.com>
parents:
1707
diff
changeset
|
175 return User.get_by_username(self._logged_username) |
cac5109ac3b6
Notification system improvements
Marcin Kuzminski <marcin@python-works.com>
parents:
1707
diff
changeset
|
176 |
1382
c310e1e1e757
Added CheckSessionFlash into init.
Marcin Kuzminski <marcin@python-works.com>
parents:
1366
diff
changeset
|
177 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
|
178 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
|
179 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
|
180 % response.session) |
2530
f17e001cc6cc
better error message in checkSession in tests
Marcin Kuzminski <marcin@python-works.com>
parents:
2478
diff
changeset
|
181 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
|
182 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
|
183 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
|
184 self.fail(safe_str(msg)) |