changeset 7178:b752e8e27e76

tests: add test_push_with_readonly_credentials
author domruf <dominikruf@gmail.com>
date Thu, 25 Jan 2018 21:49:14 +0100
parents 124600ca326e
children 9bc1ee41df8c
files kallithea/tests/other/test_vcs_operations.py
diffstat 1 files changed, 20 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/kallithea/tests/other/test_vcs_operations.py	Tue Feb 20 20:31:18 2018 +0100
+++ b/kallithea/tests/other/test_vcs_operations.py	Thu Jan 25 21:49:14 2018 +0100
@@ -321,6 +321,26 @@
 
         assert 'fatal: Authentication failed' in stderr
 
+    def test_push_with_readonly_credentials_hg(self, webserver):
+        dest_dir = _get_tmp_dir()
+        clone_url = webserver.repo_url(HG_REPO, username=TEST_USER_REGULAR_LOGIN, password=TEST_USER_REGULAR_PASS)
+        stdout, stderr = Command(TESTS_TMP_PATH).execute('hg clone', clone_url, dest_dir)
+
+        stdout, stderr = _add_files_and_push(webserver, 'hg', dest_dir, username=TEST_USER_REGULAR_LOGIN,
+                                             password=TEST_USER_REGULAR_PASS, ignoreReturnCode=True)
+
+        assert 'abort: HTTP Error 403: Forbidden' in stderr
+
+    def test_push_with_readonly_credentials_git(self, webserver):
+        dest_dir = _get_tmp_dir()
+        clone_url = webserver.repo_url(GIT_REPO, username=TEST_USER_REGULAR_LOGIN, password=TEST_USER_REGULAR_PASS)
+        stdout, stderr = Command(TESTS_TMP_PATH).execute('git clone', clone_url, dest_dir)
+
+        stdout, stderr = _add_files_and_push(webserver, 'git', dest_dir, username=TEST_USER_REGULAR_LOGIN,
+                                             password=TEST_USER_REGULAR_PASS, ignoreReturnCode=True)
+
+        assert 'The requested URL returned error: 403' in stderr
+
     def test_push_back_to_wrong_url_hg(self, webserver):
         dest_dir = _get_tmp_dir()
         clone_url = webserver.repo_url(HG_REPO)