Files
@ cf51bbfb120e
Branch filter:
Location: kallithea/rhodecode/tests/__init__.py - annotation
cf51bbfb120e
3.4 KiB
text/x-python
auto white-space removal
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 9c0f5d558789 54fda6ce9e98 cac5109ac3b6 9c0f5d558789 9c0f5d558789 1e757ac98988 64e91067b996 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 9c0f5d558789 64e91067b996 cac5109ac3b6 cac5109ac3b6 54fda6ce9e98 54fda6ce9e98 54fda6ce9e98 54fda6ce9e98 1e757ac98988 8acbfa837180 1e757ac98988 a87aa385f21c a87aa385f21c a87aa385f21c a87aa385f21c a87aa385f21c a87aa385f21c a87aa385f21c 1e757ac98988 1e757ac98988 de71a4bde097 1e757ac98988 1e757ac98988 df04752daa64 cf51bbfb120e 1e757ac98988 1e757ac98988 8acbfa837180 64e91067b996 dc960653f8d2 df04752daa64 df04752daa64 a87aa385f21c a87aa385f21c a87aa385f21c a87aa385f21c a87aa385f21c a87aa385f21c a87aa385f21c a87aa385f21c a87aa385f21c a87aa385f21c 8acbfa837180 8acbfa837180 8acbfa837180 8acbfa837180 8acbfa837180 8acbfa837180 8acbfa837180 8acbfa837180 8acbfa837180 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 1e757ac98988 8acbfa837180 1e757ac98988 1e757ac98988 64e91067b996 8acbfa837180 1e757ac98988 8acbfa837180 df04752daa64 df04752daa64 cac5109ac3b6 1e757ac98988 1e757ac98988 1e757ac98988 cac5109ac3b6 1e757ac98988 9c0f5d558789 8acbfa837180 9c0f5d558789 64e91067b996 64e91067b996 64e91067b996 64e91067b996 64e91067b996 64e91067b996 c310e1e1e757 cac5109ac3b6 cac5109ac3b6 cac5109ac3b6 c310e1e1e757 c310e1e1e757 c310e1e1e757 | """Pylons application test package
This package assumes the Pylons environment is already loaded, such as
when this script is imported from the `nosetests --with-pylons=test.ini`
command.
This module initializes the application via ``websetup`` (`paster
setup-app`) and provides the base testing objects.
"""
import os
import time
import logging
from os.path import join as jn
from unittest import TestCase
from tempfile import _RandomNameSequence
from paste.deploy import loadapp
from paste.script.appinstall import SetupCommand
from pylons import config, url
from routes.util import URLGenerator
from webtest import TestApp
from rhodecode.model.meta import Session
from rhodecode.model.db import User
import pylons.test
os.environ['TZ'] = 'UTC'
time.tzset()
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',
'TEST_USER_REGULAR_EMAIL', 'TEST_USER_REGULAR2_LOGIN',
'TEST_USER_REGULAR2_PASS', 'TEST_USER_REGULAR2_EMAIL'
]
# Invoke websetup with the current config file
# SetupCommand('setup-app').run([config_file])
##RUNNING DESIRED TESTS
# nosetests -x rhodecode.tests.functional.test_admin_settings:TestSettingsController.test_my_account
# nosetests --pdb --pdb-failures
environ = {}
#SOME GLOBALS FOR TESTS
TESTS_TMP_PATH = jn('/', 'tmp', 'rc_test_%s' % _RandomNameSequence().next())
TEST_USER_ADMIN_LOGIN = 'test_admin'
TEST_USER_ADMIN_PASS = 'test12'
TEST_USER_ADMIN_EMAIL = 'test_admin@mail.com'
TEST_USER_REGULAR_LOGIN = 'test_regular'
TEST_USER_REGULAR_PASS = 'test12'
TEST_USER_REGULAR_EMAIL = 'test_regular@mail.com'
TEST_USER_REGULAR2_LOGIN = 'test_regular2'
TEST_USER_REGULAR2_PASS = 'test12'
TEST_USER_REGULAR2_EMAIL = 'test_regular2@mail.com'
HG_REPO = 'vcs_test_hg'
GIT_REPO = 'vcs_test_git'
NEW_HG_REPO = 'vcs_test_hg_new'
NEW_GIT_REPO = 'vcs_test_git_new'
HG_FORK = 'vcs_test_hg_fork'
GIT_FORK = 'vcs_test_git_fork'
class TestController(TestCase):
def __init__(self, *args, **kwargs):
wsgiapp = pylons.test.pylonsapp
config = wsgiapp.config
self.app = TestApp(wsgiapp)
url._push_object(URLGenerator(config['routes.map'], environ))
self.Session = Session
self.index_location = config['app_conf']['index_dir']
TestCase.__init__(self, *args, **kwargs)
def log_user(self, username=TEST_USER_ADMIN_LOGIN,
password=TEST_USER_ADMIN_PASS):
self._logged_username = username
response = self.app.post(url(controller='login', action='index'),
{'username':username,
'password':password})
if 'invalid user name' in response.body:
self.fail('could not login using %s %s' % (username, password))
self.assertEqual(response.status, '302 Found')
ses = response.session['rhodecode_user']
self.assertEqual(ses.get('username'), username)
response = response.follow()
self.assertEqual(ses.get('is_authenticated'), True)
return response.session['rhodecode_user']
def _get_logged_user(self):
return User.get_by_username(self._logged_username)
def checkSessionFlash(self, response, msg):
self.assertTrue('flash' in response.session)
self.assertTrue(msg in response.session['flash'][0][1])
|