summaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
authorEmmanuel Raviart <eraviart@entrouvert.com>2004-08-28 21:37:18 +0000
committerEmmanuel Raviart <eraviart@entrouvert.com>2004-08-28 21:37:18 +0000
commit2ca1008182b5767b0715f9c1fe0deab3d0d2e8a6 (patch)
tree3d67453696feef0f31d5bddb10570154a4fe3f4b /python
parent2988cacb8d34cba4c8c2479996a4d672ed6bce45 (diff)
downloadlasso-2ca1008182b5767b0715f9c1fe0deab3d0d2e8a6.tar.gz
lasso-2ca1008182b5767b0715f9c1fe0deab3d0d2e8a6.tar.xz
lasso-2ca1008182b5767b0715f9c1fe0deab3d0d2e8a6.zip
SWIG now produces high-level bindings.
(python/Makefile.am needs some cleaning IMHO, but I don't understant it).
Diffstat (limited to 'python')
-rw-r--r--python/Makefile.am16
-rw-r--r--python/lasso.py715
-rwxr-xr-xpython/tests/profiles_tests.py10
3 files changed, 13 insertions, 728 deletions
diff --git a/python/Makefile.am b/python/Makefile.am
index 7e2c55ef..515d876d 100644
--- a/python/Makefile.am
+++ b/python/Makefile.am
@@ -1,21 +1,21 @@
INCLUDES = -I$(top_srcdir)
pythondir= $(PY_SITE_PACKAGES)
-python_DATA = lassomod.py lasso.py
-python_LTLIBRARIES = _lassomod.la
+python_DATA = lasso.py
+python_LTLIBRARIES = _lasso.la
-PYTHON_PACKAGE=lassomod
+PYTHON_PACKAGE=lasso
-_lassomod_la_SOURCES = $(PYTHON_PACKAGE)_wrap.c
+_lasso_la_SOURCES = $(PYTHON_PACKAGE)_wrap.c
-_lassomod_la_CFLAGS = $(LASSO_CFLAGS) \
+_lasso_la_CFLAGS = $(LASSO_CFLAGS) \
-DSWIG_COBJECT_TYPES \
$(PY_CFLAGS)
-_lassomod_la_LIBADD = $(top_builddir)/lasso/liblasso.la \
+_lasso_la_LIBADD = $(top_builddir)/lasso/liblasso.la \
$(LASSO_LIBS)
-_lassomod_la_LDFLAGS = -no-undefined \
+_lasso_la_LDFLAGS = -no-undefined \
-module -avoid-version
$(PYTHON_PACKAGE)_wrap.c $(PYTHON_PACKAGE).py: $(top_srcdir)/swig/Lasso.i
@@ -30,7 +30,7 @@ SWIG_OUTPUTS = $(PYTHON_PACKAGE)_wrap.c $(PYTHON_PACKAGE).py
# In distribution, swig generated files are present.
-EXTRA_DIST = $(SWIG_OUTPUTS) lasso.py
+EXTRA_DIST = $(SWIG_OUTPUTS)
# In case of....
CLEANFILES = *.pyc
diff --git a/python/lasso.py b/python/lasso.py
deleted file mode 100644
index c1d7fad7..00000000
--- a/python/lasso.py
+++ /dev/null
@@ -1,715 +0,0 @@
-#! /usr/bin/env python
-# -*- coding: utf-8 -*-
-#
-# $Id$
-#
-# PyLasso - High-level Python bindings for Lasso Library
-#
-# Copyright (C) 2004 Entr'ouvert
-# http://lasso.entrouvert.org
-#
-# Author: 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
-
-
-__docformat__ = "plaintext en"
-
-
-import lassomod
-
-
-################################################################################
-# Constants
-################################################################################
-
-
-def _initConstants():
- """Copy constants from module lassomod.
-
- They are copied in two forms :
-
- - as a global variable, with the 'lasso' prefix removed and the first letter in lower case,
-
- - as an item in a global dictionnary of all constants having the same prefix.
- """
-
- constantPrefixes = (
- 'lassoHttpMethod', 'lassoLibConsent', 'lassoLibNameIDPolicyType',
- 'lassoLibProtocolProfile', 'lassoLoginProtocolProfile', 'lassoMessageType',
- 'lassoProviderType', 'lassoRequestType', 'lassoSamlAuthenticationMethod',
- 'lassoSignatureMethod')
- globals_ = globals()
- for constantName, constantValue in lassomod.__dict__.iteritems():
- for contantPrefix in constantPrefixes:
- if constantName.startswith(contantPrefix):
- globals_[constantName[5].lower() + constantName[6:]] = constantValue
- constantPlural = contantPrefix[5].lower() + contantPrefix[6:] + 's'
- constantCore = constantName[len(contantPrefix)].lower() \
- + constantName[len(contantPrefix) + 1:]
- if constantPlural in globals_:
- globals_[constantPlural][constantCore] = constantValue
- else:
- globals_[constantPlural] = {constantCore: constantValue}
-
-_initConstants()
-
-
-################################################################################
-# Errors
-################################################################################
-
-
-class Error(Exception):
- code = None # Use positive error codes for binding specific errors.
- functionName = None
-
- def __init__(self, functionName):
- self.functionName = functionName
-
- def __str__(self):
- return repr(self.msg)
-
-
-class ErrorUnknown(Error):
- def __init__(self, code, functionName):
- Error.__init__(self, functionName)
- self.code = code
-
- def __str__(self):
- return 'Unknown error number %d in Lasso function %s' % (self.code, self.functionName)
-
-
-# Binding specific errors
-
-
-class ErrorLassoAlreadyInitialized(Error):
- code = 1
- msg = 'Lasso already initialized'
-
-
-class ErrorLassoNotInitialized(Error):
- code = 2
- msg = 'Lasso not initialized or already shotdown'
-
-
-class ErrorInstanceCreationFailed(Error):
- code = 3
-
- def __str__(self):
- return 'Instance creation failed in Lasso function %s()' % self.functionName
-
-
-class ErrorUnknownRequestType(Error):
- code = 4
- requestType = None
-
- def __init__(self, functionName, requestType):
- super(ErrorUnknownRequestType, self).__init__(functionName)
- self.requestType = requestType
-
- def __str__(self):
- return 'Unknown request type (= %s) in Lasso function %s()' % (
- self.requestType, self.functionName)
-
-
-class ErrorUnknownResponseType(Error):
- code = 5
- responseType = None
-
- def __init__(self, functionName, responseType):
- super(ErrorUnknownResponseType, self).__init__(functionName)
- self.responseType = responseType
-
- def __str__(self):
- return 'Unknown response type (= %s) in Lasso function %s()' % (
- self.responseType, self.functionName)
-
-
-# Lasso errors
-
-
-class ProfileErrorInvalidQuery(Error):
- code = lassomod.LASSO_PROFILE_ERROR_INVALID_QUERY
-
- def __str__(self):
- return 'Invalid query in Lasso function %s()' % self.functionName
-
-
-class LogoutErrorUnsupportedProfile(Error):
- code = lassomod.LASSO_LOGOUT_ERROR_UNSUPPORTED_PROFILE
-
- def __str__(self):
- return 'Unsupported logout profile in Lasso function %s()' % self.functionName
-
-
-def newError(code, functionName):
- # FIXME: Use proper ErrorClass, when Lasso will have well defined error codes.
- if code == lassomod.LASSO_PROFILE_ERROR_INVALID_QUERY:
- return ProfileErrorInvalidQuery(functionName)
- elif code == lassomod.LASSO_LOGOUT_ERROR_UNSUPPORTED_PROFILE:
- return LogoutErrorUnsupportedProfile(functionName)
- else:
- return ErrorUnknown(code, functionName)
-
-
-################################################################################
-# Common
-################################################################################
-
-
-_registeredClasses = {}
-
-
-class _ObjectMixin(object):
- """Abstract mixin class"""
-
- # Constants
-
- lassomodClass = None
-
- # Attributes
-
- def get_parent(self):
- parent = super(_ObjectMixin, self).parent
- if parent is not None:
- _setRegisteredClass(parent)
- return parent
- parent = property(get_parent)
-
- # Methods
-
- def __repr__(self):
- return '<Lasso %s instance wrapping %s>' % (self.__class__.__name__, self.this)
-
-
-def _setRegisteredClass(instance):
- try:
- instanceClass = instance.__class__
- except AttributeError:
- return
- cls = _registeredClasses.get(instanceClass, None)
- if cls is None and instanceClass.__name__.endswith('Ptr'):
- cls = _registeredClasses.get(instanceClass.__bases__[0], None)
- if cls is not None:
- object.__setattr__(instance, '__class__', cls)
-
-def registerClass(cls):
- assert cls.lassomodClass
- _registeredClasses[cls.lassomodClass] = cls
-
-
-################################################################################
-# Protocols
-################################################################################
-
-
-class AuthnRequest(_ObjectMixin, lassomod.LassoAuthnRequest):
- # Constants
-
- lassomodClass = lassomod.LassoAuthnRequest
-
-registerClass(AuthnRequest)
-
-
-class Request(_ObjectMixin, lassomod.LassoRequestPtr):
- # Constants
-
- lassomodClass = lassomod.LassoRequestPtr
-
-registerClass(Request)
-
-
-################################################################################
-# Profiles
-################################################################################
-
-
-class Server(_ObjectMixin, lassomod.LassoServer):
- # Constants
-
- lassomodClass = lassomod.LassoServer
-
-registerClass(Server)
-
-
-class Identity(_ObjectMixin, lassomod.LassoIdentity):
- # Constants
-
- lassomodClass = lassomod.LassoIdentity
-
-registerClass(Identity)
-
-
-class Session(_ObjectMixin, lassomod.LassoSession):
- # Constants
-
- lassomodClass = lassomod.LassoSession
-
-registerClass(Session)
-
-
-class _ProfileChild(object):
- """Abstract class for all Lasso objects that inherit from LassoProfile"""
-
- # Attributes
-
- def get_authn_request(self):
- authn_request = self.parent.authn_request
- if authn_request is not None:
- _setRegisteredClass(authn_request)
- return authn_request
- authn_request = property(get_authn_request)
-
- def get_authn_response(self):
- authn_response = self.parent.authn_response
- if authn_response is not None:
- _setRegisteredClass(authn_response)
- return authn_response
- authn_response = property(get_authn_response)
-
- def get_identity(self):
- identity = lassomod.lasso_profile_get_identity(self.parent)
- if identity is not None:
- _setRegisteredClass(identity)
- return identity
- def set_identity(self, identity):
- lassomod.lasso_profile_set_identity(self.parent, identity)
- identity = property(get_identity, set_identity)
-
- def get_msg_body(self):
- return self.parent.msg_body
- msg_body = property(get_msg_body)
-
- def get_msg_relayState(self):
- return self.parent.msg_relayState
- msg_relayState = property(get_msg_relayState)
-
- def get_msg_url(self):
- return self.parent.msg_url
- msg_url = property(get_msg_url)
-
- def get_nameIdentifier(self):
- return self.parent.nameIdentifier
- nameIdentifier = property(get_nameIdentifier)
-
- def get_provider_type(self):
- return self.parent.provider_type
- provider_type = property(get_provider_type)
-
- def set_remote_providerID(self, remote_providerID):
- lassomod.lasso_profile_set_remote_providerID(self.parent, remote_providerID)
- remote_providerID = property(None, set_remote_providerID)
-
- def get_request(self):
- request_type = self.request_type
- if request_type == messageTypeAuthnRequest:
- request = self.parent.authn_request
- elif request_type == messageTypeRequest:
- request = self.parent.request
- else:
- raise ErrorUnknownRequestType('lasso_profile_get_request', request_type)
- if request is not None:
- _setRegisteredClass(request)
- return request
- request = property(get_request)
-
- def get_request_type(self):
- return self.parent.request_type
- request_type = property(get_request_type)
-
- def get_response(self):
- response_type = self.response_type
- if response_type == messageTypeAuthnResponse:
- response = self.parent.authn_response
- elif response_type == messageTypeResponse:
- response = self.parent.response
- else:
- raise ErrorUnknownResponseType('lasso_profile_get_response', response_type)
- if response is not None:
- _setRegisteredClass(response)
- return response
- response = property(get_response)
-
- def set_response_status(self, response_status):
- lassomod.lasso_profile_set_response_status(self.parent, response_status)
- response_status = property(None, set_response_status)
-
- def get_response_type(self):
- return self.parent.response_type
- response_type = property(get_response_type)
-
- def get_server(self):
- server = self.parent.server
- if server is not None:
- _setRegisteredClass(server)
- return server
- server = property(get_server)
-
- def get_session(self):
- session = lassomod.lasso_profile_get_session(self.parent)
- if session is not None:
- _setRegisteredClass(session)
- return session
- def set_session(self, session):
- lassomod.lasso_profile_set_session(self.parent, session)
- session = property(get_session, set_session)
-
- def is_identity_dirty(self):
- return lassomod.lasso_profile_is_identity_dirty(self.parent)
- identity_dirty = property(is_identity_dirty)
-
- def is_session_dirty(self):
- return lassomod.lasso_profile_is_session_dirty(self.parent)
- session_dirty = property(is_session_dirty)
-
- # Methods
-
- def dump(self):
- return lassomod.lasso_profile_dump(self.parent)
-
- def set_identity_from_dump(self, dump):
- lassomod.lasso_profile_set_identity_from_dump(self.parent, dump)
-
- def set_session_from_dump(self, dump):
- lassomod.lasso_profile_set_session_from_dump(self.parent, dump)
-
-
-class Defederation(_ObjectMixin, lassomod.LassoDefederation, _ProfileChild):
- # Constants
-
- lassomodClass = lassomod.LassoDefederation
-
- # Methods
-
- def build_notification_msg(self):
- errorCode = lassomod.lasso_defederation_build_notification_msg(self)
- if errorCode:
- raise newError(errorCode, 'lasso_defederation_build_notification_msg')
-
- def init_notification(self, remote_providerID, notification_method = httpMethodAny):
- errorCode = lassomod.lasso_defederation_init_notification(
- self, remote_providerID, notification_method)
- if errorCode:
- raise newError(errorCode, 'lasso_defederation_init_notification')
-
- def process_notification_msg(self, notification_msg, notification_method):
- errorCode = lassomod.lasso_defederation_process_notification_msg(
- self, notification_msg, notification_method)
- if errorCode:
- raise newError(errorCode, 'lasso_defederation_process_notification_msg')
-
- def validate_notification(self):
- errorCode = lassomod.lasso_defederation_validate_notification(self)
- if errorCode:
- raise newError(errorCode, 'lasso_defederation_validate_notification')
-
-registerClass(Defederation)
-
-
-class Login(_ObjectMixin, lassomod.LassoLogin, _ProfileChild):
- # Constants
-
- lassomodClass = lassomod.LassoLogin
-
- # Constructors
-
- def new_from_dump(cls, server, dump):
- self = lassomod.lasso_login_new_from_dump(server, dump)
- if self is None:
- raise ErrorInstanceCreationFailed('lasso_login_new_from_dump')
- _setRegisteredClass(self)
- return self
- new_from_dump = classmethod(new_from_dump)
-
- # Methods
-
- def accept_sso(self):
- errorCode = lassomod.lasso_login_accept_sso(self)
- if errorCode:
- raise newError(errorCode, 'lasso_login_accept_sso')
-
- def build_artifact_msg(self, authentication_result, authenticationMethod,
- reauthenticateOnOrAfter, method):
- errorCode = lassomod.lasso_login_build_artifact_msg(
- self, authentication_result, authenticationMethod, reauthenticateOnOrAfter, method)
- if errorCode:
- raise newError(errorCode, 'lasso_login_build_artifact_msg')
-
- def build_authn_request_msg(self, remote_providerID):
- errorCode = lassomod.lasso_login_build_authn_request_msg(
- self, remote_providerID)
- if errorCode:
- raise newError(errorCode, 'lasso_login_build_authn_request_msg')
-
- def build_authn_response_msg(self, authentication_result, authenticationMethod,
- reauthenticateOnOrAfter):
- errorCode = lassomod.lasso_login_build_authn_response_msg(
- self, authentication_result, authenticationMethod, reauthenticateOnOrAfter)
- if errorCode:
- raise newError(errorCode, 'lasso_login_build_authn_response_msg')
-
- def build_request_msg(self):
- errorCode = lassomod.lasso_login_build_request_msg(self)
- if errorCode:
- raise newError(errorCode, 'lasso_login_build_request_msg')
-
- def dump(self):
- return lassomod.lasso_login_dump(self)
-
- def init_authn_request(self, http_method):
- errorCode = lassomod.lasso_login_init_authn_request(self, http_method)
- if errorCode:
- raise newError(errorCode, 'lasso_login_init_authn_request')
-
- def init_from_authn_request_msg(self, authn_request_msg, authn_request_http_method):
- errorCode = lassomod.lasso_login_init_from_authn_request_msg(
- self, authn_request_msg, authn_request_http_method)
- if errorCode:
- raise newError(errorCode, 'lasso_login_init_from_authn_request_msg')
-
- def init_request(self, response_msg, response_http_method = httpMethodRedirect):
- errorCode = lassomod.lasso_login_init_request(self, response_msg, response_http_method)
- if errorCode:
- raise newError(errorCode, 'lasso_login_init_request')
-
- def must_authenticate(self):
- return lassomod.lasso_login_must_authenticate(self)
-
- def process_authn_response_msg(self, authn_response_msg):
- errorCode = lassomod.lasso_login_process_authn_response_msg(self, authn_response_msg)
- if errorCode:
- raise newError(errorCode, 'lasso_login_process_authn_response_msg')
-
- def process_request_msg(self, request_msg):
- errorCode = lassomod.lasso_login_process_request_msg(self, request_msg)
- if errorCode:
- raise newError(errorCode, 'lasso_login_process_request_msg')
-
- def process_response_msg(self, response_msg):
- errorCode = lassomod.lasso_login_process_response_msg(self, response_msg)
- if errorCode:
- raise newError(errorCode, 'lasso_login_process_response_msg')
-
-registerClass(Login)
-
-
-class Logout(_ObjectMixin, lassomod.LassoLogout, _ProfileChild):
- # Constants
-
- lassomodClass = lassomod.LassoLogout
-
- # Methods
-
- def build_request_msg(self):
- errorCode = lassomod.lasso_logout_build_request_msg(self)
- if errorCode:
- raise newError(errorCode, 'lasso_logout_build_request_msg')
-
- def build_response_msg(self):
- errorCode = lassomod.lasso_logout_build_response_msg(self)
- if errorCode:
- raise newError(errorCode, 'lasso_logout_build_response_msg')
-
- def get_next_providerID(self):
- return lassomod.lasso_logout_get_next_providerID(self)
-
- def init_request(self, remote_providerID = None, request_method = httpMethodAny):
- errorCode = lassomod.lasso_logout_init_request(self, remote_providerID, request_method)
- if errorCode:
- raise newError(errorCode, 'lasso_logout_init_request')
-
- def process_request_msg(self, request_msg, request_method):
- errorCode = lassomod.lasso_logout_process_request_msg(self, request_msg, request_method)
- if errorCode:
- raise newError(errorCode, 'lasso_logout_process_request_msg')
-
- def process_response_msg(self, response_msg, response_method):
- errorCode = lassomod.lasso_logout_process_response_msg(
- self, response_msg, response_method)
- if errorCode:
- raise newError(errorCode, 'lasso_logout_process_response_msg')
-
- def reset_session_index(self):
- errorCode = lassomod.lasso_logout_reset_session_index(self)
- if errorCode:
- raise newError(errorCode, 'lasso_logout_reset_session_index')
-
- def validate_request(self):
- errorCode = lassomod.lasso_logout_validate_request(self)
- if errorCode:
- raise newError(errorCode, 'lasso_logout_validate_request')
-
-registerClass(Logout)
-
-
-class Lecp(_ObjectMixin, lassomod.LassoLecp):
- # Constants
-
- lassomodClass = lassomod.LassoLecp
-
- # Attributes
-
- def get_msg_body(self):
- return self.parent.msg_body
- msg_body = property(get_msg_body)
-
- def get_msg_url(self):
- return self.parent.msg_url
- msg_url = property(get_msg_url)
-
- def get_request(self):
- return self.parent.request
- request = property(get_request)
-
- def get_request_type(self):
- return self.parent.request_type
- request_type = property(get_request_type)
-
- # Constructors
-
- def new_from_dump(cls, server, dump):
- self = lassomod.lasso_lecp_new_from_dump(server, dump)
- if self is None:
- raise ErrorInstanceCreationFailed('lasso_lecp_new_from_dump')
- _setRegisteredClass(self)
- return self
- new_from_dump = classmethod(new_from_dump)
-
- # Methods
-
- def build_authn_request_envelope_msg(self):
- errorCode = lassomod.lasso_lecp_build_authn_request_envelope_msg(self)
- if errorCode:
- raise newError(errorCode, 'lasso_lecp_build_authn_request_envelope_msg')
-
- def build_authn_request_msg(self, remote_providerID):
- errorCode = lassomod.lasso_lecp_build_authn_request_msg(self, remote_providerID)
- if errorCode:
- raise newError(errorCode, 'lasso_lecp_build_authn_request_msg')
-
- def build_authn_response_envelope_msg(self, authentication_result, authenticationMethod,
- reauthenticateOnOrAfter):
- errorCode = lassomod.lasso_lecp_build_authn_response_envelope_msg(
- self, authentication_result, authenticationMethod, reauthenticateOnOrAfter)
- if errorCode:
- raise newError(errorCode, 'lasso_lecp_build_authn_response_envelope_msg')
-
- def build_authn_response_msg(self):
- errorCode = lassomod.lasso_lecp_build_authn_response_msg(self)
- if errorCode:
- raise newError(errorCode, 'lasso_lecp_build_authn_response_msg')
-
- def init_authn_request(self):
- errorCode = lassomod.lasso_lecp_init_authn_request(self)
- if errorCode:
- raise newError(errorCode, 'lasso_lecp_init_authn_request')
-
- def init_from_authn_request_msg(self, authn_request_msg, authn_request_method):
- errorCode = lassomod.lasso_lecp_init_from_authn_request_msg(
- self, authn_request_msg, authn_request_method)
- if errorCode:
- raise newError(errorCode, 'lasso_lecp_init_from_authn_request_msg')
-
- def process_authn_request_envelope_msg(self, request_msg):
- errorCode = lassomod.lasso_lecp_process_authn_request_envelope_msg(self, request_msg)
- if errorCode:
- raise newError(errorCode, 'lasso_lecp_process_authn_request_envelope_msg')
-
- def process_authn_response_envelope_msg(self, response_msg):
- errorCode = lassomod.lasso_lecp_process_authn_response_envelope_msg(self, response_msg)
- if errorCode:
- raise newError(errorCode, 'lasso_lecp_process_authn_response_envelope_msg')
-
- def set_identity_from_dump(self, dump):
- return self.parent.set_identity_from_dump(dump)
-
- def set_session_from_dump(self, dump):
- return self.parent.set_session_from_dump(dump)
-
-registerClass(Lecp)
-
-
-get_request_type_from_soap_msg = lassomod.lasso_profile_get_request_type_from_soap_msg
-
-
-################################################################################
-# Module Initialization
-################################################################################
-
-
-_initialized = False
-
-def init():
- """Initialize Lasso library."""
- global _initialized
- if _initialized:
- raise ErrorLassoAlreadyInitialized()
- _initialized = True
- lassomod.lasso_init()
-
-
-def shutdown():
- """Shutdown Lasso Library."""
- global _initialized
- if not _initialized:
- raise ErrorLassoNotInitialized()
- _initialized = False
- lassomod.lasso_shutdown()
-
-
-################################################################################
-# Module Test
-################################################################################
-
-
-if __name__ == '__main__':
- import os
-
- init()
-
- # Lasso constants have two forms.
- assert libNameIDPolicyTypeFederated == libNameIDPolicyTypes['federated']
-
- dataDirectoryPath = '../tests/data'
- server = Server(
- os.path.join(dataDirectoryPath, 'sp1-la/metadata.xml'),
- os.path.join(dataDirectoryPath, 'sp1-la/public-key.pem'),
- os.path.join(dataDirectoryPath, 'sp1-la/private-key-raw.pem'),
- os.path.join(dataDirectoryPath, 'sp1-la/certificate.pem'),
- signatureMethodRsaSha1)
- server.add_provider(
- os.path.join(dataDirectoryPath, 'idp1-la/metadata.xml'),
- os.path.join(dataDirectoryPath, 'idp1-la/public-key.pem'),
- os.path.join(dataDirectoryPath, 'idp1-la/certificate.pem'))
-
- # We override one of the binding classes.
- class MyAuthnRequest(AuthnRequest):
- def __repr__(self):
- return 'This is my own class for AuthnRequest!'
- registerClass(MyAuthnRequest)
-
- login = Login(server)
- login.init_authn_request()
- print 'Class overriding works:', login.request
- login.request.set_isPassive(False)
- login.request.set_nameIDPolicy(libNameIDPolicyTypeFederated)
- login.request.set_consent(libConsentObtained)
- login.build_authn_request_msg('https://idp1/metadata', httpMethodRedirect)
- print 'Redirect URL =', login.msg_url
- shutdown()
-else:
- if not _initialized:
- init()
diff --git a/python/tests/profiles_tests.py b/python/tests/profiles_tests.py
index 4e367ad7..6aba8e80 100755
--- a/python/tests/profiles_tests.py
+++ b/python/tests/profiles_tests.py
@@ -88,7 +88,6 @@ class LoginTestCase(unittest.TestCase):
os.path.join(dataDir, 'idp1-la/certificate.pem'))
login = lasso.Login(lassoServer)
login.init_authn_request(lasso.httpMethodRedirect)
- self.failUnlessEqual(login.request_type, lasso.messageTypeAuthnRequest)
login.authn_request
login.authn_request.protocolProfile = lasso.libProtocolProfileBrwsArt
@@ -110,8 +109,9 @@ class LogoutTestCase(unittest.TestCase):
logout = lasso.Logout(lassoServer, lasso.providerTypeSp)
try:
logout.init_request()
- except lasso.Error, error:
- if error.code != -1:
+ except RuntimeError, error:
+ errorCode = int(error.args[0].split(' ', 1)[0])
+ if errorCode != -1:
raise
else:
self.fail('logout.init_request without having set identity before should fail')
@@ -151,8 +151,8 @@ class DefederationTestCase(unittest.TestCase):
# The process_notification_msg should failt but not abort.
try:
defederation.process_notification_msg('nonLibertyQuery=1', lasso.httpMethodRedirect)
- except lasso.Error, error:
- pass
+ except RuntimeError, error:
+ errorCode = int(error.args[0].split(' ', 1)[0])
else:
self.fail('Defederation process_notification_msg should have failed.')