From f206c24dfcf9bbc70d8551aaf6794d50d67feaa0 Mon Sep 17 00:00:00 2001 From: Isaac Boukris Date: Sun, 2 Aug 2015 06:02:19 +0300 Subject: [PATCH] More basic-auth tests Add test for second user on the same connection with the password of the first user and without auth at all. Reviewed-by: Simo Sorce Closes #48 --- tests/magtests.py | 10 ++++++++++ tests/t_basic_k5_fail_second.py | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100755 tests/t_basic_k5_fail_second.py diff --git a/tests/magtests.py b/tests/magtests.py index 1861f21..3e2f4fc 100755 --- a/tests/magtests.py +++ b/tests/magtests.py @@ -301,6 +301,16 @@ def test_basic_auth_krb5(testdir, testenv, testlog): sys.stderr.write('BASIC-AUTH Two Users: SUCCESS\n') with (open(testlog, 'a')) as logfile: + basick5 = subprocess.Popen(["tests/t_basic_k5_fail_second.py"], + stdout=logfile, stderr=logfile, + env=testenv, preexec_fn=os.setsid) + basick5.wait() + if basick5.returncode != 0: + sys.stderr.write('BASIC Fail Second User: FAILED\n') + else: + sys.stderr.write('BASIC Fail Second User: SUCCESS\n') + + with (open(testlog, 'a')) as logfile: basick5 = subprocess.Popen(["tests/t_basic_proxy.py"], stdout=logfile, stderr=logfile, env=testenv, preexec_fn=os.setsid) diff --git a/tests/t_basic_k5_fail_second.py b/tests/t_basic_k5_fail_second.py new file mode 100755 index 0000000..15727b8 --- /dev/null +++ b/tests/t_basic_k5_fail_second.py @@ -0,0 +1,36 @@ +#!/usr/bin/python +# Copyright (C) 2015 - mod_auth_gssapi contributors, see COPYING for license. + +import os +import requests +from requests.auth import HTTPBasicAuth + + +if __name__ == '__main__': + s = requests.Session() + + url = 'http://%s:%s@%s/basic_auth_krb5/' % (os.environ['MAG_USER_NAME'], + os.environ['MAG_USER_PASSWORD'], + os.environ['NSS_WRAPPER_HOSTNAME']) + r = s.get(url) + if r.status_code != 200: + raise ValueError('Basic Auth: Failed Authentication') + + url = 'http://%s:%s@%s/basic_auth_krb5/' % (os.environ['MAG_USER_NAME_2'], + os.environ['MAG_USER_PASSWORD'], + os.environ['NSS_WRAPPER_HOSTNAME']) + r = s.get(url) + if r.status_code == 200: + raise ValueError('Basic Auth: Got Success while expecting Error') + + url = 'http://%s:%s@%s/basic_auth_krb5/' % (os.environ['MAG_USER_NAME_2'], + os.environ['MAG_USER_PASSWORD_2'], + os.environ['NSS_WRAPPER_HOSTNAME']) + r = s.get(url) + if r.status_code != 200: + raise ValueError('Basic Auth: Failed Authentication') + + url = 'http://%s/basic_auth_krb5/' % os.environ['NSS_WRAPPER_HOSTNAME'] + r = s.get(url) + if r.status_code == 200: + raise ValueError('Basic Auth: Got Success while expecting Error') -- 2.1.4