Changeset - 7486da5f0628
rhodecode/config/environment.py
Show inline comments
 
@@ -6,7 +6,7 @@ from rhodecode.config.routing import mak
 
from rhodecode.lib.auth import set_available_permissions, set_base_path
 
from rhodecode.lib.utils import repo2db_mapper, make_ui, set_rhodecode_config
 
from rhodecode.model import init_model
 
from rhodecode.model.hg import HgModel
 
from rhodecode.model.scm import ScmModel
 
from sqlalchemy import engine_from_config
 
import logging
 
import os
 
@@ -71,7 +71,7 @@ def load_environment(global_conf, app_co
 
    config['pylons.app_globals'].baseui = make_ui('db')
 

	
 
    g = config['pylons.app_globals']
 
    repo2db_mapper(HgModel().repo_scan(g.paths[0][1], g.baseui, initial))
 
    repo2db_mapper(ScmModel().repo_scan(g.paths[0][1], g.baseui, initial))
 
    set_available_permissions(config)
 
    set_base_path(config)
 
    set_rhodecode_config(config)
rhodecode/controllers/admin/repos.py
Show inline comments
 
@@ -35,7 +35,7 @@ from rhodecode.lib.base import BaseContr
 
from rhodecode.lib.utils import invalidate_cache, action_logger
 
from rhodecode.model.db import User
 
from rhodecode.model.forms import RepoForm
 
from rhodecode.model.hg import HgModel
 
from rhodecode.model.scm import ScmModel
 
from rhodecode.model.repo import RepoModel
 
import formencode
 
import logging
 
@@ -60,7 +60,7 @@ class ReposController(BaseController):
 
    def index(self, format='html'):
 
        """GET /repos: All items in the collection"""
 
        # url('repos')
 
        cached_repo_list = HgModel().get_repos()
 
        cached_repo_list = ScmModel().get_repos()
 
        c.repos_list = sorted(cached_repo_list, key=itemgetter('name_sort'))
 
        return render('admin/repos/repos.html')
 

	
rhodecode/controllers/admin/settings.py
Show inline comments
 
@@ -36,7 +36,7 @@ from rhodecode.lib.utils import repo2db_
 
from rhodecode.model.db import RhodeCodeSettings, RhodeCodeUi, Repository
 
from rhodecode.model.forms import UserForm, ApplicationSettingsForm, \
 
    ApplicationUiSettingsForm
 
from rhodecode.model.hg import HgModel
 
from rhodecode.model.scm import ScmModel
 
from rhodecode.model.user import UserModel
 
from rhodecode.lib.celerylib import tasks, run_task
 
from sqlalchemy import func
 
@@ -99,7 +99,7 @@ class SettingsController(BaseController)
 
            rm_obsolete = request.POST.get('destroy', False)
 
            log.debug('Rescanning directories with destroy=%s', rm_obsolete)
 

	
 
            initial = HgModel().repo_scan(g.paths[0][1], g.baseui)
 
            initial = ScmModel().repo_scan(g.paths[0][1], g.baseui)
 
            for repo_name in initial.keys():
 
                invalidate_cache('get_repo_cached_%s' % repo_name)
 

	
 
@@ -253,7 +253,7 @@ class SettingsController(BaseController)
 
            .filter(Repository.user_id == c.user.user_id)\
 
            .order_by(func.lower(Repository.repo_name))\
 
            .all()
 
        c.user_repos = HgModel().get_repos(all_repos)
 
        c.user_repos = ScmModel().get_repos(all_repos)
 

	
 
        if c.user.username == 'default':
 
            h.flash(_("You can't edit this user since it's"
 
@@ -294,7 +294,7 @@ class SettingsController(BaseController)
 
                .filter(Repository.user_id == c.user.user_id)\
 
                .order_by(func.lower(Repository.repo_name))\
 
                .all()
 
            c.user_repos = HgModel().get_repos(all_repos)
 
            c.user_repos = ScmModel().get_repos(all_repos)
 

	
 
            return htmlfill.render(
 
                render('admin/users/user_edit_my_account.html'),
rhodecode/controllers/branches.py
Show inline comments
 
@@ -26,7 +26,7 @@ from pylons import tmpl_context as c
 
from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator
 
from rhodecode.lib.base import BaseController, render
 
from rhodecode.lib.utils import OrderedDict
 
from rhodecode.model.hg import HgModel
 
from rhodecode.model.scm import ScmModel
 
import logging
 
log = logging.getLogger(__name__)
 

	
 
@@ -38,7 +38,7 @@ class BranchesController(BaseController)
 
        super(BranchesController, self).__before__()
 
    
 
    def index(self):
 
        hg_model = HgModel()
 
        hg_model = ScmModel()
 
        c.repo_info = hg_model.get_repo(c.repo_name)
 
        c.repo_branches = OrderedDict()
 
        for name, hash_ in c.repo_info.branches.items():
rhodecode/controllers/changelog.py
Show inline comments
 
@@ -32,7 +32,7 @@ from mercurial.graphmod import colored, 
 
from pylons import request, session, tmpl_context as c
 
from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator
 
from rhodecode.lib.base import BaseController, render
 
from rhodecode.model.hg import HgModel
 
from rhodecode.model.scm import ScmModel
 
from webhelpers.paginate import Page
 
import logging
 
log = logging.getLogger(__name__)
 
@@ -60,7 +60,7 @@ class ChangelogController(BaseController
 
        else:
 
            c.size = int(session.get('changelog_size', default))
 

	
 
        changesets = HgModel().get_repo(c.repo_name)
 
        changesets = ScmModel().get_repo(c.repo_name)
 

	
 
        p = int(request.params.get('page', 1))
 
        c.total_cs = len(changesets)
rhodecode/controllers/changeset.py
Show inline comments
 
@@ -28,7 +28,7 @@ from rhodecode.lib.auth import LoginRequ
 
from rhodecode.lib.base import BaseController, render
 
from rhodecode.lib.utils import EmptyChangeset
 
import rhodecode.lib.helpers as h
 
from rhodecode.model.hg import HgModel
 
from rhodecode.model.scm import ScmModel
 
from vcs.exceptions import RepositoryError, ChangesetError
 
from vcs.nodes import FileNode
 
from vcs.utils import diffs as differ
 
@@ -46,7 +46,7 @@ class ChangesetController(BaseController
 
        super(ChangesetController, self).__before__()
 

	
 
    def index(self, revision):
 
        hg_model = HgModel()
 
        hg_model = ScmModel()
 
        cut_off_limit = 1024 * 250
 

	
 
        def wrap_to_table(str):
 
@@ -132,7 +132,7 @@ class ChangesetController(BaseController
 

	
 
    def raw_changeset(self, revision):
 

	
 
        hg_model = HgModel()
 
        hg_model = ScmModel()
 
        method = request.GET.get('diff', 'show')
 
        try:
 
            r = hg_model.get_repo(c.repo_name)
rhodecode/controllers/feed.py
Show inline comments
 
@@ -24,7 +24,7 @@ feed controller for pylons
 
"""
 
from pylons import tmpl_context as c, url, response
 
from rhodecode.lib.base import BaseController, render
 
from rhodecode.model.hg import HgModel
 
from rhodecode.model.scm import ScmModel
 
from webhelpers.feedgenerator import Atom1Feed, Rss201rev2Feed
 
import logging
 
log = logging.getLogger(__name__)
 
@@ -49,7 +49,7 @@ class FeedController(BaseController):
 
                         language=self.language,
 
                         ttl=self.ttl)
 
        
 
        changesets = HgModel().get_repo(repo_name)
 
        changesets = ScmModel().get_repo(repo_name)
 

	
 
        for cs in changesets[:self.feed_nr]:
 
            feed.add_item(title=cs.message,
 
@@ -69,7 +69,7 @@ class FeedController(BaseController):
 
                         language=self.language,
 
                         ttl=self.ttl)
 
        
 
        changesets = HgModel().get_repo(repo_name)
 
        changesets = ScmModel().get_repo(repo_name)
 
        for cs in changesets[:self.feed_nr]:
 
            feed.add_item(title=cs.message,
 
                          link=url('changeset_home', repo_name=repo_name,
rhodecode/controllers/files.py
Show inline comments
 
@@ -29,7 +29,7 @@ from pylons.controllers.util import redi
 
from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator
 
from rhodecode.lib.base import BaseController, render
 
from rhodecode.lib.utils import EmptyChangeset
 
from rhodecode.model.hg import HgModel
 
from rhodecode.model.scm import ScmModel
 
from vcs.exceptions import RepositoryError, ChangesetError
 
from vcs.nodes import FileNode
 
from vcs.utils import diffs as differ
 
@@ -49,7 +49,7 @@ class FilesController(BaseController):
 
        c.file_size_limit = 250 * 1024 #limit of file size to display
 

	
 
    def index(self, repo_name, revision, f_path):
 
        hg_model = HgModel()
 
        hg_model = ScmModel()
 
        c.repo = hg_model.get_repo(c.repo_name)
 
        revision = request.POST.get('at_rev', None) or revision
 

	
 
@@ -95,7 +95,7 @@ class FilesController(BaseController):
 
        return render('files/files.html')
 

	
 
    def rawfile(self, repo_name, revision, f_path):
 
        hg_model = HgModel()
 
        hg_model = ScmModel()
 
        c.repo = hg_model.get_repo(c.repo_name)
 
        file_node = c.repo.get_changeset(revision).get_node(f_path)
 
        response.content_type = file_node.mimetype
 
@@ -104,7 +104,7 @@ class FilesController(BaseController):
 
        return file_node.content
 

	
 
    def raw(self, repo_name, revision, f_path):
 
        hg_model = HgModel()
 
        hg_model = ScmModel()
 
        c.repo = hg_model.get_repo(c.repo_name)
 
        file_node = c.repo.get_changeset(revision).get_node(f_path)
 
        response.content_type = 'text/plain'
 
@@ -112,7 +112,7 @@ class FilesController(BaseController):
 
        return file_node.content
 

	
 
    def annotate(self, repo_name, revision, f_path):
 
        hg_model = HgModel()
 
        hg_model = ScmModel()
 
        c.repo = hg_model.get_repo(c.repo_name)
 
        c.cs = c.repo.get_changeset(revision)
 
        c.file = c.cs.get_node(f_path)
 
@@ -141,7 +141,7 @@ class FilesController(BaseController):
 
                yield data
 

	
 
        archive = tempfile.TemporaryFile()
 
        repo = HgModel().get_repo(repo_name).repo
 
        repo = ScmModel().get_repo(repo_name).repo
 
        fname = '%s-%s%s' % (repo_name, revision, fileformat)
 
        archival.archive(repo, archive, revision, archive_specs[fileformat][1],
 
                         prefix='%s-%s' % (repo_name, revision))
 
@@ -151,7 +151,7 @@ class FilesController(BaseController):
 
        return read_in_chunks(archive)
 

	
 
    def diff(self, repo_name, f_path):
 
        hg_model = HgModel()
 
        hg_model = ScmModel()
 
        diff1 = request.GET.get('diff1')
 
        diff2 = request.GET.get('diff2')
 
        c.action = request.GET.get('diff')
rhodecode/controllers/home.py
Show inline comments
 
@@ -26,7 +26,7 @@ from operator import itemgetter
 
from pylons import tmpl_context as c, request
 
from rhodecode.lib.auth import LoginRequired
 
from rhodecode.lib.base import BaseController, render
 
from rhodecode.model.hg import HgModel
 
from rhodecode.model.scm import ScmModel
 
import logging
 
log = logging.getLogger(__name__)
 

	
 
@@ -47,7 +47,7 @@ class HomeController(BaseController):
 
        else:
 
            c.sort_by = current_sort
 
        c.sort_slug = current_sort_slug
 
        cached_repo_list = HgModel().get_repos()
 
        cached_repo_list = ScmModel().get_repos()
 

	
 
        sort_key = current_sort_slug + '_sort'
 
        if c.sort_by.startswith('-'):
rhodecode/controllers/shortlog.py
Show inline comments
 
@@ -25,7 +25,7 @@ shortlog controller for pylons
 
from pylons import tmpl_context as c, request
 
from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator
 
from rhodecode.lib.base import BaseController, render
 
from rhodecode.model.hg import HgModel
 
from rhodecode.model.scm import ScmModel
 
from webhelpers.paginate import Page
 
import logging
 
log = logging.getLogger(__name__)
 
@@ -40,7 +40,7 @@ class ShortlogController(BaseController)
 
        
 
    def index(self):
 
        p = int(request.params.get('page', 1))
 
        repo = HgModel().get_repo(c.repo_name)
 
        repo = ScmModel().get_repo(c.repo_name)
 
        c.repo_changesets = Page(repo, page=p, items_per_page=20)
 
        c.shortlog_data = render('shortlog/shortlog_data.html')
 
        if request.params.get('partial'):
rhodecode/controllers/summary.py
Show inline comments
 
@@ -27,7 +27,7 @@ from vcs.exceptions import ChangesetErro
 
from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator
 
from rhodecode.lib.base import BaseController, render
 
from rhodecode.lib.utils import OrderedDict, EmptyChangeset
 
from rhodecode.model.hg import HgModel
 
from rhodecode.model.scm import ScmModel
 
from rhodecode.model.db import Statistics
 
from webhelpers.paginate import Page
 
from rhodecode.lib.celerylib import run_task
 
@@ -52,7 +52,7 @@ class SummaryController(BaseController):
 
        super(SummaryController, self).__before__()
 

	
 
    def index(self):
 
        hg_model = HgModel()
 
        hg_model = ScmModel()
 
        c.repo_info = hg_model.get_repo(c.repo_name)
 
        def url_generator(**kw):
 
            return url('shortlog_home', repo_name=c.repo_name, **kw)
rhodecode/controllers/tags.py
Show inline comments
 
@@ -26,7 +26,7 @@ from pylons import tmpl_context as c
 
from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator
 
from rhodecode.lib.base import BaseController, render
 
from rhodecode.lib.utils import OrderedDict
 
from rhodecode.model.hg import HgModel
 
from rhodecode.model.scm import ScmModel
 
import logging
 
log = logging.getLogger(__name__)
 

	
 
@@ -38,7 +38,7 @@ class TagsController(BaseController):
 
        super(TagsController, self).__before__()
 
        
 
    def index(self):
 
        hg_model = HgModel()
 
        hg_model = ScmModel()
 
        c.repo_info = hg_model.get_repo(c.repo_name)
 
        c.repo_tags = OrderedDict()
 
        for name, hash_ in c.repo_info.tags.items():
rhodecode/lib/base.py
Show inline comments
 
@@ -9,7 +9,7 @@ from rhodecode import __version__
 
from rhodecode.lib import auth
 
from rhodecode.lib.utils import get_repo_slug
 
from rhodecode.model import meta
 
from rhodecode.model.hg import HgModel
 
from rhodecode.model.scm import ScmModel
 
from vcs import BACKENDS
 

	
 
class BaseController(WSGIController):
 
@@ -18,11 +18,11 @@ class BaseController(WSGIController):
 
        c.rhodecode_version = __version__
 
        c.rhodecode_name = config['rhodecode_title']
 
        c.repo_name = get_repo_slug(request)
 
        c.cached_repo_list = HgModel().get_repos()
 
        c.cached_repo_list = ScmModel().get_repos()
 
        c.backends = BACKENDS.keys()
 

	
 
        if c.repo_name:
 
            cached_repo = HgModel().get(c.repo_name)
 
            cached_repo = ScmModel().get(c.repo_name)
 

	
 
            if cached_repo:
 
                c.repository_tags = cached_repo.tags
rhodecode/lib/celerylib/tasks.py
Show inline comments
 
@@ -10,7 +10,7 @@ from time import mktime
 
import os
 
import traceback
 
from vcs.backends import get_repo
 
from rhodecode.model.hg import HgModel
 
from rhodecode.model.scm import ScmModel
 
try:
 
    import json
 
except ImportError:
 
@@ -62,7 +62,7 @@ def get_commits_stats(repo_name, ts_min_
 

	
 
    commits_by_day_author_aggregate = {}
 
    commits_by_day_aggregate = {}
 
    repos_path = HgModel().repos_path
 
    repos_path = ScmModel().repos_path
 
    p = os.path.join(repos_path, repo_name)
 
    repo = get_repo(p)
 

	
 
@@ -274,7 +274,7 @@ def create_repo_fork(form_data, cur_user
 
    repo_model = RepoModel(get_session())
 
    repo_model.create(form_data, cur_user, just_db=True, fork=True)
 
    repo_name = form_data['repo_name']
 
    repos_path = HgModel().repos_path
 
    repos_path = ScmModel().repos_path
 
    repo_path = os.path.join(repos_path, repo_name)
 
    repo_fork_path = os.path.join(repos_path, form_data['fork_name'])
 
    alias = form_data['repo_type']
 
@@ -291,7 +291,7 @@ def __get_codes_stats(repo_name):
 
    's', 'sh', 'tpl', 'txt', 'vim', 'wss', 'xhtml', 'xml', 'xsl', 'xslt', 'yaws']
 

	
 

	
 
    repos_path = HgModel().repos_path
 
    repos_path = ScmModel().repos_path
 
    p = os.path.join(repos_path, repo_name)
 
    repo = get_repo(p)
 
    tip = repo.get_changeset()
rhodecode/lib/indexers/__init__.py
Show inline comments
 
@@ -6,7 +6,7 @@ from os.path import dirname as dn, join 
 
sys.path.append(dn(dn(dn(os.path.realpath(__file__)))))
 

	
 
from rhodecode.config.environment import load_environment
 
from rhodecode.model.hg import HgModel
 
from rhodecode.model.scm import ScmModel
 
from shutil import rmtree
 
from webhelpers.html.builder import escape
 
from vcs.utils.lazy import LazyProperty
rhodecode/lib/indexers/daemon.py
Show inline comments
 
@@ -33,7 +33,7 @@ project_path = dn(dn(dn(dn(os.path.realp
 
sys.path.append(project_path)
 

	
 

	
 
from rhodecode.model.hg import HgModel
 
from rhodecode.model.scm import ScmModel
 
from rhodecode.lib.helpers import safe_unicode
 
from whoosh.index import create_in, open_dir
 
from shutil import rmtree
 
@@ -78,7 +78,7 @@ class WhooshIndexingDaemon(object):
 
        if not repo_location:
 
            raise Exception('You have to provide repositories location')
 

	
 
        self.repo_paths = HgModel().repo_scan(self.repo_location, None, True)
 
        self.repo_paths = ScmModel().repo_scan(self.repo_location, None, True)
 
        self.initial = False
 
        if not os.path.isdir(self.index_location):
 
            os.mkdir(self.index_location)
rhodecode/model/scm.py
Show inline comments
 
file renamed from rhodecode/model/hg.py to rhodecode/model/scm.py
 
@@ -40,7 +40,7 @@ import time
 

	
 
log = logging.getLogger(__name__)
 

	
 
class HgModel(object):
 
class ScmModel(object):
 
    """
 
    Mercurial Model
 
    """
rhodecode/tests/functional/test_admin_permissions.py
Show inline comments
 
file renamed from rhodecode/tests/functional/test_permissions.py to rhodecode/tests/functional/test_admin_permissions.py
 
from rhodecode.tests import *
 

	
 
class TestPermissionsController(TestController):
 
class TestAdminPermissionsController(TestController):
 

	
 
    def test_index(self):
 
        response = self.app.get(url('permissions'))
rhodecode/tests/functional/test_admin_repos.py
Show inline comments
 
file renamed from rhodecode/tests/functional/test_repos.py to rhodecode/tests/functional/test_admin_repos.py
 
from rhodecode.model.db import Repository
 
from rhodecode.tests import *
 

	
 
class TestReposController(TestController):
 
class TestAdminReposController(TestController):
 

	
 
    def test_index(self):
 
        self.log_user()
 
@@ -21,11 +21,8 @@ class TestReposController(TestController
 
                                                'description':description,
 
                                                'private':private})
 

	
 
        print response
 

	
 
        #test if we have a message for that repository
 
        print '-' * 100
 
        print response.session
 
        assert '''created repository %s''' % (repo_name) in response.session['flash'][0], 'No flash message about new repo'
 

	
 
        #test if the fork was created in the database
 
@@ -49,11 +46,8 @@ class TestReposController(TestController
 
                                                'description':description,
 
                                                'private':private})
 

	
 
        print response
 

	
 
        #test if we have a message for that repository
 
        print '-' * 100
 
        print response.session
 
        assert '''created repository %s''' % (repo_name) in response.session['flash'][0], 'No flash message about new repo'
 

	
 
        #test if the fork was created in the database
 
@@ -91,11 +85,8 @@ class TestReposController(TestController
 
                                               'description':description,
 
                                               'private':private})
 

	
 
        print response
 

	
 
        #test if we have a message for that repository
 
        print '-' * 100
 
        print response.session
 
        assert '''created repository %s''' % (repo_name) in response.session['flash'][0], 'No flash message about new repo'
 

	
 
        #test if the repo was created in the database
 
@@ -112,8 +103,6 @@ class TestReposController(TestController
 

	
 
        response = self.app.delete(url('repo', repo_name=repo_name))
 

	
 
        print '-' * 100
 
        print response.session
 
        assert '''deleted repository %s''' % (repo_name) in response.session['flash'][0], 'No flash message about delete repo'
 

	
 
        response.follow()
rhodecode/tests/functional/test_admin_settings.py
Show inline comments
 
from rhodecode.tests import *
 
from rhodecode.model.db import User
 

	
 
class TestSettingsController(TestController):
 
class TestAdminSettingsController(TestController):
 

	
 
    def test_index(self):
 
        response = self.app.get(url('admin_settings'))
 
@@ -48,9 +48,9 @@ class TestSettingsController(TestControl
 
        response = self.app.get(url('admin_settings_my_account'))
 
        print response
 
        assert 'value="test_admin' in response.body
 
        
 
        
 
            
 

	
 

	
 

	
 
    def test_my_account_update(self):
 
        self.log_user()
 
        new_email = 'new@mail.pl'
 
@@ -64,16 +64,16 @@ class TestSettingsController(TestControl
 
                                                            email=new_email,))
 
        response.follow()
 
        print response
 
    
 

	
 
        print 'x' * 100
 
        print response.session
 
        assert 'Your account was updated succesfully' in response.session['flash'][0][1], 'no flash message about success of change'
 
        user = self.sa.query(User).filter(User.username == 'test_admin').one()
 
        assert user.email == new_email , 'incorrect user email after update got %s vs %s' % (user.email, new_email)
 
    
 

	
 
    def test_my_account_update_own_email_ok(self):
 
        self.log_user()
 
                
 

	
 
        new_email = 'new@mail.pl'
 
        response = self.app.post(url('admin_settings_my_account_update'), params=dict(
 
                                                            _method='put',
 
@@ -83,10 +83,10 @@ class TestSettingsController(TestControl
 
                                                            lastname='NewLastname',
 
                                                            email=new_email,))
 
        print response
 
                
 

	
 
    def test_my_account_update_err_email_exists(self):
 
        self.log_user()
 
                
 

	
 
        new_email = 'test_regular@mail.com'#already exisitn email
 
        response = self.app.post(url('admin_settings_my_account_update'), params=dict(
 
                                                            _method='put',
 
@@ -96,13 +96,13 @@ class TestSettingsController(TestControl
 
                                                            lastname='NewLastname',
 
                                                            email=new_email,))
 
        print response
 
        
 

	
 
        assert 'That e-mail address is already taken' in response.body, 'Missing error message about existing email'
 
        
 
        
 

	
 

	
 
    def test_my_account_update_err(self):
 
        self.log_user('test_regular2', 'test12')
 
                
 

	
 
        new_email = 'newmail.pl'
 
        response = self.app.post(url('admin_settings_my_account_update'), params=dict(
 
                                                            _method='put',
rhodecode/tests/functional/test_admin_users.py
Show inline comments
 
file renamed from rhodecode/tests/functional/test_users.py to rhodecode/tests/functional/test_admin_users.py
 
from rhodecode.tests import *
 
from rhodecode.model.db import User
 
from rhodecode.lib.auth import check_password
 
from sqlalchemy.orm.exc import NoResultFound
 

	
 
class TestUsersController(TestController):
 
class TestAdminUsersController(TestController):
 

	
 
    def test_index(self):
 
        response = self.app.get(url('users'))
 
@@ -11,12 +14,59 @@ class TestUsersController(TestController
 

	
 
    def test_create(self):
 
        self.log_user()
 
#        user_name = 'new_user'
 
#        response = self.app.post(url('users'),{'repo_name':user_name,
 
#                                                'repo_type':'hg',
 
#                                               'description':description,
 
#                                               'private':private})
 
        username = 'newtestuser'
 
        password = 'test12'
 
        name = 'name'
 
        lastname = 'lastname'
 
        email = 'mail@mail.com'
 

	
 
        response = self.app.post(url('users'), {'username':username,
 
                                               'password':password,
 
                                               'name':name,
 
                                               'active':True,
 
                                               'lastname':lastname,
 
                                               'email':email})
 

	
 

	
 
        assert '''created user %s''' % (username) in response.session['flash'][0], 'No flash message about new user'
 

	
 
        new_user = self.sa.query(User).filter(User.username == username).one()
 

	
 

	
 
        assert new_user.username == username, 'wrong info about username'
 
        assert check_password(password, new_user.password) == True , 'wrong info about password'
 
        assert new_user.name == name, 'wrong info about name'
 
        assert new_user.lastname == lastname, 'wrong info about lastname'
 
        assert new_user.email == email, 'wrong info about email'
 

	
 

	
 
        response.follow()
 
        response = response.follow()
 
        assert """edit">newtestuser</a>""" in response.body
 

	
 
    def test_create_err(self):
 
        self.log_user()
 
        username = 'new_user'
 
        password = ''
 
        name = 'name'
 
        lastname = 'lastname'
 
        email = 'errmail.com'
 

	
 
        response = self.app.post(url('users'), {'username':username,
 
                                               'password':password,
 
                                               'name':name,
 
                                               'active':False,
 
                                               'lastname':lastname,
 
                                               'email':email})
 

	
 
        assert """<span class="error-message">Invalid username</span>""" in response.body
 
        assert """<span class="error-message">Please enter a value</span>""" in response.body
 
        assert """<span class="error-message">An email address must contain a single @</span>""" in response.body
 

	
 
        def get_user():
 
            self.sa.query(User).filter(User.username == username).one()
 

	
 
        self.assertRaises(NoResultFound, get_user), 'found user in database'
 

	
 
    def test_new(self):
 
        response = self.app.get(url('new_user'))
 
@@ -31,7 +81,27 @@ class TestUsersController(TestController
 
        response = self.app.post(url('user', id=1), params=dict(_method='put'))
 

	
 
    def test_delete(self):
 
        response = self.app.delete(url('user', id=1))
 
        self.log_user()
 
        username = 'newtestuserdeleteme'
 
        password = 'test12'
 
        name = 'name'
 
        lastname = 'lastname'
 
        email = 'todeletemail@mail.com'
 

	
 
        response = self.app.post(url('users'), {'username':username,
 
                                               'password':password,
 
                                               'name':name,
 
                                               'active':True,
 
                                               'lastname':lastname,
 
                                               'email':email})
 

	
 
        response = response.follow()
 

	
 
        new_user = self.sa.query(User).filter(User.username == username).one()
 
        response = self.app.delete(url('user', id=new_user.user_id))
 

	
 
        assert """sucessfully deleted user""" in response.session['flash'][0], 'No info about user deletion'
 

	
 

	
 
    def test_delete_browser_fakeout(self):
 
        response = self.app.post(url('user', id=1), params=dict(_method='delete'))
rhodecode/tests/functional/test_home.py
Show inline comments
 
file renamed from rhodecode/tests/functional/test_hg.py to rhodecode/tests/functional/test_home.py
 
from rhodecode.tests import *
 

	
 
class TestAdminController(TestController):
 
class TestHomeController(TestController):
 

	
 
    def test_index(self):
 
        self.log_user()
rhodecode/tests/functional/test_login.py
Show inline comments
 
@@ -102,7 +102,6 @@ class TestLoginController(TestController
 
                                             'email':email,
 
                                             'name':name,
 
                                             'lastname':lastname})
 
        print response.body
 
        assert response.status == '302 Found', 'Wrong response from register page got %s' % response.status
 
        assert 'You have successfully registered into rhodecode' in response.session['flash'][0], 'No flash message about user registration'
 

	
setup.py
Show inline comments
 
@@ -5,7 +5,7 @@ py_version = sys.version_info
 
requirements = [
 
        "Pylons>=1.0.0",
 
        "SQLAlchemy>=0.6.5",
 
        "Mako>=0.3.5",
 
        "Mako>=0.3.6",
 
        "vcs>=0.1.10",
 
        "pygments>=1.3.0",
 
        "mercurial>=1.6.4",
0 comments (0 inline, 0 general)