summaryrefslogtreecommitdiffhomepage
path: root/test.py
diff options
context:
space:
mode:
authorSebastian Deiss <s.deiss@science-computing.de>2014-02-11 13:08:11 +0100
committerSebastian Deiss <s.deiss@science-computing.de>2014-02-11 13:08:11 +0100
commit3e1f9f09b1da0397f82e4ee9e1886f5271705e29 (patch)
tree44fea1d9636830f32d95f144a8c20fbf4b2f30ad /test.py
parente7f41de2f2dac5d03404f35edc5514f12e42c49f (diff)
GSS-API / SSPI authenticated Diffie-Hellman Key Exchange and user
authentication with Python 3 support Add Python 3 support for the GSS-API / SSPI authenticated Diffie-Hellman Key Exchange and user authentication. This patch supersedes pull request #250.
Diffstat (limited to 'test.py')
-rwxr-xr-xtest.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/test.py b/test.py
index bd966d1e..a954ef27 100755
--- a/test.py
+++ b/test.py
@@ -44,6 +44,22 @@ from tests.test_packetizer import PacketizerTest
from tests.test_auth import AuthTest
from tests.test_transport import TransportTest
from tests.test_client import SSHClientTest
+from test_message import MessageTest
+from test_file import BufferedFileTest
+from test_buffered_pipe import BufferedPipeTest
+from test_util import UtilTest
+from test_hostkeys import HostKeysTest
+from test_pkey import KeyTest
+from test_kex import KexTest
+from test_packetizer import PacketizerTest
+from test_auth import AuthTest
+from test_transport import TransportTest
+from test_sftp import SFTPTest
+from test_sftp_big import BigSFTPTest
+from test_client import SSHClientTest
+from test_gssapi import GSSAPITest
+from test_ssh_gss import GSSAuthTest
+from test_kex_gss import GSSKexTest
default_host = 'localhost'
default_user = os.environ.get('USER', 'nobody')
@@ -85,6 +101,17 @@ def main():
help='skip SFTP client/server tests, which can be slow')
parser.add_option('--no-big-file', action='store_false', dest='use_big_file', default=True,
help='skip big file SFTP tests, which are slow as molasses')
+ parser.add_option('--gssapi-test', action='store_true', dest='gssapi_test', default=False,
+ help='Test the used APIs for GSS-API / SSPI authentication')
+ parser.add_option('--test-gssauth', action='store_true', dest='test_gssauth', default=False,
+ help='Test GSS-API / SSPI authentication for SSHv2. To test this, you need kerberos a infrastructure.\
+ Note: Paramiko needs access to your krb5.keytab file. Make it readable for Paramiko or\
+ copy the used key to another file and set the environment variable KRB5_KTNAME to this file.')
+ parser.add_option('--test-gssapi-keyex', action='store_true', dest='test_gsskex', default=False,
+ help='Test GSS-API / SSPI authenticated iffie-Hellman Key Exchange and user\
+ authentication. To test this, you need kerberos a infrastructure.\
+ Note: Paramiko needs access to your krb5.keytab file. Make it readable for Paramiko or\
+ copy the used key to another file and set the environment variable KRB5_KTNAME to this file.')
parser.add_option('-R', action='store_false', dest='use_loopback_sftp', default=True,
help='perform SFTP tests against a remote server (by default, SFTP tests ' +
'are done through a loopback socket)')
@@ -101,6 +128,16 @@ def main():
parser.add_option('-P', '--sftp-passwd', dest='password', type='string', default=default_passwd,
metavar='<password>',
help='[with -R] (optional) password to unlock the private key for remote sftp tests')
+ parser.add_option('--krb5_principal', dest='krb5_principal', type='string',
+ metavar='<krb5_principal>',
+ help='The krb5 principal (your username) for GSS-API / SSPI authentication')
+ parser.add_option('--targ_name', dest='targ_name', type='string',
+ metavar='<targ_name>',
+ help='Target name for GSS-API / SSPI authentication.\
+ This is the hosts name you are running the test on in the kerberos database.')
+ parser.add_option('--server_mode', action='store_true', dest='server_mode', default=False,
+ help='Usage with --gssapi-test. Test the available GSS-API / SSPI server mode to.\
+ Note: you need to have access to the kerberos keytab file.')
options, args = parser.parse_args()
@@ -136,6 +173,15 @@ def main():
suite.addTest(unittest.makeSuite(SFTPTest))
if options.use_big_file:
suite.addTest(unittest.makeSuite(BigSFTPTest))
+ if options.gssapi_test:
+ GSSAPITest.init(options.targ_name, options.server_mode)
+ suite.addTest(unittest.makeSuite(GSSAPITest))
+ if options.test_gssauth:
+ GSSAuthTest.init(options.krb5_principal, options.targ_name)
+ suite.addTest(unittest.makeSuite(GSSAuthTest))
+ if options.test_gsskex:
+ GSSKexTest.init(options.krb5_principal, options.targ_name)
+ suite.addTest(unittest.makeSuite(GSSKexTest))
verbosity = 1
if options.verbose:
verbosity = 2