diff options
| author | Emmanuel Raviart <eraviart@entrouvert.com> | 2004-08-27 14:41:09 +0000 |
|---|---|---|
| committer | Emmanuel Raviart <eraviart@entrouvert.com> | 2004-08-27 14:41:09 +0000 |
| commit | 497181fc6a44388a91af7f08dbe411977e75c083 (patch) | |
| tree | ad6b587bf01cce9f2718270061c75ee0f020eafe | |
| parent | eaa4b813fcd0f7aa1152d98998afe5b59556142f (diff) | |
| download | lasso-497181fc6a44388a91af7f08dbe411977e75c083.tar.gz lasso-497181fc6a44388a91af7f08dbe411977e75c083.tar.xz lasso-497181fc6a44388a91af7f08dbe411977e75c083.zip | |
Corrected SWIG binding.
Corrected Python tests.
| -rw-r--r-- | python/lasso.py | 11 | ||||
| -rw-r--r-- | python/tests/login_tests.py | 21 | ||||
| -rw-r--r-- | swig/Lasso.i | 10 |
3 files changed, 31 insertions, 11 deletions
diff --git a/python/lasso.py b/python/lasso.py index cd03230a..6d1a4e73 100644 --- a/python/lasso.py +++ b/python/lasso.py @@ -187,13 +187,16 @@ class _ObjectMixin(object): def _setRegisteredClass(instance): - cls = _registeredClasses.get(instance.__class__, None) - if cls is None and instance.__class__.__name__.endswith('Ptr'): - cls = _registeredClasses.get(instance.__class__.__bases__[0], None) + 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 diff --git a/python/tests/login_tests.py b/python/tests/login_tests.py index 4ecb7b25..614ea4cc 100644 --- a/python/tests/login_tests.py +++ b/python/tests/login_tests.py @@ -43,7 +43,24 @@ except NameError: class LoginTestCase(unittest.TestCase): - pass + def test01(self): + """SP login; testing access to authentication request.""" + + lassoServer = lasso.Server( + os.path.join(dataDir, 'sp1-la/metadata.xml'), + None, # os.path.join(dataDir, 'sp1-la/public-key.pem') is no more used + os.path.join(dataDir, 'sp1-la/private-key-raw.pem'), + os.path.join(dataDir, 'sp1-la/certificate.pem'), + lasso.signatureMethodRsaSha1) + lassoServer.add_provider( + os.path.join(dataDir, 'idp1-la/metadata.xml'), + os.path.join(dataDir, 'idp1-la/public-key.pem'), + 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.set_protocolProfile(lasso.libProtocolProfileBrwsArt) class LogoutTestCase(unittest.TestCase): @@ -107,7 +124,7 @@ class DefederationTestCase(unittest.TestCase): except lasso.Error, error: pass else: - fail('Defederation process_notification_msg should have failed.') + self.fail('Defederation process_notification_msg should have failed.') suite1 = unittest.makeSuite(LoginTestCase, 'test') diff --git a/swig/Lasso.i b/swig/Lasso.i index cf2ec05a..4aa33bcd 100644 --- a/swig/Lasso.i +++ b/swig/Lasso.i @@ -518,7 +518,7 @@ gchar* lasso_session_get_authentication_method(LassoSession *session, gchar *rem ***********************************************************************/ -%{ +%inline %{ /* Dirty hack because otherwise SWIG doesn't recognize attributes defined in extend */ /* below as read-only arguments. */ typedef LassoAuthnRequest *LassoAuthnRequestPtr; @@ -555,28 +555,28 @@ typedef struct _LassoProfile { /* Implementations */ %{ - LassoAuthnRequest* LassoProfile_authn_request_get(LassoProfile *profile) { + LassoAuthnRequestPtr LassoProfile_authn_request_get(LassoProfile *profile) { if (profile->request_type == lassoMessageTypeAuthnRequest) return LASSO_AUTHN_REQUEST(profile->request); else return NULL; } - LassoAuthnResponse* LassoProfile_authn_response_get(LassoProfile *profile) { + LassoAuthnResponsePtr LassoProfile_authn_response_get(LassoProfile *profile) { if (profile->response_type == lassoMessageTypeAuthnResponse) return LASSO_AUTHN_RESPONSE(profile->response); else return NULL; } - LassoRequest* LassoProfile_request_get(LassoProfile *profile) { + LassoRequestPtr LassoProfile_request_get(LassoProfile *profile) { if (profile->request_type == lassoMessageTypeRequest) return LASSO_REQUEST(profile->request); else return NULL; } - LassoResponse* LassoProfile_response_get(LassoProfile *profile) { + LassoResponsePtr LassoProfile_response_get(LassoProfile *profile) { if (profile->response_type == lassoMessageTypeResponse) return LASSO_RESPONSE(profile->response); else |
