Mercurial > kallithea
diff rhodecode/tests/__init__.py @ 2451:402a96fcfa22 beta
Added vcs testsuite for better integration tests + added fetching
of two new repos into test env for rhodecode
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Wed, 13 Jun 2012 23:27:33 +0200 |
parents | 8b1a79ad7a42 |
children | 9492ab68331f |
line wrap: on
line diff
--- a/rhodecode/tests/__init__.py Wed Jun 13 21:48:00 2012 +0200 +++ b/rhodecode/tests/__init__.py Wed Jun 13 23:27:33 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 @@ -27,6 +30,7 @@ import pylons.test + os.environ['TZ'] = 'UTC' if not is_windows: time.tzset() @@ -36,9 +40,11 @@ __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', - 'TEST_USER_REGULAR_EMAIL', 'TEST_USER_REGULAR2_LOGIN', - 'TEST_USER_REGULAR2_PASS', 'TEST_USER_REGULAR2_EMAIL' + 'TEST_USER_ADMIN_LOGIN', '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_HG_REPO', 'TEST_GIT_REPO', + 'HG_REMOTE_REPO', 'GIT_REMOTE_REPO', 'SCM_TESTS', ] # Invoke websetup with the current config file @@ -73,6 +79,46 @@ 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()))) + +THIS = os.path.abspath(os.path.dirname(__file__)) + +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, 'vcs-hg') +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' + + +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) + + +PACKAGE_DIR = os.path.abspath(os.path.join( + os.path.dirname(__file__), '..')) + +TEST_USER_CONFIG_FILE = jn(THIS, 'aconfig') + class TestController(TestCase): @@ -90,8 +136,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))