changeset 1047:15b60f83420c beta

tests update
author Marcin Kuzminski <marcin@python-works.com>
date Tue, 15 Feb 2011 01:36:50 +0100
parents 9e93cad9357b
children ab09064ba7cf
files rhodecode/tests/__init__.py rhodecode/tests/functional/test_files.py rhodecode/tests/test_hg_operations.py
diffstat 3 files changed, 96 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/tests/__init__.py	Tue Feb 15 01:36:35 2011 +0100
+++ b/rhodecode/tests/__init__.py	Tue Feb 15 01:36:50 2011 +0100
@@ -62,7 +62,6 @@
         response = self.app.post(url(controller='login', action='index'),
                                  {'username':username,
                                   'password':password})
-        print response
 
         if 'invalid user name' in response.body:
             assert False, 'could not login using %s %s' % (username, password)
--- a/rhodecode/tests/functional/test_files.py	Tue Feb 15 01:36:35 2011 +0100
+++ b/rhodecode/tests/functional/test_files.py	Tue Feb 15 01:36:50 2011 +0100
@@ -237,5 +237,71 @@
                                         fname=fname))
             assert 'Unknown revision' in response.body
 
+    #==========================================================================
+    # RAW FILE
+    #==========================================================================
+    def test_raw_file_ok(self):
+        self.log_user()
+        response = self.app.get(url(controller='files', action='rawfile',
+                                    repo_name=HG_REPO,
+                                    revision='27cd5cce30c96924232dffcd24178a07ffeb5dfc',
+                                    f_path='vcs/nodes.py'))
+        assert False
+        #TODO: put in more
+    def test_raw_file_wrong_cs(self):
+        self.log_user()
+        rev = u'ERRORcce30c96924232dffcd24178a07ffeb5dfc'
+        f_path = 'vcs/nodes.py'
+
+        response = self.app.get(url(controller='files', action='rawfile',
+                                    repo_name=HG_REPO,
+                                    revision='ERRORce30c96924232dffcd24178a07ffeb5dfc',
+                                    f_path='vcs/nodes.py'))
+        print response.session['flash']
+        assert """Revision %r does not exist for this repository""" % (rev) in response.session['flash'][0], 'No flash message'
+        assert """%s""" % (HG_REPO) in response.session['flash'][0], 'No flash message'
+
 
 
+    def test_raw_file_wrong_f_path(self):
+        self.log_user()
+        rev = '27cd5cce30c96924232dffcd24178a07ffeb5dfc'
+        f_path = 'vcs/ERRORnodes.py'
+        response = self.app.get(url(controller='files', action='rawfile',
+                                    repo_name=HG_REPO,
+                                    revision=rev,
+                                    f_path=f_path))
+        assert "There is no file nor directory at the given path %r at revision %r" % (f_path, rev) in response.session['flash'][0], 'No flash message'
+
+    #==========================================================================
+    # RAW
+    #==========================================================================
+    def test_raw_ok(self):
+        self.log_user()
+        response = self.app.get(url(controller='files', action='raw',
+                                    repo_name=HG_REPO,
+                                    revision='27cd5cce30c96924232dffcd24178a07ffeb5dfc',
+                                    f_path='vcs/nodes.py'))
+        assert False
+        #TODO: put in more
+    def test_raw_wrong_cs(self):
+        self.log_user()
+        rev = 'ERRORcce30c96924232dffcd24178a07ffeb5dfc'
+        f_path = 'vcs/nodes.py'
+
+        response = self.app.get(url(controller='files', action='raw',
+                                    repo_name=HG_REPO,
+                                    revision='ERRORce30c96924232dffcd24178a07ffeb5dfc',
+                                    f_path='vcs/nodes.py'))
+        assert "Cannot find revision %s" % rev in response.session['flash'][0], 'No flash message'
+
+    def test_raw_wrong_f_path(self):
+        self.log_user()
+        rev = '27cd5cce30c96924232dffcd24178a07ffeb5dfc'
+        f_path = 'vcs/ERRORnodes.py'
+        response = self.app.get(url(controller='files', action='raw',
+                                    repo_name=HG_REPO,
+                                    revision=rev,
+                                    f_path=f_path))
+        assert "There is no file nor directory at the given path %r at revision %r" % (f_path, rev) in response.session['flash'][0], 'No flash message'
+
--- a/rhodecode/tests/test_hg_operations.py	Tue Feb 15 01:36:35 2011 +0100
+++ b/rhodecode/tests/test_hg_operations.py	Tue Feb 15 01:36:50 2011 +0100
@@ -77,6 +77,8 @@
 
     if force and user is not None:
         print 'removing current user'
+        for repo in sa.query(Repository).filter(Repository.user == user).all():
+            sa.delete(repo)
         sa.delete(user)
         sa.commit()
 
@@ -117,6 +119,19 @@
         rm.base_path = '/home/hg'
         rm.create(form_data, user)
 
+
+def set_anonymous_access(enable=True):
+    sa = get_session()
+    user = sa.query(User).filter(User.username == 'default').one()
+    user.active = enable
+    sa.add(user)
+    sa.commit()
+
+def get_anonymous_access():
+    sa = get_session()
+    return sa.query(User).filter(User.username == 'default').one().active
+
+
 #==============================================================================
 # TESTS
 #==============================================================================
@@ -157,6 +172,12 @@
         raise
 
 
+    print 'checking if anonymous access is enabled'
+    anonymous_access = get_anonymous_access()
+    if not anonymous_access:
+        print 'not enabled, enabling it '
+        set_anonymous_access(enable=True)
+
     clone_url = 'http://%(host)s/%(cloned_repo)s %(dest)s' % \
                   {'user':USER,
                    'pass':PASS,
@@ -166,9 +187,17 @@
 
     stdout, stderr = Command(cwd).execute('hg clone', clone_url)
     print stdout, stderr
+
+
     assert """adding file changes""" in stdout, 'no messages about cloning'
     assert """abort""" not in stderr , 'got error from clone'
 
+    #disable if it was enabled
+    if not anonymous_access:
+        print 'disabling anonymous access'
+        set_anonymous_access(enable=False)
+
+
 def test_clone_wrong_credentials():
     cwd = path = jn(TESTS_TMP_PATH, HG_REPO)
 
@@ -296,7 +325,7 @@
     #test_clone_wrong_credentials()
 
     #test_pull()
-    test_push_new_file(commits=3)
+    test_push_new_file(commits=2)
     #test_push_wrong_path()
     #test_push_wrong_credentials()