From 2ae12290b0cffe61e981f1ce94d5187f5d66aef8 Mon Sep 17 00:00:00 2001 From: Lorenzo Gil Sanchez Date: Tue, 2 Apr 2013 17:07:54 +0200 Subject: [PATCH] Allow running the tests from the pysaml2 root directory. This improves previous work for running the tests via the command "python setup.py test" from a fresh clone. This can be very useful to integrate pysaml2 in a continuous integration system such as Jenkins or Travis. --- runtests.py | 2105 -------------------------- setup.py | 23 +- tests/aa_conf.py | 17 +- tests/disco_conf.py | 12 +- tests/idp_all_conf.py | 20 +- tests/idp_conf.py | 17 +- tests/idp_slo_redirect_conf.py | 16 +- tests/idp_soap_conf.py | 16 +- tests/idp_sp_conf.py | 16 +- tests/pathutils.py | 19 + tests/restrictive_idp_conf.py | 16 +- tests/server2_conf.py | 15 +- tests/server3_conf.py | 16 +- tests/server_conf.py | 18 +- tests/server_conf_syslog.py | 17 +- tests/servera_conf.py | 17 +- tests/sp_1_conf.py | 17 +- tests/sp_2_conf.py | 16 +- tests/sp_slo_redirect_conf.py | 16 +- tests/test_12_s_utils.py | 12 +- tests/test_20_assertion.py | 12 +- tests/test_21_attribute_converter.py | 6 +- tests/test_30_mdstore.py | 25 +- tests/test_31_config.py | 30 +- tests/test_40_sigver.py | 16 +- tests/test_44_authnresp.py | 10 +- tests/test_63_ecp.py | 19 +- tests/test_69_discovery.py | 16 +- tests/test_70_redirect_signing.py | 6 +- 29 files changed, 205 insertions(+), 2356 deletions(-) delete mode 100644 runtests.py create mode 100644 tests/pathutils.py diff --git a/runtests.py b/runtests.py deleted file mode 100644 index 56044ad..0000000 --- a/runtests.py +++ /dev/null @@ -1,2105 +0,0 @@ -#!/usr/bin/env python - -sources = """ -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 -""" - -import sys -import base64 -import zlib -import imp - -class DictImporter(object): - def __init__(self, sources): - self.sources = sources - - def find_module(self, fullname, path=None): - if fullname in self.sources: - return self - if fullname + '.__init__' in self.sources: - return self - return None - - def load_module(self, fullname): - # print "load_module:", fullname - from types import ModuleType - try: - s = self.sources[fullname] - is_pkg = False - except KeyError: - s = self.sources[fullname + '.__init__'] - is_pkg = True - - co = compile(s, fullname, 'exec') - module = sys.modules.setdefault(fullname, ModuleType(fullname)) - module.__file__ = "%s/%s" % (__file__, fullname) - module.__loader__ = self - if is_pkg: - module.__path__ = [fullname] - - do_exec(co, module.__dict__) - return sys.modules[fullname] - - def get_source(self, name): - res = self.sources.get(name) - if res is None: - res = self.sources.get(name + '.__init__') - return res - -if __name__ == "__main__": - if sys.version_info >= (3, 0): - exec("def do_exec(co, loc): exec(co, loc)\n") - import pickle - sources = sources.encode("ascii") # ensure bytes - sources = pickle.loads(zlib.decompress(base64.decodebytes(sources))) - else: - import cPickle as pickle - exec("def do_exec(co, loc): exec co in loc\n") - sources = pickle.loads(zlib.decompress(base64.decodestring(sources))) - - importer = DictImporter(sources) - sys.meta_path.append(importer) - - entry = "import py; raise SystemExit(py.test.cmdline.main())" - do_exec(entry, locals()) diff --git a/setup.py b/setup.py index e96a8b5..d483674 100755 --- a/setup.py +++ b/setup.py @@ -18,20 +18,22 @@ # import sys -from distutils.core import Command from setuptools import setup +from setuptools.command.test import test as TestCommand -class PyTest(Command): - user_options = [] - def initialize_options(self): - pass +class PyTest(TestCommand): + def finalize_options(self): - pass - def run(self): - import sys, subprocess - errno = subprocess.call([sys.executable, 'runtests.py']) - raise SystemExit(errno) + TestCommand.finalize_options(self) + self.test_args = [] + self.test_suite = True + + def run_tests(self): + #import here, cause outside the eggs aren't loaded + import pytest + errno = pytest.main(self.test_args) + sys.exit(errno) install_requires=[ @@ -86,5 +88,6 @@ setup( 'mongodict': ['mongodict'] }, zip_safe=False, + test_suite='tests', cmdclass={'test': PyTest}, ) diff --git a/tests/aa_conf.py b/tests/aa_conf.py index a76007f..faa26a7 100644 --- a/tests/aa_conf.py +++ b/tests/aa_conf.py @@ -2,11 +2,8 @@ from saml2 import BINDING_SOAP, BINDING_HTTP_REDIRECT, NAME_FORMAT_URI BASE = "http://localhost:8089/" -try: - from saml2.sigver import get_xmlsec_binary - xmlsec_path = get_xmlsec_binary(["/opt/local/bin"]) -except ImportError: - xmlsec_path = '/usr/bin/xmlsec1' +from pathutils import full_path, xmlsec_path + CONFIG={ "service":{ @@ -22,19 +19,19 @@ CONFIG={ "name_form": NAME_FORMAT_URI, }, }, - "subject_data": "aa.db", + "subject_data": full_path("aa.db"), } }, "entityid" : BASE+ "aa", "name" : "Rolands AA", "debug" : 1, - "key_file" : "test.key", - "cert_file" : "test.pem", + "key_file" : full_path("test.key"), + "cert_file" : full_path("test.pem"), #"xmlsec_binary" : xmlsec_path, "metadata": { - "local": ["metadata.xml", "vo_metadata.xml"], + "local": [full_path("metadata.xml"), full_path("vo_metadata.xml")], }, - "attribute_map_dir" : "attributemaps", + "attribute_map_dir" : full_path("attributemaps"), "organization": { "name": "Exempel AB", "display_name": [("Exempel AB","se"),("Example Co.","en")], diff --git a/tests/disco_conf.py b/tests/disco_conf.py index 8088c8f..1b9417f 100644 --- a/tests/disco_conf.py +++ b/tests/disco_conf.py @@ -1,14 +1,6 @@ from saml2.extension.idpdisc import BINDING_DISCO -try: - from saml2.sigver import get_xmlsec_binary -except ImportError: - get_xmlsec_binary = None - -if get_xmlsec_binary: - xmlsec_path = get_xmlsec_binary(["/opt/local/bin"]) -else: - xmlsec_path = '/usr/bin/xmlsec1' +from pathutils import full_path, xmlsec_path BASE = "http://localhost:8088" @@ -27,6 +19,6 @@ CONFIG = { "debug" : 1, "xmlsec_binary" : xmlsec_path, "metadata": { - "local": ["servera.xml"], + "local": [full_path("servera.xml")], }, } diff --git a/tests/idp_all_conf.py b/tests/idp_all_conf.py index 98d7380..8d2fa8f 100644 --- a/tests/idp_all_conf.py +++ b/tests/idp_all_conf.py @@ -1,6 +1,5 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- - from saml2 import BINDING_SOAP, BINDING_URI from saml2 import BINDING_HTTP_REDIRECT from saml2 import BINDING_HTTP_POST @@ -8,15 +7,7 @@ from saml2 import BINDING_HTTP_ARTIFACT from saml2.saml import NAMEID_FORMAT_PERSISTENT from saml2.saml import NAME_FORMAT_URI -try: - from saml2.sigver import get_xmlsec_binary -except ImportError: - get_xmlsec_binary = None - -if get_xmlsec_binary: - xmlsec_path = get_xmlsec_binary(["/opt/local/bin"]) -else: - xmlsec_path = '/usr/bin/xmlsec1' +from pathutils import full_path, xmlsec_path BASE = "http://localhost:8088" @@ -92,13 +83,14 @@ CONFIG = { }, }, "debug" : 1, - "key_file" : "test.key", - "cert_file" : "test.pem", + "key_file" : full_path("test.key"), + "cert_file" : full_path("test.pem"), "xmlsec_binary" : xmlsec_path, "metadata": { - "local": ["servera.xml", "vo_metadata.xml"], + "local": [full_path("servera.xml"), + full_path("vo_metadata.xml")], }, - "attribute_map_dir" : "attributemaps", + "attribute_map_dir" : full_path("attributemaps"), "organization": { "name": "Exempel AB", "display_name": [("Exempel ÄB","se"),("Example Co.","en")], diff --git a/tests/idp_conf.py b/tests/idp_conf.py index 2225887..a0e3a86 100644 --- a/tests/idp_conf.py +++ b/tests/idp_conf.py @@ -2,11 +2,7 @@ from saml2 import BINDING_SOAP, BINDING_HTTP_REDIRECT, BINDING_HTTP_POST from saml2.saml import NAMEID_FORMAT_PERSISTENT from saml2.saml import NAME_FORMAT_URI -try: - from saml2.sigver import get_xmlsec_binary - xmlsec_path = get_xmlsec_binary(["/opt/local/bin"]) -except ImportError: - xmlsec_path = '/usr/bin/xmlsec1' +from pathutils import full_path, xmlsec_path BASE = "http://localhost:8088" @@ -37,19 +33,20 @@ CONFIG = { # } } }, - "subject_data": "subject_data.db", + "subject_data": full_path("subject_data.db"), #"domain": "umu.se", #"name_qualifier": "" }, }, "debug" : 1, - "key_file" : "test.key", - "cert_file" : "test.pem", + "key_file" : full_path("test.key"), + "cert_file" : full_path("test.pem"), "xmlsec_binary" : xmlsec_path, "metadata": { - "local": ["metadata_sp_1.xml", "vo_metadata.xml"], + "local": [full_path("metadata_sp_1.xml"), + full_path("vo_metadata.xml")], }, - "attribute_map_dir" : "attributemaps", + "attribute_map_dir" : full_path("attributemaps"), "organization": { "name": "Exempel AB", "display_name": [("Exempel AB","se"),("Example Co.","en")], diff --git a/tests/idp_slo_redirect_conf.py b/tests/idp_slo_redirect_conf.py index 56d24bf..c38eb44 100644 --- a/tests/idp_slo_redirect_conf.py +++ b/tests/idp_slo_redirect_conf.py @@ -2,11 +2,7 @@ from saml2 import BINDING_HTTP_REDIRECT from saml2.saml import NAMEID_FORMAT_PERSISTENT from saml2.saml import NAME_FORMAT_URI -try: - from saml2.sigver import get_xmlsec_binary - xmlsec_path = get_xmlsec_binary(["/opt/local/bin"]) -except ImportError: - xmlsec_path = '/usr/bin/xmlsec1' +from pathutils import full_path, xmlsec_path CONFIG = { "entityid" : "urn:mace:example.com:saml:roland:idp", @@ -30,17 +26,17 @@ CONFIG = { "nameid_format": NAMEID_FORMAT_PERSISTENT, } }, - "subject_data": "subject_data.db", + "subject_data": full_path("subject_data.db"), } }, "debug" : 1, - "key_file" : "test.key", - "cert_file" : "test.pem", + "key_file" : full_path("test.key"), + "cert_file" : full_path("test.pem"), "xmlsec_binary" : xmlsec_path, "metadata": { - "local": ["sp_slo_redirect.xml"], + "local": [full_path("sp_slo_redirect.xml")], }, - "attribute_map_dir" : "attributemaps", + "attribute_map_dir" : full_path("attributemaps"), "organization": { "name": "Exempel AB", "display_name": [("Exempel AB","se"),("Example Co.","en")], diff --git a/tests/idp_soap_conf.py b/tests/idp_soap_conf.py index ecf5eed..580d95f 100644 --- a/tests/idp_soap_conf.py +++ b/tests/idp_soap_conf.py @@ -2,11 +2,7 @@ from saml2 import BINDING_SOAP, BINDING_HTTP_REDIRECT from saml2.saml import NAMEID_FORMAT_PERSISTENT from saml2.saml import NAME_FORMAT_URI -try: - from saml2.sigver import get_xmlsec_binary - xmlsec_path = get_xmlsec_binary(["/opt/local/bin"]) -except ImportError: - xmlsec_path = '/usr/bin/xmlsec1' +from pathutils import full_path CONFIG={ "entityid" : "urn:mace:example.com:saml:roland:idp", @@ -34,17 +30,17 @@ CONFIG={ # } } }, - "subject_data": "subject_data.db", + "subject_data": full_path("subject_data.db"), } }, "debug" : 1, - "key_file" : "test.key", - "cert_file" : "test.pem", + "key_file" : full_path("test.key"), + "cert_file" : full_path("test.pem"), #"xmlsec_binary" : xmlsec_path, "metadata": { - "local": ["metadata.xml", "vo_metadata.xml"], + "local": [full_path("metadata.xml"), full_path("vo_metadata.xml")], }, - "attribute_map_dir" : "attributemaps", + "attribute_map_dir" : full_path("attributemaps"), "organization": { "name": "Exempel AB", "display_name": [("Exempel AB","se"),("Example Co.","en")], diff --git a/tests/idp_sp_conf.py b/tests/idp_sp_conf.py index d8dee28..e4da5e6 100644 --- a/tests/idp_sp_conf.py +++ b/tests/idp_sp_conf.py @@ -6,11 +6,7 @@ from saml2.saml import NAME_FORMAT_URI BASE = "http://localhost:8088/" -try: - from saml2.sigver import get_xmlsec_binary - xmlsec_path = get_xmlsec_binary(["/opt/local/bin"]) -except ImportError: - xmlsec_path = '/usr/bin/xmlsec1' +from pathutils import full_path, xmlsec_path CONFIG = { "entityid" : "urn:mace:example.com:saml:roland:idp", @@ -39,7 +35,7 @@ CONFIG = { # } } }, - "subject_data": "subject_data.db", + "subject_data": full_path("subject_data.db"), }, "sp": { "endpoints":{ @@ -51,13 +47,13 @@ CONFIG = { } }, "debug" : 1, - "key_file" : "test.key", - "cert_file" : "test.pem", + "key_file" : full_path("test.key"), + "cert_file" : full_path("test.pem"), "xmlsec_binary" : xmlsec_path, "metadata": { - "local": ["metadata.xml", "vo_metadata.xml"], + "local": [full_path("metadata.xml"), full_path("vo_metadata.xml")], }, - "attribute_map_dir" : "attributemaps", + "attribute_map_dir" : full_path("attributemaps"), "organization": { "name": "Exempel AB", "display_name": [("Exempel AB","se"),("Example Co.","en")], diff --git a/tests/pathutils.py b/tests/pathutils.py new file mode 100644 index 0000000..4066fc7 --- /dev/null +++ b/tests/pathutils.py @@ -0,0 +1,19 @@ +import os.path + +BASEDIR = os.path.abspath(os.path.dirname(__file__)) + + +def full_path(local_file): + return os.path.join(BASEDIR, local_file) + + +try: + from saml2.sigver import get_xmlsec_binary +except ImportError: + get_xmlsec_binary = None + + +if get_xmlsec_binary: + xmlsec_path = get_xmlsec_binary(["/opt/local/bin"]) +else: + xmlsec_path = '/usr/bin/xmlsec1' diff --git a/tests/restrictive_idp_conf.py b/tests/restrictive_idp_conf.py index 347a25d..c12e1ce 100644 --- a/tests/restrictive_idp_conf.py +++ b/tests/restrictive_idp_conf.py @@ -3,11 +3,7 @@ from saml2.saml import NAME_FORMAT_URI BASE = "http://localhost:8089/" -try: - from saml2.sigver import get_xmlsec_binary - xmlsec_path = get_xmlsec_binary(["/opt/local/bin"]) -except ImportError: - xmlsec_path = '/usr/bin/xmlsec1' +from pathutils import full_path, xmlsec_path CONFIG = { "entityid" : "urn:mace:example.com:saml:roland:idpr", @@ -35,14 +31,14 @@ CONFIG = { } } }, - "subject_data": "subject_data.db", + "subject_data": full_path("subject_data.db"), } }, - "key_file" : "test.key", - "cert_file" : "test.pem", + "key_file" : full_path("test.key"), + "cert_file" : full_path("test.pem"), "xmlsec_binary" : xmlsec_path, "metadata": { - "local": ["sp_0.metadata"], + "local": [full_path("sp_0.metadata")], }, - "attribute_map_dir" : "attributemaps", + "attribute_map_dir" : full_path("attributemaps"), } diff --git a/tests/server2_conf.py b/tests/server2_conf.py index bcb5880..47de834 100644 --- a/tests/server2_conf.py +++ b/tests/server2_conf.py @@ -1,9 +1,4 @@ -try: - from saml2.sigver import get_xmlsec_binary - xmlsec_path = get_xmlsec_binary(["/opt/local/bin"]) -except ImportError: - xmlsec_path = '/usr/bin/xmlsec1' - +from pathutils import full_path, xmlsec_path CONFIG = { "entityid" : "urn:mace:example.com:saml:roland:sp", @@ -21,11 +16,11 @@ CONFIG = { } }, "debug" : 1, - "key_file" : "test.key", - "cert_file" : "test.pem", + "key_file" : full_path("test.key"), + "cert_file" : full_path("test.pem"), "xmlsec_binary" : xmlsec_path, "metadata": { - "local": ["idp_soap.xml", "vo_metadata.xml"], + "local": [full_path("idp_soap.xml"), full_path("vo_metadata.xml")], }, "virtual_organization" : { "urn:mace:example.com:it:tek":{ @@ -34,7 +29,7 @@ CONFIG = { } }, "accepted_time_diff": 60, - "attribute_map_dir" : "attributemaps", + "attribute_map_dir" : full_path("attributemaps"), "organization": { "name": ("AB Exempel", "se"), "display_name": ("AB Exempel", "se"), diff --git a/tests/server3_conf.py b/tests/server3_conf.py index b67a4a9..1da1b23 100644 --- a/tests/server3_conf.py +++ b/tests/server3_conf.py @@ -1,8 +1,4 @@ -try: - from saml2.sigver import get_xmlsec_binary - xmlsec_path = get_xmlsec_binary(["/opt/local/bin"]) -except ImportError: - xmlsec_path = '/usr/bin/xmlsec1' +from pathutils import full_path, xmlsec_path CONFIG = { "entityid" : "urn:mace:example.com:saml:roland:sp", @@ -16,15 +12,15 @@ CONFIG = { "required_attributes": ["surName", "givenName", "mail"], "optional_attributes": ["title"], "idp":["urn:mace:example.com:saml:roland:idp"], - "subject_data": "subject_data.db", + "subject_data": full_path("subject_data.db"), } }, "debug" : 1, - "key_file" : "test.key", - "cert_file" : "test.pem", + "key_file" : full_path("test.key"), + "cert_file" : full_path("test.pem"), "xmlsec_binary" : xmlsec_path, "metadata": { - "local": ["idp_aa.xml", "vo_metadata.xml"], + "local": [full_path("idp_aa.xml"), full_path("vo_metadata.xml")], }, "virtual_organization" : { "urn:mace:example.com:it:tek":{ @@ -33,7 +29,7 @@ CONFIG = { } }, "accepted_time_diff": 60, - "attribute_map_dir" : "attributemaps", + "attribute_map_dir" : full_path("attributemaps"), "organization": { "name": ("AB Exempel", "se"), "display_name": ("AB Exempel", "se"), diff --git a/tests/server_conf.py b/tests/server_conf.py index fe99454..b7b6ad2 100644 --- a/tests/server_conf.py +++ b/tests/server_conf.py @@ -1,8 +1,4 @@ -try: - from saml2.sigver import get_xmlsec_binary - xmlsec_path = get_xmlsec_binary(["/opt/local/bin"]) -except ImportError: - xmlsec_path = '/usr/bin/xmlsec1' +from pathutils import full_path, xmlsec_path CONFIG={ "entityid" : "urn:mace:example.com:saml:roland:sp", @@ -19,12 +15,12 @@ CONFIG={ } }, "debug" : 1, - "key_file" : "test.key", - "cert_file" : "test.pem", - "ca_certs": "cacerts.txt", + "key_file" : full_path("test.key"), + "cert_file" : full_path("test.pem"), + "ca_certs": full_path("cacerts.txt"), "xmlsec_binary" : xmlsec_path, "metadata": { - "local": ["idp.xml", "vo_metadata.xml"], + "local": [full_path("idp.xml"), full_path("vo_metadata.xml")], }, "virtual_organization" : { "urn:mace:example.com:it:tek":{ @@ -34,7 +30,7 @@ CONFIG={ }, "subject_data": "subject_data.db", "accepted_time_diff": 60, - "attribute_map_dir" : "attributemaps", + "attribute_map_dir" : full_path("attributemaps"), "valid_for": 6, "organization": { "name": ("AB Exempel", "se"), @@ -51,7 +47,7 @@ CONFIG={ ], "logger": { "rotating": { - "filename": "sp.log", + "filename": full_path("sp.log"), "maxBytes": 100000, "backupCount": 5, }, diff --git a/tests/server_conf_syslog.py b/tests/server_conf_syslog.py index 9c5d9ad..e76b528 100644 --- a/tests/server_conf_syslog.py +++ b/tests/server_conf_syslog.py @@ -1,10 +1,7 @@ __author__ = 'rolandh' -try: - from saml2.sigver import get_xmlsec_binary - xmlsec_path = get_xmlsec_binary(["/opt/local/bin"]) -except ImportError: - xmlsec_path = '/usr/bin/xmlsec1' +from pathutils import full_path + CONFIG={ "entityid" : "urn:mace:example.com:saml:roland:sp", @@ -21,11 +18,11 @@ CONFIG={ } }, "debug" : 1, - "key_file" : "test.key", - "cert_file" : "test.pem", + "key_file" : full_path("test.key"), + "cert_file" : full_path("test.pem"), #"xmlsec_binary" : xmlsec_path, "metadata": { - "local": ["idp.xml", "vo_metadata.xml"], + "local": [full_path("idp.xml"), full_path("vo_metadata.xml")], }, "virtual_organization" : { "urn:mace:example.com:it:tek":{ @@ -33,9 +30,9 @@ CONFIG={ "common_identifier": "umuselin", } }, - "subject_data": "subject_data.db", + "subject_data": full_path("subject_data.db"), "accepted_time_diff": 60, - "attribute_map_dir" : "attributemaps", + "attribute_map_dir" : full_path("attributemaps"), "organization": { "name": ("AB Exempel", "se"), "display_name": ("AB Exempel", "se"), diff --git a/tests/servera_conf.py b/tests/servera_conf.py index 1cf70fc..a79cbc4 100644 --- a/tests/servera_conf.py +++ b/tests/servera_conf.py @@ -7,12 +7,7 @@ from saml2 import BINDING_HTTP_ARTIFACT from saml2.saml import NAMEID_FORMAT_TRANSIENT from saml2.saml import NAMEID_FORMAT_PERSISTENT -try: - from saml2.sigver import get_xmlsec_binary - xmlsec_path = get_xmlsec_binary(["/opt/local/bin"]) -except ImportError: - xmlsec_path = '/usr/bin/xmlsec1' - +from pathutils import full_path, xmlsec_path BASE = "http://lingon.catalogix.se:8087" @@ -50,12 +45,12 @@ CONFIG={ } }, "debug": 1, - "key_file": "test.key", - "cert_file": "test.pem", - "ca_certs": "cacerts.txt", + "key_file": full_path("test.key"), + "cert_file": full_path("test.pem"), + "ca_certs": full_path("cacerts.txt"), "xmlsec_binary" : xmlsec_path, "metadata": { - "local": ["idp_all.xml", "vo_metadata.xml"], + "local": [full_path("idp_all.xml"), full_path("vo_metadata.xml")], }, "virtual_organization": { "urn:mace:example.com:it:tek":{ @@ -65,7 +60,7 @@ CONFIG={ }, "subject_data": "subject_data.db", "accepted_time_diff": 60, - "attribute_map_dir": "attributemaps", + "attribute_map_dir": full_path("attributemaps"), #"valid_for": 6, "organization": { "name": ("AB Exempel", "se"), diff --git a/tests/sp_1_conf.py b/tests/sp_1_conf.py index 7173fb5..aee542c 100644 --- a/tests/sp_1_conf.py +++ b/tests/sp_1_conf.py @@ -1,8 +1,5 @@ -try: - from saml2.sigver import get_xmlsec_binary - xmlsec_path = get_xmlsec_binary(["/opt/local/bin"]) -except ImportError: - xmlsec_path = '/usr/bin/xmlsec1' +from pathutils import full_path, xmlsec_path + CONFIG = { "entityid" : "urn:mace:example.com:saml:roland:sp", @@ -19,11 +16,11 @@ CONFIG = { } }, "debug" : 1, - "key_file" : "test.key", - "cert_file" : "test.pem", + "key_file" : full_path("test.key"), + "cert_file" : full_path("test.pem"), "xmlsec_binary" : xmlsec_path, "metadata": { - "local": ["idp.xml", "vo_metadata.xml"], + "local": [full_path("idp.xml"), full_path("vo_metadata.xml")], }, "virtual_organization" : { "urn:mace:example.com:it:tek":{ @@ -31,9 +28,9 @@ CONFIG = { "common_identifier": "umuselin", } }, - "subject_data": "subject_data.db", + "subject_data": full_path("subject_data.db"), "accepted_time_diff": 60, - "attribute_map_dir" : "attributemaps", + "attribute_map_dir" : full_path("attributemaps"), "organization": { "name": ("AB Exempel", "se"), "display_name": ("AB Exempel", "se"), diff --git a/tests/sp_2_conf.py b/tests/sp_2_conf.py index 614e0fa..a8023bd 100644 --- a/tests/sp_2_conf.py +++ b/tests/sp_2_conf.py @@ -1,8 +1,4 @@ -try: - from saml2.sigver import get_xmlsec_binary - xmlsec_path = get_xmlsec_binary(["/opt/local/bin"]) -except ImportError: - xmlsec_path = '/usr/bin/xmlsec1' +from pathutils import full_path, xmlsec_path CONFIG = { "entityid" : "urn:mace:example.com:saml:roland:sp", @@ -19,11 +15,11 @@ CONFIG = { } }, "debug" : 1, - "key_file" : "test.key", - "cert_file" : "test.pem", + "key_file" : full_path("test.key"), + "cert_file" : full_path("test.pem"), "xmlsec_binary" : xmlsec_path, "metadata": { - "local": ["idp_2.xml"], + "local": [full_path("idp_2.xml")], }, "virtual_organization" : { "urn:mace:example.com:it:tek":{ @@ -31,9 +27,9 @@ CONFIG = { "common_identifier": "umuselin", } }, - "subject_data": "subject_data.db", + "subject_data": full_path("subject_data.db"), "accepted_time_diff": 60, - "attribute_map_dir" : "attributemaps", + "attribute_map_dir" : full_path("attributemaps"), "organization": { "name": ("AB Exempel", "se"), "display_name": ("AB Exempel", "se"), diff --git a/tests/sp_slo_redirect_conf.py b/tests/sp_slo_redirect_conf.py index 21ce49d..912653e 100644 --- a/tests/sp_slo_redirect_conf.py +++ b/tests/sp_slo_redirect_conf.py @@ -2,11 +2,7 @@ from saml2 import BINDING_HTTP_REDIRECT from saml2.saml import NAMEID_FORMAT_PERSISTENT from saml2.saml import NAME_FORMAT_URI -try: - from saml2.sigver import get_xmlsec_binary - xmlsec_path = get_xmlsec_binary(["/opt/local/bin"]) -except ImportError: - xmlsec_path = '/usr/bin/xmlsec1' +from pathutils import full_path, xmlsec_path HOME = "http://lingon.catalogix.se:8087/" CONFIG = { @@ -24,15 +20,15 @@ CONFIG = { "required_attributes": ["surName", "givenName", "mail"], "optional_attributes": ["title"], "idp": ["urn:mace:example.com:saml:roland:idp"], - "subject_data": "subject_data.db", + "subject_data": full_path("subject_data.db"), } }, "debug" : 1, - "key_file" : "test.key", - "cert_file" : "test.pem", + "key_file" : full_path("test.key"), + "cert_file" : full_path("test.pem"), "xmlsec_binary" : xmlsec_path, "metadata": { - "local": ["idp_slo_redirect.xml"], + "local": [full_path("idp_slo_redirect.xml")], }, "virtual_organization" : { "urn:mace:example.com:it:tek":{ @@ -41,7 +37,7 @@ CONFIG = { } }, "accepted_time_diff": 60, - "attribute_map_dir" : "attributemaps", + "attribute_map_dir" : full_path("attributemaps"), "organization": { "name": ("AB Exempel", "se"), "display_name": ("AB Exempel", "se"), diff --git a/tests/test_12_s_utils.py b/tests/test_12_s_utils.py index dfdd894..9d41d69 100644 --- a/tests/test_12_s_utils.py +++ b/tests/test_12_s_utils.py @@ -19,6 +19,8 @@ from saml2.saml import Attribute, NAME_FORMAT_URI, AttributeValue from py.test import raises +from pathutils import full_path + SUCCESS_STATUS = """ """ @@ -273,7 +275,7 @@ def test_subject(): # --------------------------------------------------------------------------- def test_parse_attribute_map(): - (forward, backward) = utils.parse_attribute_map(["attribute.map"]) + (forward, backward) = utils.parse_attribute_map([full_path("attribute.map")]) assert _eq(forward.keys(), backward.values()) assert _eq(forward.values(), backward.keys()) @@ -300,7 +302,7 @@ def test_parse_attribute_map(): def test_identity_attribute_0(): - (forward, backward) = utils.parse_attribute_map(["attribute.map"]) + (forward, backward) = utils.parse_attribute_map([full_path("attribute.map")]) a = Attribute(name="urn:oid:2.5.4.4", name_format=NAME_FORMAT_URI, friendly_name="surName") @@ -308,14 +310,14 @@ def test_identity_attribute_0(): assert utils.identity_attribute("friendly",a,forward) == "surName" def test_identity_attribute_1(): - (forward, backward) = utils.parse_attribute_map(["attribute.map"]) + (forward, backward) = utils.parse_attribute_map([full_path("attribute.map")]) a = Attribute(name="urn:oid:2.5.4.4", name_format=NAME_FORMAT_URI) assert utils.identity_attribute("name",a,forward) == "urn:oid:2.5.4.4" assert utils.identity_attribute("friendly",a,forward) == "surName" def test_identity_attribute_2(): - (forward, backward) = utils.parse_attribute_map(["attribute.map"]) + (forward, backward) = utils.parse_attribute_map([full_path("attribute.map")]) a = Attribute(name="urn:oid:2.5.4.5", name_format=NAME_FORMAT_URI) assert utils.identity_attribute("name",a,forward) == "urn:oid:2.5.4.5" @@ -450,4 +452,4 @@ def test_signature(): assert utils.verify_signature("abcdef", arr) - \ No newline at end of file + diff --git a/tests/test_20_assertion.py b/tests/test_20_assertion.py index e675265..d9763a3 100644 --- a/tests/test_20_assertion.py +++ b/tests/test_20_assertion.py @@ -18,6 +18,8 @@ from saml2 import saml import xmldsig import xmlenc +from pathutils import full_path + ONTS = [saml, mdui, mdattr, dri, ui, idpdisc, md, xmldsig, xmlenc] def _eq(l1,l2): @@ -283,7 +285,7 @@ def test_assertion_2(): }) ava = ava.apply_policy( "", policy ) - acs = ac_factory("attributemaps") + acs = ac_factory(full_path("attributemaps")) attribute=from_local(acs, ava, policy.get_name_form("")) assert len(attribute) == 4 @@ -418,7 +420,7 @@ def test_filter_values_req_opt_4(): name="urn:oid:2.5.4.12", name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri")] - acs = attribute_converter.ac_factory("attributemaps") + acs = attribute_converter.ac_factory(full_path("attributemaps")) rava = attribute_converter.ava_fro(acs, r) oava = attribute_converter.ava_fro(acs, o) @@ -589,7 +591,7 @@ def test_filter_on_wire_representation_1(): name="urn:oid:2.5.4.12", name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri")] - acs = attribute_converter.ac_factory("attributemaps") + acs = attribute_converter.ac_factory(full_path("attributemaps")) ava = { "sn":["Hedberg"], "givenname":["Roland"], "edupersonaffiliation":["staff"],"uid":["rohe0002"]} @@ -608,10 +610,10 @@ def test_filter_on_wire_representation_2(): name="urn:oid:2.5.4.12", name_format="urn:oasis:names:tc:SAML:2.0:attrname-format:uri")] - acs = attribute_converter.ac_factory("attributemaps") + acs = attribute_converter.ac_factory(full_path("attributemaps")) ava = { "sn":["Hedberg"], "givenname":["Roland"], "title":["Master"],"uid":["rohe0002"]} ava = assertion.filter_on_wire_representation(ava, acs, r, o) - assert _eq(ava.keys(), ["sn", "givenname", "title"]) \ No newline at end of file + assert _eq(ava.keys(), ["sn", "givenname", "title"]) diff --git a/tests/test_21_attribute_converter.py b/tests/test_21_attribute_converter.py index da416fb..a0edcba 100644 --- a/tests/test_21_attribute_converter.py +++ b/tests/test_21_attribute_converter.py @@ -4,6 +4,8 @@ from saml2 import attribute_converter, saml from attribute_statement_data import * +from pathutils import full_path + def _eq(l1,l2): return set(l1) == set(l2) @@ -17,7 +19,7 @@ def test_default(): class TestAC(): def setup_class(self): - self.acs = attribute_converter.ac_factory("attributemaps") + self.acs = attribute_converter.ac_factory(full_path("attributemaps")) def test_setup(self): print self.acs @@ -157,4 +159,4 @@ class TestAC(): oava = basic_ac.fro(attr_state) assert _eq(ava.keys(), oava.keys()) - \ No newline at end of file + diff --git a/tests/test_30_mdstore.py b/tests/test_30_mdstore.py index 862a068..392ad78 100644 --- a/tests/test_30_mdstore.py +++ b/tests/test_30_mdstore.py @@ -24,11 +24,7 @@ from saml2.s_utils import UnknownPrincipal import xmldsig import xmlenc -try: - from saml2.sigver import get_xmlsec_binary - xmlsec_path = get_xmlsec_binary(["/opt/local/bin"]) -except ImportError: - xmlsec_path = '/usr/bin/xmlsec1' +from pathutils import full_path, xmlsec_path ONTS = { @@ -43,32 +39,33 @@ ONTS = { xmlenc.NAMESPACE: xmlenc } -ATTRCONV = ac_factory("attributemaps") +ATTRCONV = ac_factory(full_path("attributemaps")) METADATACONF = { "1": { - "local": ["swamid-1.0.xml"] + "local": [full_path("swamid-1.0.xml")] }, "2": { - "local": ["InCommon-metadata.xml"] + "local": [full_path("InCommon-metadata.xml")] }, "3": { - "local": ["extended.xml"] + "local": [full_path("extended.xml")] }, "7": { - "local": ["metadata_sp_1.xml", "InCommon-metadata.xml"], + "local": [full_path("metadata_sp_1.xml"), + full_path("InCommon-metadata.xml")], "remote": [ {"url": "https://kalmar2.org/simplesaml/module.php/aggregator/?id=kalmarcentral2&set=saml2", - "cert": "kalmar2.pem"}] + "cert": full_path("kalmar2.pem")}] }, "4": { - "local": ["metadata_example.xml"] + "local": [full_path("metadata_example.xml")] }, "5": { - "local": ["metadata.aaitest.xml"] + "local": [full_path("metadata.aaitest.xml")] }, "6": { - "local": ["metasp.xml"] + "local": [full_path("metasp.xml")] } } diff --git a/tests/test_31_config.py b/tests/test_31_config.py index 26f68fb..b58da04 100644 --- a/tests/test_31_config.py +++ b/tests/test_31_config.py @@ -11,6 +11,8 @@ from py.test import raises from saml2 import root_logger +from pathutils import full_path + sp1 = { "entityid" : "urn:mace:umu.se:saml:roland:sp", "service": { @@ -26,12 +28,12 @@ sp1 = { } } }, - "key_file" : "mykey.pem", - "cert_file" : "mycert.pem", + "key_file" : full_path("mykey.pem"), + "cert_file" : full_path("mycert.pem"), #"xmlsec_binary" : "/opt/local/bin/xmlsec1", "metadata": { - "local": ["metadata.xml", - "urn-mace-swami.se-swamid-test-1.0-metadata.xml"], + "local": [full_path("metadata.xml"), + full_path("urn-mace-swami.se-swamid-test-1.0-metadata.xml")], }, "virtual_organization" : { "coip":{ @@ -42,7 +44,7 @@ sp1 = { ] } }, - "attribute_map_dir": "attributemaps", + "attribute_map_dir": full_path("attributemaps"), "only_use_keys_in_metadata": True, } @@ -124,8 +126,8 @@ PDP = { }, } }, - "key_file" : "test.key", - "cert_file" : "test.pem", + "key_file" : full_path("test.key"), + "cert_file" : full_path("test.pem"), "organization": { "name": "Exempel AB", "display_name": [("Exempel AB","se"),("Example Co.","en")], @@ -295,11 +297,11 @@ def test_conf_syslog(): #noinspection PyUnresolvedReferences def test_3(): cnf = Config() - cnf.load_file("sp_1_conf") + cnf.load_file("tests.sp_1_conf") assert cnf.entityid == "urn:mace:example.com:saml:roland:sp" assert cnf.debug == 1 - assert cnf.key_file == "test.key" - assert cnf.cert_file == "test.pem" + assert cnf.key_file == full_path("test.key") + assert cnf.cert_file == full_path("test.pem") #assert cnf.xmlsec_binary == "/usr/local/bin/xmlsec1" assert cnf.accepted_time_diff == 60 assert cnf.secret == "0123456789" @@ -308,12 +310,12 @@ def test_3(): def test_sp(): cnf = SPConfig() - cnf.load_file("sp_1_conf") + cnf.load_file("tests.sp_1_conf") assert cnf.endpoint("assertion_consumer_service") == \ ["http://lingon.catalogix.se:8087/"] def test_dual(): - cnf = Config().load_file("idp_sp_conf") + cnf = Config().load_file("tests.idp_sp_conf") spe = cnf.getattr("endpoints", "sp") idpe = cnf.getattr("endpoints", "idp") @@ -333,10 +335,10 @@ def test_ecp(): def test_assertion_consumer_service(): c = IdPConfig() - c.load_file("idp_conf") + c.load_file("tests.idp_conf") c.context = "idp" - c.metadata.load("local", "InCommon-metadata.xml") + c.metadata.load("local", full_path("InCommon-metadata.xml")) entity_id = "https://www.zimride.com/shibboleth" acs = c.metadata.assertion_consumer_service(entity_id) diff --git a/tests/test_40_sigver.py b/tests/test_40_sigver.py index 9e63f86..24208f9 100644 --- a/tests/test_40_sigver.py +++ b/tests/test_40_sigver.py @@ -14,13 +14,15 @@ from saml2.sigver import xmlsec_version, get_xmlsec_cryptobackend, get_xmlsec_bi from py.test import raises -SIGNED = "saml_signed.xml" -UNSIGNED = "saml_unsigned.xml" -FALSE_SIGNED = "saml_false_signed.xml" -SIMPLE_SAML_PHP_RESPONSE = "simplesamlphp_authnresponse.xml" +from pathutils import full_path -PUB_KEY = "test.pem" -PRIV_KEY = "test.key" +SIGNED = full_path("saml_signed.xml") +UNSIGNED = full_path("saml_unsigned.xml") +FALSE_SIGNED = full_path("saml_false_signed.xml") +SIMPLE_SAML_PHP_RESPONSE = full_path("simplesamlphp_authnresponse.xml") + +PUB_KEY = full_path("test.pem") +PRIV_KEY = full_path("test.key") def _eq(l1,l2): @@ -360,7 +362,7 @@ class TestSecurityMetadata(): def setup_class(self): xmlexec = get_xmlsec_binary() md = MetadataStore([saml, samlp], None, xmlexec) - md.load("local", "metadata_cert.xml") + md.load("local", full_path("metadata_cert.xml")) crypto = get_xmlsec_cryptobackend() self.sec = sigver.SecurityContext(crypto, key_file=PRIV_KEY, diff --git a/tests/test_44_authnresp.py b/tests/test_44_authnresp.py index 9d002f3..39c9fa2 100644 --- a/tests/test_44_authnresp.py +++ b/tests/test_44_authnresp.py @@ -7,8 +7,10 @@ from saml2.server import Server from saml2.response import authn_response from saml2.config import config_factory -XML_RESPONSE_FILE = "saml_signed.xml" -XML_RESPONSE_FILE2 = "saml2_response.xml" +from pathutils import full_path + +XML_RESPONSE_FILE = full_path("saml_signed.xml") +XML_RESPONSE_FILE2 = full_path("saml2_response.xml") def _eq(l1,l2): return set(l1) == set(l2) @@ -20,7 +22,7 @@ IDENTITY = {"eduPersonAffiliation": ["staff", "member"], class TestAuthnResponse: def setup_class(self): - server = Server("idp_conf") + server = Server("tests.idp_conf") name_id = server.ident.transient_nameid( "urn:mace:example.com:saml:roland:sp","id12") authn = (AUTHN_PASSWORD, "http://www.example.com/login") @@ -49,7 +51,7 @@ class TestAuthnResponse: name_id = name_id, authn=authn) - self.conf = config_factory("sp", "server_conf") + self.conf = config_factory("sp", "tests.server_conf") self.conf.only_use_keys_in_metadata = False self.ar = authn_response(self.conf, "http://lingon.catalogix.se:8087/") diff --git a/tests/test_63_ecp.py b/tests/test_63_ecp.py index 15c5ee0..03f07f8 100644 --- a/tests/test_63_ecp.py +++ b/tests/test_63_ecp.py @@ -14,6 +14,8 @@ from saml2 import create_class_from_xml_string from saml2.profile import ecp as ecp_prof from saml2.client import Saml2Client +from pathutils import full_path, xmlsec_path + __author__ = 'rolandh' @@ -23,26 +25,17 @@ def _eq(l1, l2): else: return len(l1) == len(l2) -try: - from saml2.sigver import get_xmlsec_binary -except ImportError: - get_xmlsec_binary = None - -if get_xmlsec_binary: - xmlsec_path = get_xmlsec_binary(["/opt/local/bin"]) -else: - xmlsec_path = '/usr/bin/xmlsec1' - class DummyResponse(object): def __init__(self, headers): self.headers = headers def test_complete_flow(): - client = ecp_client.Client("user", "password", metadata_file="idp_all.xml", + client = ecp_client.Client("user", "password", + metadata_file=full_path("idp_all.xml"), xmlsec_binary=xmlsec_path) - sp = Saml2Client(config_file="servera_conf") - idp = Server(config_file="idp_all_conf") + sp = Saml2Client(config_file="tests.servera_conf") + idp = Server(config_file="tests.idp_all_conf") IDP_ENTITY_ID = idp.config.entityid #SP_ENTITY_ID = sp.config.entityid diff --git a/tests/test_69_discovery.py b/tests/test_69_discovery.py index bae7dda..b846448 100644 --- a/tests/test_69_discovery.py +++ b/tests/test_69_discovery.py @@ -7,26 +7,26 @@ def _eq(l1,l2): return set(l1) == set(l2) def test_verify(): - ds = DiscoveryServer(config_file="disco_conf") + ds = DiscoveryServer(config_file="tests.disco_conf") assert ds assert ds.verify_sp_in_metadata("urn:mace:example.com:saml:roland:sp") def test_construct_0(): - sp = Saml2Client(config_file="servera_conf") + sp = Saml2Client(config_file="tests.servera_conf") url = sp.create_discovery_service_request("http://example.com/saml/disco", "https://example.com/saml/sp.xml") assert url == "http://example.com/saml/disco?entityID=https%3A%2F%2Fexample.com%2Fsaml%2Fsp.xml" def test_construct_1(): - sp = Saml2Client(config_file="servera_conf") + sp = Saml2Client(config_file="tests.servera_conf") url = sp.create_discovery_service_request("http://example.com/saml/disco", "https://example.com/saml/sp.xml") assert url == "http://example.com/saml/disco?entityID=https%3A%2F%2Fexample.com%2Fsaml%2Fsp.xml" def test_construct_deconstruct_request(): - sp = Saml2Client(config_file="servera_conf") + sp = Saml2Client(config_file="tests.servera_conf") url = sp.create_discovery_service_request("http://example.com/saml/disco", "https://example.com/saml/sp.xml", is_passive=True, @@ -35,20 +35,20 @@ def test_construct_deconstruct_request(): print url - ds = DiscoveryServer(config_file="disco_conf") + ds = DiscoveryServer(config_file="tests.disco_conf") dsr = ds.parse_discovery_service_request(url) # policy is added by the parsing and verifying method assert _eq(dsr.keys(),["return_url", "entityID", "returnIDParam", "isPassive", "policy"]) def test_construct_deconstruct_response(): - sp = Saml2Client(config_file="servera_conf") + sp = Saml2Client(config_file="tests.servera_conf") url = sp.create_discovery_service_request("http://example.com/saml/disco", "https://example.com/saml/sp.xml", is_passive=True, returnIDParam="foo", return_url="https://example.com/saml/sp/disc") - ds = DiscoveryServer(config_file="disco_conf") + ds = DiscoveryServer(config_file="tests.disco_conf") dsr = ds.parse_discovery_service_request(url) args = dict([(key, dsr[key]) for key in ["returnIDParam", "return_url"]]) url = ds.create_discovery_service_response( @@ -56,4 +56,4 @@ def test_construct_deconstruct_response(): **args) idp_id = sp.parse_discovery_service_response(url, returnIDParam="foo") - assert idp_id == "https://example.com/saml/idp.xml" \ No newline at end of file + assert idp_id == "https://example.com/saml/idp.xml" diff --git a/tests/test_70_redirect_signing.py b/tests/test_70_redirect_signing.py index 6dd9fc6..e0ea6ec 100644 --- a/tests/test_70_redirect_signing.py +++ b/tests/test_70_redirect_signing.py @@ -10,10 +10,10 @@ from urlparse import parse_qs __author__ = 'rolandh' -idp = Server(config_file="idp_all_conf") +idp = Server(config_file="tests.idp_all_conf") conf = SPConfig() -conf.load_file("servera_conf") +conf.load_file("tests.servera_conf") sp = Saml2Client(conf) def test(): @@ -41,4 +41,4 @@ def test(): if verify_redirect_signature(_dict, cert): verified_ok = True - assert verified_ok \ No newline at end of file + assert verified_ok