aboutsummaryrefslogtreecommitdiff
path: root/rhodecode
diff options
context:
space:
mode:
authorMarcin Kuzminski <marcin@python-works.com>2010-10-10 01:42:08 +0200
committerMarcin Kuzminski <marcin@python-works.com>2010-10-10 01:42:08 +0200
commitcbcef8b9731edc247e61f44000fb606cf00bbb82 (patch)
treef6691cfe7d9a89f53b82a6d2b1c71d6b8f71b3b8 /rhodecode
parent77e715c91891928ab72aed7ebe6994a13b87564f (diff)
fixed whoosh failure on new repository
added few tests
Diffstat (limited to 'rhodecode')
-rw-r--r--rhodecode/lib/indexers/daemon.py15
-rw-r--r--rhodecode/lib/utils.py2
-rw-r--r--rhodecode/tests/functional/test_changelog.py27
-rw-r--r--rhodecode/tests/functional/test_login.py4
-rw-r--r--rhodecode/tests/functional/test_repos.py31
-rw-r--r--rhodecode/tests/functional/test_settings.py2
-rw-r--r--rhodecode/tests/functional/test_summary.py5
7 files changed, 72 insertions, 14 deletions
diff --git a/rhodecode/lib/indexers/daemon.py b/rhodecode/lib/indexers/daemon.py
index 85ad3a7e..be52f4bf 100644
--- a/rhodecode/lib/indexers/daemon.py
+++ b/rhodecode/lib/indexers/daemon.py
@@ -40,7 +40,7 @@ from shutil import rmtree
from rhodecode.lib.indexers import INDEX_EXTENSIONS, IDX_LOCATION, SCHEMA, IDX_NAME
from time import mktime
-from vcs.exceptions import ChangesetError
+from vcs.exceptions import ChangesetError, RepositoryError
import logging
@@ -86,13 +86,16 @@ class WhooshIndexingDaemon(object):
based on repository walk function
"""
index_paths_ = set()
- for topnode, dirs, files in repo.walk('/', 'tip'):
- for f in files:
- index_paths_.add(jn(repo.path, f.path))
- for dir in dirs:
+ try:
+ for topnode, dirs, files in repo.walk('/', 'tip'):
for f in files:
index_paths_.add(jn(repo.path, f.path))
-
+ for dir in dirs:
+ for f in files:
+ index_paths_.add(jn(repo.path, f.path))
+
+ except RepositoryError:
+ pass
return index_paths_
def get_node(self, repo, path):
diff --git a/rhodecode/lib/utils.py b/rhodecode/lib/utils.py
index 5dc8ac9f..e9b2f7c8 100644
--- a/rhodecode/lib/utils.py
+++ b/rhodecode/lib/utils.py
@@ -467,8 +467,8 @@ def create_test_env(repos_test_path, config):
log.addHandler(ch)
#PART ONE create db
- log.debug('making test db in %s', repos_test_path)
dbname = config['sqlalchemy.db1.url'].split('/')[-1]
+ log.debug('making test db %s', dbname)
dbmanage = DbManage(log_sql=True, dbname=dbname, root=config['here'],
tests=True)
diff --git a/rhodecode/tests/functional/test_changelog.py b/rhodecode/tests/functional/test_changelog.py
index 1f6f559e..2c7cf645 100644
--- a/rhodecode/tests/functional/test_changelog.py
+++ b/rhodecode/tests/functional/test_changelog.py
@@ -4,5 +4,28 @@ class TestChangelogController(TestController):
def test_index(self):
self.log_user()
- response = self.app.get(url(controller='changelog', action='index',repo_name='vcs_test'))
- # Test response...
+ response = self.app.get(url(controller='changelog', action='index', repo_name='vcs_test'))
+
+ print response
+ assert """<div id="chg_20" class="container">""" in response.body, 'wrong info about number ofchanges'
+ assert """Small update at simplevcs app""" in response.body, 'missing info about commit message'
+ assert """<span class="removed" title="removed">0</span>""" in response.body, 'wrong info about removed nodes'
+ assert """<span class="changed" title="changed">2</span>""" in response.body, 'wrong info about changed nodes'
+ assert """<span class="added" title="added">1</span>""" in response.body, 'wrong info about added nodes'
+
+ #pagination
+
+ response = self.app.get(url(controller='changelog', action='index', repo_name='vcs_test'), {'page':1})
+ response = self.app.get(url(controller='changelog', action='index', repo_name='vcs_test'), {'page':2})
+ response = self.app.get(url(controller='changelog', action='index', repo_name='vcs_test'), {'page':3})
+ response = self.app.get(url(controller='changelog', action='index', repo_name='vcs_test'), {'page':4})
+ response = self.app.get(url(controller='changelog', action='index', repo_name='vcs_test'), {'page':5})
+ response = self.app.get(url(controller='changelog', action='index', repo_name='vcs_test'), {'page':6})
+ # Test response after pagination...
+
+ assert """<span class="removed" title="removed">20</span>"""in response.body, 'wrong info about number of removed'
+ assert """<span class="changed" title="changed">1</span>"""in response.body, 'wrong info about number of changes'
+ assert """<span class="added" title="added">0</span>"""in response.body, 'wrong info about number of added'
+ assert """<div class="date">commit 64: 46ad32a4f974@2010-04-20 00:33:21</div>"""in response.body, 'wrong info about commit 64'
+ assert """<div class="message"><a href="/vcs_test/changeset/46ad32a4f974">Merge with 2e6a2bf9356ca56df08807f4ad86d480da72a8f4</a></div>"""in response.body, 'wrong info about commit 64 is a merge'
+
diff --git a/rhodecode/tests/functional/test_login.py b/rhodecode/tests/functional/test_login.py
index c2b2efd3..97c82a90 100644
--- a/rhodecode/tests/functional/test_login.py
+++ b/rhodecode/tests/functional/test_login.py
@@ -47,8 +47,8 @@ class TestLoginController(TestController):
{'username':'error',
'password':'test'})
assert response.status == '200 OK', 'Wrong response from login page'
-
- assert 'Enter a value 6 characters long or more' in response.body, 'No error password message in response'
+ print response.body
+ assert 'Enter 6 characters or more' in response.body, 'No error password message in response'
def test_login_wrong_username_password(self):
response = self.app.post(url(controller='login', action='index'),
diff --git a/rhodecode/tests/functional/test_repos.py b/rhodecode/tests/functional/test_repos.py
index 2ebe2ca0..fa21aef5 100644
--- a/rhodecode/tests/functional/test_repos.py
+++ b/rhodecode/tests/functional/test_repos.py
@@ -1,8 +1,10 @@
+from rhodecode.model.db import Repository
from rhodecode.tests import *
class TestReposController(TestController):
def test_index(self):
+ self.log_user()
response = self.app.get(url('repos'))
# Test response...
@@ -10,9 +12,35 @@ class TestReposController(TestController):
response = self.app.get(url('formatted_repos', format='xml'))
def test_create(self):
- response = self.app.post(url('repos'))
+ self.log_user()
+ repo_name = 'vcs_test_new'
+ description = 'description for newly created repo'
+ private = False
+ response = self.app.post(url('repos'), {'repo_name':repo_name,
+ 'description':description,
+ 'private':private})
+
+ print response
+
+ #test if we have a message that fork is ok
+ 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
+ new_repo = self.sa.query(Repository).filter(Repository.repo_name == repo_name).one()
+
+ assert new_repo.repo_name == repo_name, 'wrong name of repo name in db'
+ assert new_repo.description == description, 'wrong description'
+
+ #test if repository is visible in the list ?
+ response = response.follow()
+
+ assert repo_name in response.body, 'missing new repo from the main repos list'
+
+
+
def test_new(self):
+ self.log_user()
response = self.app.get(url('new_repo'))
def test_new_as_xml(self):
@@ -31,6 +59,7 @@ class TestReposController(TestController):
response = self.app.post(url('repo', repo_name='vcs_test'), params=dict(_method='delete'))
def test_show(self):
+ self.log_user()
response = self.app.get(url('repo', repo_name='vcs_test'))
def test_show_as_xml(self):
diff --git a/rhodecode/tests/functional/test_settings.py b/rhodecode/tests/functional/test_settings.py
index c5ce1580..09ff35e3 100644
--- a/rhodecode/tests/functional/test_settings.py
+++ b/rhodecode/tests/functional/test_settings.py
@@ -37,7 +37,7 @@ class TestSettingsController(TestController):
fork_repo = self.sa.query(Repository).filter(Repository.repo_name == fork_name).one()
assert fork_repo.repo_name == fork_name, 'wrong name of repo name in new db fork repo'
- assert fork_repo.fork.repo_name == repo_name, 'wron fork parrent'
+ assert fork_repo.fork.repo_name == repo_name, 'wrong fork parrent'
#test if fork is visible in the list ?
diff --git a/rhodecode/tests/functional/test_summary.py b/rhodecode/tests/functional/test_summary.py
index 245cd168..76934236 100644
--- a/rhodecode/tests/functional/test_summary.py
+++ b/rhodecode/tests/functional/test_summary.py
@@ -4,5 +4,8 @@ class TestSummaryController(TestController):
def test_index(self):
self.log_user()
- response = self.app.get(url(controller='summary', action='index',repo_name='vcs_test'))
+ response = self.app.get(url(controller='summary', action='index', repo_name='vcs_test'))
+ print response
+ assert """<img style="margin-bottom:2px" class="icon" title="public repository" alt="public" src="/images/icons/lock_open.png"/>""" in response.body
+
# Test response...