Show More
@@ -39,6 +39,7 b' from rhodecode.tests import *' | |||
|
39 | 39 | from rhodecode.model.db import User, Repository, UserLog |
|
40 | 40 | from rhodecode.model.meta import Session |
|
41 | 41 | from rhodecode.model.repo import RepoModel |
|
42 | from rhodecode.model.user import UserModel | |
|
42 | 43 | |
|
43 | 44 | DEBUG = True |
|
44 | 45 | HOST = '127.0.0.1:5000' # test host |
@@ -420,3 +421,41 b' class TestVCSOperations(unittest.TestCas' | |||
|
420 | 421 | # Session.remove() |
|
421 | 422 | # r = Repository.get_by_repo_name(GIT_REPO) |
|
422 | 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