diff options
| author | Emmanuel Raviart <eraviart@entrouvert.com> | 2004-07-20 09:54:49 +0000 |
|---|---|---|
| committer | Emmanuel Raviart <eraviart@entrouvert.com> | 2004-07-20 09:54:49 +0000 |
| commit | 5c81c45e50c627f9c4bbfbbd5f6a99f49dfe5439 (patch) | |
| tree | 0c7ee52d692626cf9662033c8f5d0465d7c3880d /python | |
| parent | 6fe0a7a0bbb74c95fd94a4f6abb2d8c1510bd1c2 (diff) | |
| download | lasso-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.py | 86 | ||||
| -rwxr-xr-x | python/tests/tests.py | 59 |
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) + |
