summaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
authorEmmanuel Raviart <eraviart@entrouvert.com>2004-07-20 09:54:49 +0000
committerEmmanuel Raviart <eraviart@entrouvert.com>2004-07-20 09:54:49 +0000
commit5c81c45e50c627f9c4bbfbbd5f6a99f49dfe5439 (patch)
tree0c7ee52d692626cf9662033c8f5d0465d7c3880d /python
parent6fe0a7a0bbb74c95fd94a4f6abb2d8c1510bd1c2 (diff)
downloadlasso-5c81c45e50c627f9c4bbfbbd5f6a99f49dfe5439.tar.gz
lasso-5c81c45e50c627f9c4bbfbbd5f6a99f49dfe5439.tar.xz
lasso-5c81c45e50c627f9c4bbfbbd5f6a99f49dfe5439.zip
Added Python first unit test.
Added keys, certificates and metadata, that will be used by regression tests and samples.
Diffstat (limited to 'python')
-rw-r--r--python/tests/login_tests.py86
-rwxr-xr-xpython/tests/tests.py59
2 files changed, 145 insertions, 0 deletions
diff --git a/python/tests/login_tests.py b/python/tests/login_tests.py
new file mode 100644
index 00000000..d2a0e4d3
--- /dev/null
+++ b/python/tests/login_tests.py
@@ -0,0 +1,86 @@
+#! /usr/bin/env python
+# -*- coding: UTF-8 -*-
+
+
+# PyLasso -- Python bindings for Lasso library
+#
+# Copyright (C) 2004 Entr'ouvert
+# http://lasso.entrouvert.org
+#
+# Authors: Nicolas Clapies <nclapies@entrouvert.com>
+# Valery Febvre <vfebvre@easter-eggs.com>
+# Emmanuel Raviart <eraviart@entrouvert.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+import unittest
+
+import lasso
+lasso.init()
+
+
+class LoginTestCase(unittest.TestCase):
+ def generateIdentityProviderContextDump(self):
+ serverContext = lasso.Server.new(
+ "../../examples/data/idp-metadata.xml",
+ "../../examples/idp-public-key.pem",
+ "../../examples/idp-private-key.pem",
+ "../../examples/idp-crt.pem",
+ lasso.signatureMethodRsaSha1)
+ serverContext.add_provider(
+ "../../examples/data/sp-metadata.xml",
+ "../../examples/sp-public-key.pem",
+ "../../examples/ca-crt.pem")
+ serverContextDump = serverContext.dump()
+ serverContext.destroy()
+ return serverContextDump
+
+ def generateServiceProviderContextDump(self):
+ serverContext = lasso.Server.new(
+ "../../examples/data/sp-metadata.xml",
+ "../../examples/sp-public-key.pem",
+ "../../examples/sp-private-key.pem",
+ "../../examples/sp-crt.pem",
+ lasso.signatureMethodRsaSha1)
+ serverContext.add_provider(
+ "../../examples/data/idp-metadata.xml",
+ "../../examples/idp-public-key.pem",
+ "../../examples/ca-crt.pem")
+ serverContextDump = serverContext.dump()
+ serverContext.destroy()
+ return serverContextDump
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def test01_generateServersContextDumps(self):
+ """Generate identity & service provider context dumps"""
+ identityProviderContextDump = self.generateIdentityProviderContextDump()
+ self.failUnless(identityProviderContextDump)
+ serviceProviderContextDump = self.generateServiceProviderContextDump()
+ self.failUnless(serviceProviderContextDump)
+
+
+suite1 = unittest.makeSuite(LoginTestCase, 'test')
+
+allTests = unittest.TestSuite((suite1,))
+
+if __name__ == '__main__':
+ unittest.TextTestRunner(verbosity=2).run(allTests)
+
diff --git a/python/tests/tests.py b/python/tests/tests.py
new file mode 100755
index 00000000..818abe3a
--- /dev/null
+++ b/python/tests/tests.py
@@ -0,0 +1,59 @@
+#! /usr/bin/env python
+# -*- coding: UTF-8 -*-
+
+
+# PyLasso -- Python bindings for Lasso library
+#
+# Copyright (C) 2004 Entr'ouvert
+# http://lasso.entrouvert.org
+#
+# Authors: Nicolas Clapies <nclapies@entrouvert.com>
+# Valery Febvre <vfebvre@easter-eggs.com>
+# Emmanuel Raviart <eraviart@entrouvert.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+import imp
+import sys
+import unittest
+
+
+testSuites = (
+ 'login_tests',
+ )
+
+for testSuite in testSuites:
+ fp, pathname, description = imp.find_module(testSuite)
+ try:
+ module = imp.load_module(testSuite, fp, pathname, description)
+ finally:
+ if fp:
+ fp.close()
+ if not module:
+ print 'Unable to load test suite:', testSuite
+
+ if module.__doc__:
+ doc = module.__doc__
+ else:
+ doc = testSuite
+
+ print
+ print '-' * len(doc)
+ print doc
+ print '-' * len(doc)
+
+ unittest.TextTestRunner(verbosity=2).run(module.allTests)
+