##// END OF EJS Templates
fixed repo_create permission by adding missing commit statements...
fixed repo_create permission by adding missing commit statements - added few tests for checking permission in UserModel - added __json__() into get_dict() to fetch from it hybrid_properties and any additional custom properties - code garden

File last commit:

r1758:a87aa385 beta
r1758:a87aa385 beta
Show More
__init__.py
110 lines | 3.4 KiB | text/x-python | PythonLexer
renamed project to rhodecode
r547 """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.
"""
fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached...
r1366 import os
fixes timezone issues with tests
r1707 import time
Notification system improvements...
r1712 import logging
fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached...
r1366 from os.path import join as jn
renamed project to rhodecode
r547 from unittest import TestCase
- refactoring to overcome poor usage of global pylons config...
r1723 from tempfile import _RandomNameSequence
renamed project to rhodecode
r547
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
fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached...
r1366
- refactoring to overcome poor usage of global pylons config...
r1723 from rhodecode.model.meta import Session
Notification system improvements...
r1712 from rhodecode.model.db import User
fixes timezone issues with tests
r1707 import pylons.test
os.environ['TZ'] = 'UTC'
time.tzset()
renamed project to rhodecode
r547
Tests rewrite for 1.2 added some globals configs to make tests easier....
r688 log = logging.getLogger(__name__)
renamed project to rhodecode
r547
fixed repo_create permission by adding missing commit statements...
r1758 __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'
]
renamed project to rhodecode
r547
# Invoke websetup with the current config file
Some code cleanups and fixes
r1628 # SetupCommand('setup-app').run([config_file])
renamed project to rhodecode
r547
##RUNNING DESIRED TESTS
test env update
r1416 # nosetests -x rhodecode.tests.functional.test_admin_settings:TestSettingsController.test_my_account
# nosetests --pdb --pdb-failures
renamed project to rhodecode
r547 environ = {}
Tests rewrite for 1.2 added some globals configs to make tests easier....
r688 #SOME GLOBALS FOR TESTS
- refactoring to overcome poor usage of global pylons config...
r1723
Added new random directory for each test to be better sandboxed
r1397 TESTS_TMP_PATH = jn('/', 'tmp', 'rc_test_%s' % _RandomNameSequence().next())
test env update
r1416 TEST_USER_ADMIN_LOGIN = 'test_admin'
TEST_USER_ADMIN_PASS = 'test12'
fixed repo_create permission by adding missing commit statements...
r1758 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'
Tests rewrite for 1.2 added some globals configs to make tests easier....
r688 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'
renamed project to rhodecode
r547 class TestController(TestCase):
def __init__(self, *args, **kwargs):
wsgiapp = pylons.test.pylonsapp
config = wsgiapp.config
Tests rewrite for 1.2 added some globals configs to make tests easier....
r688
renamed project to rhodecode
r547 self.app = TestApp(wsgiapp)
url._push_object(URLGenerator(config['routes.map'], environ))
- refactoring to overcome poor usage of global pylons config...
r1723 self.Session = Session
Tests rewrite for 1.2 added some globals configs to make tests easier....
r688 self.index_location = config['app_conf']['index_dir']
renamed project to rhodecode
r547 TestCase.__init__(self, *args, **kwargs)
Tests rewrite for 1.2 added some globals configs to make tests easier....
r688
test env update
r1416 def log_user(self, username=TEST_USER_ADMIN_LOGIN,
password=TEST_USER_ADMIN_PASS):
Notification system improvements...
r1712 self._logged_username = username
renamed project to rhodecode
r547 response = self.app.post(url(controller='login', action='index'),
{'username':username,
'password':password})
Notification system improvements...
r1712
renamed project to rhodecode
r547 if 'invalid user name' in response.body:
fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached...
r1366 self.fail('could not login using %s %s' % (username, password))
Tests rewrite for 1.2 added some globals configs to make tests easier....
r688
fixes #200, rewrote the whole caching mechanism to get rid of such problems. Now cached instances are attached...
r1366 self.assertEqual(response.status, '302 Found')
- refactoring to overcome poor usage of global pylons config...
r1723 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']
Added CheckSessionFlash into init....
r1382
Notification system improvements...
r1712 def _get_logged_user(self):
return User.get_by_username(self._logged_username)
Added CheckSessionFlash into init....
r1382 def checkSessionFlash(self, response, msg):
self.assertTrue('flash' in response.session)
self.assertTrue(msg in response.session['flash'][0][1])