X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=tests%2Fmagtests.py;h=8075197c8d46c7a2a0c734a180754b6177da60a7;hb=7c0d8634541da5804f711a0e777b3ab03e897911;hp=27f55f2a85c8ce649fd76d73a005606d0648296b;hpb=47de8ee6c742264ff03e9e3786cca3dabbedff4c;p=mod_auth_gssapi.git diff --git a/tests/magtests.py b/tests/magtests.py index 27f55f2..8075197 100755 --- a/tests/magtests.py +++ b/tests/magtests.py @@ -23,6 +23,8 @@ def parse_args(): WRAP_HOSTNAME = "kdc.mag.dev" WRAP_IPADDR = '127.0.0.9' +WRAP_HTTP_PORT = '80' +WRAP_PROXY_PORT = '8080' def setup_wrappers(base): @@ -47,6 +49,7 @@ def setup_wrappers(base): wenv = {'LD_PRELOAD': 'libsocket_wrapper.so libnss_wrapper.so', 'SOCKET_WRAPPER_DIR': wrapdir, 'SOCKET_WRAPPER_DEFAULT_IFACE': '9', + 'WRAP_PROXY_PORT': WRAP_PROXY_PORT, 'NSS_WRAPPER_HOSTNAME': WRAP_HOSTNAME, 'NSS_WRAPPER_HOSTS': hosts_file} @@ -73,8 +76,8 @@ KRB5_CONF_TEMPLATE = ''' } [domain_realm] - .mag.dev = MAG.DEV - mag.dev = MAG.DEV + .mag.dev = ${TESTREALM} + mag.dev = ${TESTREALM} [dbmodules] ${TESTREALM} = { @@ -167,6 +170,8 @@ def kadmin_local(cmd, env, logfile): USR_NAME = "maguser" USR_PWD = "magpwd" +USR_NAME_2 = "maguser2" +USR_PWD_2 = "magpwd2" SVC_KTNAME = "httpd/http.keytab" KEY_TYPE = "aes256-cts-hmac-sha1-96:normal" @@ -188,6 +193,10 @@ def setup_keys(tesdir, env): with (open(testlog, 'a')) as logfile: kadmin_local(cmd, env, logfile) + cmd = "addprinc -pw %s -e %s %s" % (USR_PWD_2, KEY_TYPE, USR_NAME_2) + with (open(testlog, 'a')) as logfile: + kadmin_local(cmd, env, logfile) + keys_env = { "KRB5_KTNAME": svc_keytab } keys_env.update(env) @@ -212,7 +221,8 @@ def setup_http(testdir, wrapenv): text = t.substitute({'HTTPROOT': httpdir, 'HTTPNAME': WRAP_HOSTNAME, 'HTTPADDR': WRAP_IPADDR, - 'HTTPPORT': '80'}) + 'PROXYPORT': WRAP_PROXY_PORT, + 'HTTPPORT': WRAP_HTTP_PORT}) config = os.path.join(httpdir, 'httpd.conf') with open(config, 'w+') as f: f.write(text) @@ -263,6 +273,16 @@ def test_spnego_auth(testdir, testenv, testlog): else: sys.stderr.write('SPNEGO: SUCCESS\n') + with (open(testlog, 'a')) as logfile: + spnego = subprocess.Popen(["tests/t_spnego_proxy.py"], + stdout=logfile, stderr=logfile, + env=testenv, preexec_fn=os.setsid) + spnego.wait() + if spnego.returncode != 0: + sys.stderr.write('SPNEGO Proxy Auth: FAILED\n') + else: + sys.stderr.write('SPNEGO Proxy Auth: SUCCESS\n') + def test_basic_auth_krb5(testdir, testenv, testlog): @@ -280,6 +300,36 @@ def test_basic_auth_krb5(testdir, testenv, testlog): else: sys.stderr.write('BASIC-AUTH: SUCCESS\n') + with (open(testlog, 'a')) as logfile: + basick5 = subprocess.Popen(["tests/t_basic_k5_two_users.py"], + stdout=logfile, stderr=logfile, + env=testenv, preexec_fn=os.setsid) + basick5.wait() + if basick5.returncode != 0: + sys.stderr.write('BASIC-AUTH Two Users: FAILED\n') + else: + 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) + basick5.wait() + if basick5.returncode != 0: + sys.stderr.write('BASIC Proxy Auth: FAILED\n') + else: + sys.stderr.write('BASIC Proxy Auth: SUCCESS\n') + if __name__ == '__main__': @@ -310,7 +360,9 @@ if __name__ == '__main__': testenv = {'MAG_USER_NAME': USR_NAME, - 'MAG_USER_PASSWORD': USR_PWD} + 'MAG_USER_PASSWORD': USR_PWD, + 'MAG_USER_NAME_2': USR_NAME_2, + 'MAG_USER_PASSWORD_2': USR_PWD_2} testenv.update(kdcenv) test_basic_auth_krb5(testdir, testenv, testlog)