changeset 567:80dc0a23edf7

fixed whoosh failure on new repository added few tests
author Marcin Kuzminski <marcin@python-works.com>
date Sun, 10 Oct 2010 01:42:08 +0200
parents 7fcc539e20b1
children 5f481e4e888b
files rhodecode/lib/indexers/daemon.py rhodecode/lib/utils.py rhodecode/tests/functional/test_changelog.py rhodecode/tests/functional/test_login.py rhodecode/tests/functional/test_repos.py rhodecode/tests/functional/test_settings.py rhodecode/tests/functional/test_summary.py
diffstat 7 files changed, 72 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/lib/indexers/daemon.py	Sun Oct 10 00:13:03 2010 +0200
+++ b/rhodecode/lib/indexers/daemon.py	Sun Oct 10 01:42:08 2010 +0200
@@ -40,7 +40,7 @@
 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 @@
         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):
--- a/rhodecode/lib/utils.py	Sun Oct 10 00:13:03 2010 +0200
+++ b/rhodecode/lib/utils.py	Sun Oct 10 01:42:08 2010 +0200
@@ -467,8 +467,8 @@
     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)
--- a/rhodecode/tests/functional/test_changelog.py	Sun Oct 10 00:13:03 2010 +0200
+++ b/rhodecode/tests/functional/test_changelog.py	Sun Oct 10 01:42:08 2010 +0200
@@ -4,5 +4,28 @@
 
     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'
+        
--- a/rhodecode/tests/functional/test_login.py	Sun Oct 10 00:13:03 2010 +0200
+++ b/rhodecode/tests/functional/test_login.py	Sun Oct 10 01:42:08 2010 +0200
@@ -47,8 +47,8 @@
                                  {'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'),
--- a/rhodecode/tests/functional/test_repos.py	Sun Oct 10 00:13:03 2010 +0200
+++ b/rhodecode/tests/functional/test_repos.py	Sun Oct 10 01:42:08 2010 +0200
@@ -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 @@
         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 @@
         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):
--- a/rhodecode/tests/functional/test_settings.py	Sun Oct 10 00:13:03 2010 +0200
+++ b/rhodecode/tests/functional/test_settings.py	Sun Oct 10 01:42:08 2010 +0200
@@ -37,7 +37,7 @@
         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 ?
--- a/rhodecode/tests/functional/test_summary.py	Sun Oct 10 00:13:03 2010 +0200
+++ b/rhodecode/tests/functional/test_summary.py	Sun Oct 10 01:42:08 2010 +0200
@@ -4,5 +4,8 @@
 
     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...