Show More
@@ -39,6 +39,7 b' from rhodecode.tests import *' | |||||
39 | from rhodecode.model.db import User, Repository, UserLog |
|
39 | from rhodecode.model.db import User, Repository, UserLog | |
40 | from rhodecode.model.meta import Session |
|
40 | from rhodecode.model.meta import Session | |
41 | from rhodecode.model.repo import RepoModel |
|
41 | from rhodecode.model.repo import RepoModel | |
|
42 | from rhodecode.model.user import UserModel | |||
42 |
|
43 | |||
43 | DEBUG = True |
|
44 | DEBUG = True | |
44 | HOST = '127.0.0.1:5000' # test host |
|
45 | HOST = '127.0.0.1:5000' # test host | |
@@ -420,3 +421,41 b' class TestVCSOperations(unittest.TestCas' | |||||
420 | # Session.remove() |
|
421 | # Session.remove() | |
421 | # r = Repository.get_by_repo_name(GIT_REPO) |
|
422 | # r = Repository.get_by_repo_name(GIT_REPO) | |
422 | # assert r.locked == [None, None] |
|
423 | # assert r.locked == [None, None] | |
|
424 | ||||
|
425 | def test_ip_restriction_hg(self): | |||
|
426 | user_model = UserModel() | |||
|
427 | new_ip = user_model.add_extra_ip(TEST_USER_ADMIN_LOGIN, '10.10.10.10/32') | |||
|
428 | Session().commit() | |||
|
429 | clone_url = _construct_url(HG_REPO) | |||
|
430 | stdout, stderr = Command('/tmp').execute('hg clone', clone_url) | |||
|
431 | assert 'abort: HTTP Error 403: Forbidden' in stderr | |||
|
432 | ||||
|
433 | #release IP restrictions | |||
|
434 | clone_url = _construct_url(HG_REPO) | |||
|
435 | user_model.delete_extra_ip(TEST_USER_ADMIN_LOGIN, new_ip.ip_id) | |||
|
436 | Session().commit() | |||
|
437 | stdout, stderr = Command('/tmp').execute('hg clone', clone_url) | |||
|
438 | ||||
|
439 | assert 'requesting all changes' in stdout | |||
|
440 | assert 'adding changesets' in stdout | |||
|
441 | assert 'adding manifests' in stdout | |||
|
442 | assert 'adding file changes' in stdout | |||
|
443 | ||||
|
444 | assert stderr == '' | |||
|
445 | ||||
|
446 | def test_ip_restriction_git(self): | |||
|
447 | user_model = UserModel() | |||
|
448 | new_ip = user_model.add_extra_ip(TEST_USER_ADMIN_LOGIN, '10.10.10.10/32') | |||
|
449 | Session().commit() | |||
|
450 | clone_url = _construct_url(GIT_REPO) | |||
|
451 | stdout, stderr = Command('/tmp').execute('git clone', clone_url) | |||
|
452 | assert 'error: The requested URL returned error: 403 Forbidden' in stderr | |||
|
453 | ||||
|
454 | #release IP restrictions | |||
|
455 | clone_url = _construct_url(GIT_REPO) | |||
|
456 | user_model.delete_extra_ip(TEST_USER_ADMIN_LOGIN, new_ip.ip_id) | |||
|
457 | Session().commit() | |||
|
458 | stdout, stderr = Command('/tmp').execute('git clone', clone_url) | |||
|
459 | ||||
|
460 | assert 'Cloning into' in stdout | |||
|
461 | assert stderr == '' |
General Comments 0
You need to be logged in to leave comments.
Login now