Mercurial > kallithea
diff rhodecode/tests/__init__.py @ 2776:63e58ef80ef1
Merge beta branch into stable
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sun, 02 Sep 2012 21:19:54 +0200 |
parents | a437a986d399 6341084b7a2f |
children | a5f0bc867edc |
line wrap: on
line diff
--- a/rhodecode/tests/__init__.py Sat May 19 14:54:50 2012 +0200 +++ b/rhodecode/tests/__init__.py Sun Sep 02 21:19:54 2012 +0200 @@ -10,6 +10,9 @@ import os import time import logging +import datetime +import hashlib +import tempfile from os.path import join as jn from unittest import TestCase @@ -24,9 +27,11 @@ from rhodecode import is_windows from rhodecode.model.meta import Session from rhodecode.model.db import User +from rhodecode.tests.nose_parametrized import parameterized import pylons.test + os.environ['TZ'] = 'UTC' if not is_windows: time.tzset() @@ -34,11 +39,15 @@ log = logging.getLogger(__name__) __all__ = [ - 'environ', 'url', 'TestController', 'TESTS_TMP_PATH', 'HG_REPO', - 'GIT_REPO', 'NEW_HG_REPO', 'NEW_GIT_REPO', 'HG_FORK', 'GIT_FORK', - 'TEST_USER_ADMIN_LOGIN', 'TEST_USER_REGULAR_LOGIN', 'TEST_USER_REGULAR_PASS', + 'parameterized', 'environ', 'url', 'get_new_dir', 'TestController', + 'TESTS_TMP_PATH', 'HG_REPO', 'GIT_REPO', 'NEW_HG_REPO', 'NEW_GIT_REPO', + 'HG_FORK', 'GIT_FORK', 'TEST_USER_ADMIN_LOGIN', 'TEST_USER_ADMIN_PASS', + 'TEST_USER_REGULAR_LOGIN', 'TEST_USER_REGULAR_PASS', 'TEST_USER_REGULAR_EMAIL', 'TEST_USER_REGULAR2_LOGIN', - 'TEST_USER_REGULAR2_PASS', 'TEST_USER_REGULAR2_EMAIL' + 'TEST_USER_REGULAR2_PASS', 'TEST_USER_REGULAR2_EMAIL', 'TEST_HG_REPO', + 'TEST_HG_REPO_CLONE', 'TEST_HG_REPO_PULL', 'TEST_GIT_REPO', + 'TEST_GIT_REPO_CLONE', 'TEST_GIT_REPO_PULL', 'HG_REMOTE_REPO', + 'GIT_REMOTE_REPO', 'SCM_TESTS', ] # Invoke websetup with the current config file @@ -47,6 +56,7 @@ ##RUNNING DESIRED TESTS # nosetests -x rhodecode.tests.functional.test_admin_settings:TestSettingsController.test_my_account # nosetests --pdb --pdb-failures +# nosetests --with-coverage --cover-package=rhodecode.model.validators rhodecode.tests.test_validators environ = {} #SOME GLOBALS FOR TESTS @@ -73,6 +83,45 @@ HG_FORK = 'vcs_test_hg_fork' GIT_FORK = 'vcs_test_git_fork' +## VCS +SCM_TESTS = ['hg', 'git'] +uniq_suffix = str(int(time.mktime(datetime.datetime.now().timetuple()))) + +GIT_REMOTE_REPO = 'git://github.com/codeinn/vcs.git' + +TEST_GIT_REPO = jn(TESTS_TMP_PATH, GIT_REPO) +TEST_GIT_REPO_CLONE = jn(TESTS_TMP_PATH, 'vcsgitclone%s' % uniq_suffix) +TEST_GIT_REPO_PULL = jn(TESTS_TMP_PATH, 'vcsgitpull%s' % uniq_suffix) + + +HG_REMOTE_REPO = 'http://bitbucket.org/marcinkuzminski/vcs' + +TEST_HG_REPO = jn(TESTS_TMP_PATH, HG_REPO) +TEST_HG_REPO_CLONE = jn(TESTS_TMP_PATH, 'vcshgclone%s' % uniq_suffix) +TEST_HG_REPO_PULL = jn(TESTS_TMP_PATH, 'vcshgpull%s' % uniq_suffix) + +TEST_DIR = tempfile.gettempdir() +TEST_REPO_PREFIX = 'vcs-test' + +# cached repos if any ! +# comment out to get some other repos from bb or github +GIT_REMOTE_REPO = jn(TESTS_TMP_PATH, GIT_REPO) +HG_REMOTE_REPO = jn(TESTS_TMP_PATH, HG_REPO) + + +def get_new_dir(title): + """ + Returns always new directory path. + """ + from rhodecode.tests.vcs.utils import get_normalized_path + name = TEST_REPO_PREFIX + if title: + name = '-'.join((name, title)) + hex = hashlib.sha1(str(time.time())).hexdigest() + name = '-'.join((name, hex)) + path = os.path.join(TEST_DIR, name) + return get_normalized_path(path) + class TestController(TestCase): @@ -90,8 +139,8 @@ password=TEST_USER_ADMIN_PASS): self._logged_username = username response = self.app.post(url(controller='login', action='index'), - {'username':username, - 'password':password}) + {'username': username, + 'password': password}) if 'invalid user name' in response.body: self.fail('could not login using %s %s' % (username, password)) @@ -109,4 +158,8 @@ def checkSessionFlash(self, response, msg): self.assertTrue('flash' in response.session) - self.assertTrue(msg in response.session['flash'][0][1]) + if not msg in response.session['flash'][0][1]: + self.fail( + 'msg `%s` not found in session flash: got `%s` instead' % ( + msg, response.session['flash']) + )