diff --git a/kallithea/config/environment.py b/kallithea/config/environment.py
--- a/kallithea/config/environment.py
+++ b/kallithea/config/environment.py
@@ -96,7 +96,7 @@ def load_environment(global_conf, app_co
config['sqlalchemy.url'] = os.environ.get('TEST_DB')
from kallithea.lib.utils import create_test_env, create_test_index
- from kallithea.tests import TESTS_TMP_PATH
+ from kallithea.tests.base import TESTS_TMP_PATH
#set KALLITHEA_NO_TMP_PATH=1 to disable re-creating the database and
#test repos
if test_env:
diff --git a/kallithea/lib/db_manage.py b/kallithea/lib/db_manage.py
--- a/kallithea/lib/db_manage.py
+++ b/kallithea/lib/db_manage.py
@@ -196,7 +196,7 @@ class DbManage(object):
self.create_user(username, password, email, True)
else:
log.info('creating admin and regular test users')
- from kallithea.tests import TEST_USER_ADMIN_LOGIN, \
+ from kallithea.tests.base import TEST_USER_ADMIN_LOGIN, \
TEST_USER_ADMIN_PASS, TEST_USER_ADMIN_EMAIL, \
TEST_USER_REGULAR_LOGIN, TEST_USER_REGULAR_PASS, \
TEST_USER_REGULAR_EMAIL, TEST_USER_REGULAR2_LOGIN, \
diff --git a/kallithea/lib/utils.py b/kallithea/lib/utils.py
--- a/kallithea/lib/utils.py
+++ b/kallithea/lib/utils.py
@@ -629,7 +629,7 @@ def create_test_env(repos_test_path, con
install test repository into tmp dir
"""
from kallithea.lib.db_manage import DbManage
- from kallithea.tests import HG_REPO, GIT_REPO, TESTS_TMP_PATH
+ from kallithea.tests.base import HG_REPO, GIT_REPO, TESTS_TMP_PATH
# PART ONE create db
dbconf = config['sqlalchemy.url']
diff --git a/kallithea/tests/__init__.py b/kallithea/tests/__init__.py
--- a/kallithea/tests/__init__.py
+++ b/kallithea/tests/__init__.py
@@ -17,217 +17,6 @@ Kallithea test package
Refer to docs/contributing.rst for details on running the test suite.
"""
-import os
-import re
-import time
-import logging
-import datetime
-import hashlib
-import tempfile
-from tempfile import _RandomNameSequence
-
-import pylons
-import pylons.test
-from pylons import config, url
-from pylons.i18n.translation import _get_translator
-from pylons.util import ContextObj
-
-from routes.util import URLGenerator
-from webtest import TestApp
import pytest
-from kallithea.lib.compat import unittest
-from kallithea import is_windows
-from kallithea.model.db import Notification, User, UserNotification
-from kallithea.model.meta import Session
-from kallithea.lib.utils2 import safe_str
-
-
-os.environ['TZ'] = 'UTC'
-if not is_windows:
- time.tzset()
-
-log = logging.getLogger(__name__)
-
-skipif = pytest.mark.skipif
-parametrize = pytest.mark.parametrize
-
-__all__ = [
- 'skipif', 'parametrize', 'environ', 'url', 'TestController',
- 'ldap_lib_installed', 'pam_lib_installed', 'invalidate_all_caches',
- '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_ADMIN_EMAIL', '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_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
-# SetupCommand('setup-app').run([config_file])
-
-environ = {}
-
-#SOME GLOBALS FOR TESTS
-
-TESTS_TMP_PATH = os.path.join(tempfile.gettempdir(), 'rc_test_%s' % _RandomNameSequence().next())
-TEST_USER_ADMIN_LOGIN = 'test_admin'
-TEST_USER_ADMIN_PASS = 'test12'
-TEST_USER_ADMIN_EMAIL = 'test_admin@example.com'
-
-TEST_USER_REGULAR_LOGIN = 'test_regular'
-TEST_USER_REGULAR_PASS = 'test12'
-TEST_USER_REGULAR_EMAIL = 'test_regular@example.com'
-
-TEST_USER_REGULAR2_LOGIN = 'test_regular2'
-TEST_USER_REGULAR2_PASS = 'test12'
-TEST_USER_REGULAR2_EMAIL = 'test_regular2@example.com'
-
-HG_REPO = u'vcs_test_hg'
-GIT_REPO = u'vcs_test_git'
-
-NEW_HG_REPO = u'vcs_test_hg_new'
-NEW_GIT_REPO = u'vcs_test_git_new'
-
-HG_FORK = u'vcs_test_hg_fork'
-GIT_FORK = u'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 = os.path.join(TESTS_TMP_PATH, GIT_REPO)
-TEST_GIT_REPO_CLONE = os.path.join(TESTS_TMP_PATH, 'vcsgitclone%s' % uniq_suffix)
-TEST_GIT_REPO_PULL = os.path.join(TESTS_TMP_PATH, 'vcsgitpull%s' % uniq_suffix)
-
-
-HG_REMOTE_REPO = 'http://bitbucket.org/marcinkuzminski/vcs'
-
-TEST_HG_REPO = os.path.join(TESTS_TMP_PATH, HG_REPO)
-TEST_HG_REPO_CLONE = os.path.join(TESTS_TMP_PATH, 'vcshgclone%s' % uniq_suffix)
-TEST_HG_REPO_PULL = os.path.join(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 = os.path.join(TESTS_TMP_PATH, GIT_REPO)
-HG_REMOTE_REPO = os.path.join(TESTS_TMP_PATH, HG_REPO)
-
-#skip ldap tests if LDAP lib is not installed
-ldap_lib_installed = False
-try:
- import ldap
- ldap.API_VERSION
- ldap_lib_installed = True
-except ImportError:
- # means that python-ldap is not installed
- pass
-
-try:
- import pam
- pam.PAM_TEXT_INFO
- pam_lib_installed = True
-except ImportError:
- pam_lib_installed = False
-
-def invalidate_all_caches():
- """Invalidate all beaker caches currently configured.
- Useful when manipulating IP permissions in a test and changes need to take
- effect immediately.
- Note: Any use of this function is probably a workaround - it should be
- replaced with a more specific cache invalidation in code or test."""
- from beaker.cache import cache_managers
- for cache in cache_managers.values():
- cache.clear()
-
-class NullHandler(logging.Handler):
- def emit(self, record):
- pass
-
-class TestController(object):
- """Pytest-style test controller"""
-
- # Note: pytest base classes cannot have an __init__ method
-
- @pytest.fixture(autouse=True)
- def app_fixture(self):
- self.wsgiapp = pylons.test.pylonsapp
- self.init_stack(self.wsgiapp.config)
- self.app = TestApp(self.wsgiapp)
- self.maxDiff = None
- self.index_location = config['app_conf']['index_dir']
- return self.app
-
- def init_stack(self, config=None):
- if not config:
- config = pylons.test.pylonsapp.config
- url._push_object(URLGenerator(config['routes.map'], environ))
- pylons.app_globals._push_object(config['pylons.app_globals'])
- pylons.config._push_object(config)
- pylons.tmpl_context._push_object(ContextObj())
- # Initialize a translator for tests that utilize i18n
- translator = _get_translator(pylons.config.get('lang'))
- pylons.translator._push_object(translator)
- h = NullHandler()
- logging.getLogger("kallithea").addHandler(h)
-
- def remove_all_notifications(self):
- # query().delete() does not (by default) trigger cascades
- # ( http://docs.sqlalchemy.org/en/rel_0_7/orm/collections.html#passive-deletes )
- # so delete the UserNotification first to ensure referential integrity.
- UserNotification.query().delete()
-
- Notification.query().delete()
- Session().commit()
-
- 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 username or password' in response.body:
- pytest.fail('could not login using %s %s' % (username, password))
-
- assert response.status == '302 Found'
- self.assert_authenticated_user(response, username)
-
- response = response.follow()
- return response.session['authuser']
-
- def _get_logged_user(self):
- return User.get_by_username(self._logged_username)
-
- def assert_authenticated_user(self, response, expected_username):
- cookie = response.session.get('authuser')
- user = cookie and cookie.get('user_id')
- user = user and User.get(user)
- user = user and user.username
- assert user == expected_username
-
- def authentication_token(self):
- return self.app.get(url('authentication_token')).body
-
- def checkSessionFlash(self, response, msg=None, skip=0, _matcher=lambda msg, m: msg in m):
- if 'flash' not in response.session:
- pytest.fail(safe_str(u'msg `%s` not found - session has no flash:\n%s' % (msg, response)))
- try:
- level, m = response.session['flash'][-1 - skip]
- if _matcher(msg, m):
- return
- except IndexError:
- pass
- pytest.fail(safe_str(u'msg `%s` not found in session flash (skipping %s): %s' %
- (msg, skip,
- ', '.join('`%s`' % m for level, m in response.session['flash']))))
-
- def checkSessionFlashRegex(self, response, regex, skip=0):
- self.checkSessionFlash(response, regex, skip=skip, _matcher=re.search)
diff --git a/kallithea/tests/api/api_base.py b/kallithea/tests/api/api_base.py
--- a/kallithea/tests/api/api_base.py
+++ b/kallithea/tests/api/api_base.py
@@ -20,7 +20,7 @@ import os
import random
import mock
-from kallithea.tests import *
+from kallithea.tests.base import *
from kallithea.tests.fixture import Fixture
from kallithea.lib.compat import json
from kallithea.lib.auth import AuthUser
diff --git a/kallithea/tests/api/test_api_git.py b/kallithea/tests/api/test_api_git.py
--- a/kallithea/tests/api/test_api_git.py
+++ b/kallithea/tests/api/test_api_git.py
@@ -12,7 +12,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
-from kallithea.tests import TestController, GIT_REPO
+from kallithea.tests.base import TestController, GIT_REPO
from kallithea.tests.api.api_base import _BaseTestApi
diff --git a/kallithea/tests/api/test_api_hg.py b/kallithea/tests/api/test_api_hg.py
--- a/kallithea/tests/api/test_api_hg.py
+++ b/kallithea/tests/api/test_api_hg.py
@@ -12,7 +12,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
-from kallithea.tests import TestController, HG_REPO
+from kallithea.tests.base import TestController, HG_REPO
from kallithea.tests.api.api_base import _BaseTestApi
diff --git a/kallithea/tests/__init__.py b/kallithea/tests/base.py
copy from kallithea/tests/__init__.py
copy to kallithea/tests/base.py
--- a/kallithea/tests/__init__.py
+++ b/kallithea/tests/base.py
@@ -12,38 +12,26 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
-"""
-Kallithea test package
-
-Refer to docs/contributing.rst for details on running the test suite.
-"""
+import datetime
+import logging
import os
+import pytest
import re
+import tempfile
import time
-import logging
-import datetime
-import hashlib
-import tempfile
-
-from tempfile import _RandomNameSequence
import pylons
-import pylons.test
from pylons import config, url
from pylons.i18n.translation import _get_translator
from pylons.util import ContextObj
-
from routes.util import URLGenerator
from webtest import TestApp
-import pytest
-from kallithea.lib.compat import unittest
from kallithea import is_windows
from kallithea.model.db import Notification, User, UserNotification
from kallithea.model.meta import Session
from kallithea.lib.utils2 import safe_str
-
os.environ['TZ'] = 'UTC'
if not is_windows:
time.tzset()
@@ -73,7 +61,7 @@ environ = {}
#SOME GLOBALS FOR TESTS
-TESTS_TMP_PATH = os.path.join(tempfile.gettempdir(), 'rc_test_%s' % _RandomNameSequence().next())
+TESTS_TMP_PATH = os.path.join(tempfile.gettempdir(), 'rc_test_%s' % tempfile._RandomNameSequence().next())
TEST_USER_ADMIN_LOGIN = 'test_admin'
TEST_USER_ADMIN_PASS = 'test12'
TEST_USER_ADMIN_EMAIL = 'test_admin@example.com'
@@ -231,3 +219,4 @@ class TestController(object):
def checkSessionFlashRegex(self, response, regex, skip=0):
self.checkSessionFlash(response, regex, skip=skip, _matcher=re.search)
+
diff --git a/kallithea/tests/conftest.py b/kallithea/tests/conftest.py
--- a/kallithea/tests/conftest.py
+++ b/kallithea/tests/conftest.py
@@ -10,7 +10,7 @@ import pytest
from kallithea.model.user import UserModel
from kallithea.model.meta import Session
from kallithea.model.db import Setting, User, UserIpMap
-from kallithea.tests import invalidate_all_caches, TEST_USER_REGULAR_LOGIN
+from kallithea.tests.base import invalidate_all_caches, TEST_USER_REGULAR_LOGIN
def pytest_configure():
diff --git a/kallithea/tests/fixture.py b/kallithea/tests/fixture.py
--- a/kallithea/tests/fixture.py
+++ b/kallithea/tests/fixture.py
@@ -17,7 +17,7 @@ Helpers for fixture generation
"""
import os
import time
-from kallithea.tests import *
+from kallithea.tests.base import *
from kallithea.model.db import Repository, User, RepoGroup, UserGroup, Gist
from kallithea.model.meta import Session
from kallithea.model.repo import RepoModel
diff --git a/kallithea/tests/functional/test_admin.py b/kallithea/tests/functional/test_admin.py
--- a/kallithea/tests/functional/test_admin.py
+++ b/kallithea/tests/functional/test_admin.py
@@ -1,7 +1,7 @@
import os
import csv
import datetime
-from kallithea.tests import *
+from kallithea.tests.base import *
from kallithea.model.db import UserLog
from kallithea.model.meta import Session
from kallithea.lib.utils2 import safe_unicode
diff --git a/kallithea/tests/functional/test_admin_auth_settings.py b/kallithea/tests/functional/test_admin_auth_settings.py
--- a/kallithea/tests/functional/test_admin_auth_settings.py
+++ b/kallithea/tests/functional/test_admin_auth_settings.py
@@ -1,4 +1,4 @@
-from kallithea.tests import *
+from kallithea.tests.base import *
from kallithea.model.db import Setting
diff --git a/kallithea/tests/functional/test_admin_defaults.py b/kallithea/tests/functional/test_admin_defaults.py
--- a/kallithea/tests/functional/test_admin_defaults.py
+++ b/kallithea/tests/functional/test_admin_defaults.py
@@ -1,4 +1,4 @@
-from kallithea.tests import *
+from kallithea.tests.base import *
from kallithea.model.db import Setting
diff --git a/kallithea/tests/functional/test_admin_gists.py b/kallithea/tests/functional/test_admin_gists.py
--- a/kallithea/tests/functional/test_admin_gists.py
+++ b/kallithea/tests/functional/test_admin_gists.py
@@ -1,4 +1,4 @@
-from kallithea.tests import *
+from kallithea.tests.base import *
from kallithea.model.gist import GistModel
from kallithea.model.meta import Session
from kallithea.model.db import User, Gist
diff --git a/kallithea/tests/functional/test_admin_notifications.py b/kallithea/tests/functional/test_admin_notifications.py
--- a/kallithea/tests/functional/test_admin_notifications.py
+++ b/kallithea/tests/functional/test_admin_notifications.py
@@ -1,4 +1,4 @@
-from kallithea.tests import *
+from kallithea.tests.base import *
from kallithea.model.db import User
from kallithea.model.user import UserModel
diff --git a/kallithea/tests/functional/test_admin_permissions.py b/kallithea/tests/functional/test_admin_permissions.py
--- a/kallithea/tests/functional/test_admin_permissions.py
+++ b/kallithea/tests/functional/test_admin_permissions.py
@@ -3,7 +3,7 @@ import time
from kallithea.model.db import User, UserIpMap
from kallithea.model.user import UserModel
from kallithea.model.meta import Session
-from kallithea.tests import *
+from kallithea.tests.base import *
class TestAdminPermissionsController(TestController):
diff --git a/kallithea/tests/functional/test_admin_repo_groups.py b/kallithea/tests/functional/test_admin_repo_groups.py
--- a/kallithea/tests/functional/test_admin_repo_groups.py
+++ b/kallithea/tests/functional/test_admin_repo_groups.py
@@ -1,4 +1,4 @@
-from kallithea.tests import *
+from kallithea.tests.base import *
class TestRepoGroupsController(TestController):
pass
diff --git a/kallithea/tests/functional/test_admin_repos.py b/kallithea/tests/functional/test_admin_repos.py
--- a/kallithea/tests/functional/test_admin_repos.py
+++ b/kallithea/tests/functional/test_admin_repos.py
@@ -11,7 +11,7 @@ from kallithea.lib.utils2 import safe_st
from kallithea.model.db import Repository, RepoGroup, UserRepoToPerm, User, \
Permission, Ui
from kallithea.model.user import UserModel
-from kallithea.tests import *
+from kallithea.tests.base import *
from kallithea.model.repo_group import RepoGroupModel
from kallithea.model.repo import RepoModel
from kallithea.model.meta import Session
diff --git a/kallithea/tests/functional/test_admin_settings.py b/kallithea/tests/functional/test_admin_settings.py
--- a/kallithea/tests/functional/test_admin_settings.py
+++ b/kallithea/tests/functional/test_admin_settings.py
@@ -3,7 +3,7 @@
import tempfile
from kallithea.model.db import Setting, Ui
-from kallithea.tests import *
+from kallithea.tests.base import *
from kallithea.tests.fixture import Fixture
fixture = Fixture()
diff --git a/kallithea/tests/functional/test_admin_user_groups.py b/kallithea/tests/functional/test_admin_user_groups.py
--- a/kallithea/tests/functional/test_admin_user_groups.py
+++ b/kallithea/tests/functional/test_admin_user_groups.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-from kallithea.tests import *
+from kallithea.tests.base import *
from kallithea.model.db import UserGroup, UserGroupToPerm, Permission
from kallithea.model.meta import Session
diff --git a/kallithea/tests/functional/test_admin_users.py b/kallithea/tests/functional/test_admin_users.py
--- a/kallithea/tests/functional/test_admin_users.py
+++ b/kallithea/tests/functional/test_admin_users.py
@@ -15,7 +15,7 @@
from sqlalchemy.orm.exc import NoResultFound, ObjectDeletedError
import pytest
-from kallithea.tests import *
+from kallithea.tests.base import *
from kallithea.tests.fixture import Fixture
from kallithea.controllers.admin.users import UsersController
from kallithea.model.db import User, Permission, UserIpMap, UserApiKeys
diff --git a/kallithea/tests/functional/test_changelog.py b/kallithea/tests/functional/test_changelog.py
--- a/kallithea/tests/functional/test_changelog.py
+++ b/kallithea/tests/functional/test_changelog.py
@@ -1,4 +1,4 @@
-from kallithea.tests import *
+from kallithea.tests.base import *
class TestChangelogController(TestController):
diff --git a/kallithea/tests/functional/test_changeset.py b/kallithea/tests/functional/test_changeset.py
--- a/kallithea/tests/functional/test_changeset.py
+++ b/kallithea/tests/functional/test_changeset.py
@@ -1,4 +1,4 @@
-from kallithea.tests import *
+from kallithea.tests.base import *
class TestChangesetController(TestController):
diff --git a/kallithea/tests/functional/test_changeset_comments.py b/kallithea/tests/functional/test_changeset_comments.py
--- a/kallithea/tests/functional/test_changeset_comments.py
+++ b/kallithea/tests/functional/test_changeset_comments.py
@@ -1,4 +1,4 @@
-from kallithea.tests import *
+from kallithea.tests.base import *
from kallithea.model.db import ChangesetComment, Notification, \
UserNotification
from kallithea.model.meta import Session
diff --git a/kallithea/tests/functional/test_compare.py b/kallithea/tests/functional/test_compare.py
--- a/kallithea/tests/functional/test_compare.py
+++ b/kallithea/tests/functional/test_compare.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-from kallithea.tests import *
+from kallithea.tests.base import *
from kallithea.model.repo import RepoModel
from kallithea.model.meta import Session
from kallithea.tests.fixture import Fixture
diff --git a/kallithea/tests/functional/test_compare_local.py b/kallithea/tests/functional/test_compare_local.py
--- a/kallithea/tests/functional/test_compare_local.py
+++ b/kallithea/tests/functional/test_compare_local.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-from kallithea.tests import *
+from kallithea.tests.base import *
class TestCompareController(TestController):
diff --git a/kallithea/tests/functional/test_feed.py b/kallithea/tests/functional/test_feed.py
--- a/kallithea/tests/functional/test_feed.py
+++ b/kallithea/tests/functional/test_feed.py
@@ -1,4 +1,4 @@
-from kallithea.tests import *
+from kallithea.tests.base import *
class TestFeedController(TestController):
diff --git a/kallithea/tests/functional/test_files.py b/kallithea/tests/functional/test_files.py
--- a/kallithea/tests/functional/test_files.py
+++ b/kallithea/tests/functional/test_files.py
@@ -2,7 +2,7 @@
import os
import posixpath
import mimetypes
-from kallithea.tests import *
+from kallithea.tests.base import *
from kallithea.model.db import Repository
from kallithea.model.meta import Session
from kallithea.tests.fixture import Fixture
diff --git a/kallithea/tests/functional/test_followers.py b/kallithea/tests/functional/test_followers.py
--- a/kallithea/tests/functional/test_followers.py
+++ b/kallithea/tests/functional/test_followers.py
@@ -1,4 +1,4 @@
-from kallithea.tests import *
+from kallithea.tests.base import *
class TestFollowersController(TestController):
diff --git a/kallithea/tests/functional/test_forks.py b/kallithea/tests/functional/test_forks.py
--- a/kallithea/tests/functional/test_forks.py
+++ b/kallithea/tests/functional/test_forks.py
@@ -2,7 +2,7 @@
import unittest
-from kallithea.tests import *
+from kallithea.tests.base import *
from kallithea.tests.fixture import Fixture
from kallithea.model.db import Repository
diff --git a/kallithea/tests/functional/test_home.py b/kallithea/tests/functional/test_home.py
--- a/kallithea/tests/functional/test_home.py
+++ b/kallithea/tests/functional/test_home.py
@@ -1,4 +1,4 @@
-from kallithea.tests import *
+from kallithea.tests.base import *
from kallithea.tests.fixture import Fixture
from kallithea.model.meta import Session
from kallithea.model.db import Repository
diff --git a/kallithea/tests/functional/test_journal.py b/kallithea/tests/functional/test_journal.py
--- a/kallithea/tests/functional/test_journal.py
+++ b/kallithea/tests/functional/test_journal.py
@@ -1,4 +1,4 @@
-from kallithea.tests import *
+from kallithea.tests.base import *
import datetime
diff --git a/kallithea/tests/functional/test_login.py b/kallithea/tests/functional/test_login.py
--- a/kallithea/tests/functional/test_login.py
+++ b/kallithea/tests/functional/test_login.py
@@ -5,7 +5,7 @@ import urlparse
import mock
-from kallithea.tests import *
+from kallithea.tests.base import *
from kallithea.tests.fixture import Fixture
from kallithea.lib.utils2 import generate_api_key
from kallithea.lib.auth import check_password
diff --git a/kallithea/tests/functional/test_my_account.py b/kallithea/tests/functional/test_my_account.py
--- a/kallithea/tests/functional/test_my_account.py
+++ b/kallithea/tests/functional/test_my_account.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from kallithea.model.db import User, UserFollowing, Repository, UserApiKeys
-from kallithea.tests import *
+from kallithea.tests.base import *
from kallithea.tests.fixture import Fixture
from kallithea.lib import helpers as h
from kallithea.model.user import UserModel
diff --git a/kallithea/tests/functional/test_pullrequests.py b/kallithea/tests/functional/test_pullrequests.py
--- a/kallithea/tests/functional/test_pullrequests.py
+++ b/kallithea/tests/functional/test_pullrequests.py
@@ -1,6 +1,6 @@
import re
-from kallithea.tests import *
+from kallithea.tests.base import *
from kallithea.tests.fixture import Fixture
from kallithea.model.meta import Session
diff --git a/kallithea/tests/functional/test_repo_groups.py b/kallithea/tests/functional/test_repo_groups.py
--- a/kallithea/tests/functional/test_repo_groups.py
+++ b/kallithea/tests/functional/test_repo_groups.py
@@ -1,4 +1,4 @@
-from kallithea.tests import *
+from kallithea.tests.base import *
class TestRepoGroupsController(TestController):
diff --git a/kallithea/tests/functional/test_search.py b/kallithea/tests/functional/test_search.py
--- a/kallithea/tests/functional/test_search.py
+++ b/kallithea/tests/functional/test_search.py
@@ -1,6 +1,6 @@
import mock
import os
-from kallithea.tests import *
+from kallithea.tests.base import *
class TestSearchController(TestController):
diff --git a/kallithea/tests/functional/test_summary.py b/kallithea/tests/functional/test_summary.py
--- a/kallithea/tests/functional/test_summary.py
+++ b/kallithea/tests/functional/test_summary.py
@@ -12,7 +12,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
-from kallithea.tests import *
+from kallithea.tests.base import *
from kallithea.tests.fixture import Fixture
from kallithea.model.db import Repository
from kallithea.model.repo import RepoModel
diff --git a/kallithea/tests/models/common.py b/kallithea/tests/models/common.py
--- a/kallithea/tests/models/common.py
+++ b/kallithea/tests/models/common.py
@@ -1,4 +1,4 @@
-from kallithea.tests import *
+from kallithea.tests.base import *
from kallithea.tests.fixture import Fixture
from kallithea.model.repo_group import RepoGroupModel
diff --git a/kallithea/tests/models/test_changeset_status.py b/kallithea/tests/models/test_changeset_status.py
--- a/kallithea/tests/models/test_changeset_status.py
+++ b/kallithea/tests/models/test_changeset_status.py
@@ -1,4 +1,4 @@
-from kallithea.tests import *
+from kallithea.tests.base import *
from kallithea.model.changeset_status import ChangesetStatusModel
from kallithea.model.db import ChangesetStatus as CS
diff --git a/kallithea/tests/models/test_diff_parsers.py b/kallithea/tests/models/test_diff_parsers.py
--- a/kallithea/tests/models/test_diff_parsers.py
+++ b/kallithea/tests/models/test_diff_parsers.py
@@ -1,4 +1,4 @@
-from kallithea.tests import *
+from kallithea.tests.base import *
from kallithea.lib.diffs import DiffProcessor, NEW_FILENODE, DEL_FILENODE, \
MOD_FILENODE, RENAMED_FILENODE, CHMOD_FILENODE, BIN_FILENODE, COPIED_FILENODE
from kallithea.tests.fixture import Fixture
diff --git a/kallithea/tests/models/test_notifications.py b/kallithea/tests/models/test_notifications.py
--- a/kallithea/tests/models/test_notifications.py
+++ b/kallithea/tests/models/test_notifications.py
@@ -4,7 +4,7 @@ import re
import mock
import routes.util
-from kallithea.tests import *
+from kallithea.tests.base import *
from kallithea.lib import helpers as h
from kallithea.model.db import User, Notification, UserNotification
from kallithea.model.user import UserModel
diff --git a/kallithea/tests/models/test_permissions.py b/kallithea/tests/models/test_permissions.py
--- a/kallithea/tests/models/test_permissions.py
+++ b/kallithea/tests/models/test_permissions.py
@@ -1,4 +1,4 @@
-from kallithea.tests import *
+from kallithea.tests.base import *
from kallithea.tests.fixture import Fixture
from kallithea.model.repo_group import RepoGroupModel
from kallithea.model.repo import RepoModel
diff --git a/kallithea/tests/models/test_repo_groups.py b/kallithea/tests/models/test_repo_groups.py
--- a/kallithea/tests/models/test_repo_groups.py
+++ b/kallithea/tests/models/test_repo_groups.py
@@ -2,7 +2,7 @@ import os
import pytest
from sqlalchemy.exc import IntegrityError
-from kallithea.tests import *
+from kallithea.tests.base import *
from kallithea.tests.fixture import Fixture
from kallithea.model.repo_group import RepoGroupModel
diff --git a/kallithea/tests/models/test_repos.py b/kallithea/tests/models/test_repos.py
--- a/kallithea/tests/models/test_repos.py
+++ b/kallithea/tests/models/test_repos.py
@@ -1,5 +1,5 @@
import pytest
-from kallithea.tests import *
+from kallithea.tests.base import *
from kallithea.model.meta import Session
from kallithea.tests.fixture import Fixture
diff --git a/kallithea/tests/models/test_user_groups.py b/kallithea/tests/models/test_user_groups.py
--- a/kallithea/tests/models/test_user_groups.py
+++ b/kallithea/tests/models/test_user_groups.py
@@ -1,6 +1,6 @@
from kallithea.model.db import User, UserGroup
-from kallithea.tests import *
+from kallithea.tests.base import *
from kallithea.tests.fixture import Fixture
from kallithea.model.user_group import UserGroupModel
diff --git a/kallithea/tests/models/test_users.py b/kallithea/tests/models/test_users.py
--- a/kallithea/tests/models/test_users.py
+++ b/kallithea/tests/models/test_users.py
@@ -1,5 +1,5 @@
import pytest
-from kallithea.tests import *
+from kallithea.tests.base import *
from kallithea.model.db import User, UserGroup, UserGroupMember, UserEmailMap, \
Permission
diff --git a/kallithea/tests/other/manual_test_vcs_operations.py b/kallithea/tests/other/manual_test_vcs_operations.py
--- a/kallithea/tests/other/manual_test_vcs_operations.py
+++ b/kallithea/tests/other/manual_test_vcs_operations.py
@@ -40,7 +40,7 @@ import time
from tempfile import _RandomNameSequence
from subprocess import Popen, PIPE
-from kallithea.tests import *
+from kallithea.tests.base import *
from kallithea.tests.fixture import Fixture
from kallithea.model.db import User, Repository, UserIpMap, CacheInvalidation
from kallithea.model.meta import Session
diff --git a/kallithea/tests/other/test_libs.py b/kallithea/tests/other/test_libs.py
--- a/kallithea/tests/other/test_libs.py
+++ b/kallithea/tests/other/test_libs.py
@@ -28,7 +28,7 @@ Original author and date, and relevant c
import datetime
import hashlib
import mock
-from kallithea.tests import *
+from kallithea.tests.base import *
from kallithea.lib.utils2 import AttributeDict
from kallithea.model.db import Repository
diff --git a/kallithea/tests/other/test_mail.py b/kallithea/tests/other/test_mail.py
--- a/kallithea/tests/other/test_mail.py
+++ b/kallithea/tests/other/test_mail.py
@@ -1,7 +1,7 @@
import mock
import kallithea
-from kallithea.tests import *
+from kallithea.tests.base import *
from kallithea.model.db import User
class smtplib_mock(object):
diff --git a/kallithea/tests/other/test_validators.py b/kallithea/tests/other/test_validators.py
--- a/kallithea/tests/other/test_validators.py
+++ b/kallithea/tests/other/test_validators.py
@@ -3,7 +3,7 @@ import formencode
import pytest
import tempfile
-from kallithea.tests import *
+from kallithea.tests.base import *
from kallithea.model import validators as v
from kallithea.model.user_group import UserGroupModel
diff --git a/kallithea/tests/scripts/manual_test_concurrency.py b/kallithea/tests/scripts/manual_test_concurrency.py
--- a/kallithea/tests/scripts/manual_test_concurrency.py
+++ b/kallithea/tests/scripts/manual_test_concurrency.py
@@ -44,7 +44,7 @@ from kallithea.model import meta
from kallithea.model.db import User, Repository, Ui
from kallithea.lib.auth import get_crypt_password
-from kallithea.tests import HG_REPO
+from kallithea.tests.base import HG_REPO
from kallithea.config.environment import load_environment
rel_path = dirname(dirname(dirname(dirname(os.path.abspath(__file__)))))
diff --git a/kallithea/tests/vcs/__init__.py b/kallithea/tests/vcs/__init__.py
--- a/kallithea/tests/vcs/__init__.py
+++ b/kallithea/tests/vcs/__init__.py
@@ -23,7 +23,7 @@ from kallithea.lib.vcs.utils.compat impo
from kallithea.tests.vcs.conf import *
from kallithea.tests.vcs.utils import SCMFetcher
-from kallithea.tests import *
+from kallithea.tests.base import *
def setup_package():
diff --git a/kallithea/tests/vcs/conf.py b/kallithea/tests/vcs/conf.py
--- a/kallithea/tests/vcs/conf.py
+++ b/kallithea/tests/vcs/conf.py
@@ -84,4 +84,4 @@ shutil.copy(os.path.join(THIS, 'aconfig'
TEST_USER_CONFIG_FILE = _dest
#overide default configurations with kallithea ones
-from kallithea.tests import *
+from kallithea.tests.base import *