aboutsummaryrefslogtreecommitdiff
path: root/rhodecode
diff options
context:
space:
mode:
authorMarcin Kuzminski <marcin@python-works.com>2013-01-21 00:30:58 +0100
committerMarcin Kuzminski <marcin@python-works.com>2013-01-21 00:30:58 +0100
commit799dfa3a01b19e37131000c1a726bdac8449d52f (patch)
tree5a7adffbcb13d9323b4f9c42441076ad5248396d /rhodecode
parent9916bff218a28cb08ed9e18927d154b184174932 (diff)
fixed ip restriction tests when runned multiple times.
Added sleep to fix cache issues --HG-- branch : beta extra : amend_source : d9fd20b957f6d5acc54fe8f28556704c08d5c00b
Diffstat (limited to 'rhodecode')
-rwxr-xr-xrhodecode/tests/scripts/test_vcs_operations.py47
1 files changed, 28 insertions, 19 deletions
diff --git a/rhodecode/tests/scripts/test_vcs_operations.py b/rhodecode/tests/scripts/test_vcs_operations.py
index c46ee3ba..1ff86130 100755
--- a/rhodecode/tests/scripts/test_vcs_operations.py
+++ b/rhodecode/tests/scripts/test_vcs_operations.py
@@ -29,6 +29,7 @@
import os
import tempfile
import unittest
+import time
from os.path import join as jn
from os.path import dirname as dn
@@ -36,7 +37,7 @@ from tempfile import _RandomNameSequence
from subprocess import Popen, PIPE
from rhodecode.tests import *
-from rhodecode.model.db import User, Repository, UserLog
+from rhodecode.model.db import User, Repository, UserLog, UserIpMap
from rhodecode.model.meta import Session
from rhodecode.model.repo import RepoModel
from rhodecode.model.user import UserModel
@@ -424,17 +425,21 @@ class TestVCSOperations(unittest.TestCase):
def test_ip_restriction_hg(self):
user_model = UserModel()
- new_ip = user_model.add_extra_ip(TEST_USER_ADMIN_LOGIN, '10.10.10.10/32')
- Session().commit()
+ try:
+ user_model.add_extra_ip(TEST_USER_ADMIN_LOGIN, '10.10.10.10/32')
+ Session().commit()
+ clone_url = _construct_url(HG_REPO)
+ stdout, stderr = Command('/tmp').execute('hg clone', clone_url)
+ assert 'abort: HTTP Error 403: Forbidden' in stderr
+ finally:
+ #release IP restrictions
+ for ip in UserIpMap.getAll():
+ UserIpMap.delete(ip.ip_id)
+ Session().commit()
+
+ time.sleep(2)
clone_url = _construct_url(HG_REPO)
stdout, stderr = Command('/tmp').execute('hg clone', clone_url)
- assert 'abort: HTTP Error 403: Forbidden' in stderr
-
- #release IP restrictions
- clone_url = _construct_url(HG_REPO)
- user_model.delete_extra_ip(TEST_USER_ADMIN_LOGIN, new_ip.ip_id)
- Session().commit()
- stdout, stderr = Command('/tmp').execute('hg clone', clone_url)
assert 'requesting all changes' in stdout
assert 'adding changesets' in stdout
@@ -445,17 +450,21 @@ class TestVCSOperations(unittest.TestCase):
def test_ip_restriction_git(self):
user_model = UserModel()
- new_ip = user_model.add_extra_ip(TEST_USER_ADMIN_LOGIN, '10.10.10.10/32')
- Session().commit()
+ try:
+ user_model.add_extra_ip(TEST_USER_ADMIN_LOGIN, '10.10.10.10/32')
+ Session().commit()
+ clone_url = _construct_url(GIT_REPO)
+ stdout, stderr = Command('/tmp').execute('git clone', clone_url)
+ assert 'error: The requested URL returned error: 403 Forbidden' in stderr
+ finally:
+ #release IP restrictions
+ for ip in UserIpMap.getAll():
+ UserIpMap.delete(ip.ip_id)
+ Session().commit()
+
+ time.sleep(2)
clone_url = _construct_url(GIT_REPO)
stdout, stderr = Command('/tmp').execute('git clone', clone_url)
- assert 'error: The requested URL returned error: 403 Forbidden' in stderr
-
- #release IP restrictions
- clone_url = _construct_url(GIT_REPO)
- user_model.delete_extra_ip(TEST_USER_ADMIN_LOGIN, new_ip.ip_id)
- Session().commit()
- stdout, stderr = Command('/tmp').execute('git clone', clone_url)
assert 'Cloning into' in stdout
assert stderr == ''