Removed obsolete logout method load_from_dump.

Upgraded some residual calls to login_new & logout_new.

Updated Java binding.

Java unit test works (and C too, but Python still doesn't).
This commit is contained in:
Emmanuel Raviart 2004-07-26 22:02:03 +00:00
parent 8d1bd57755
commit db051a1a73
17 changed files with 42 additions and 102 deletions

View File

@ -27,19 +27,12 @@
#include <com_entrouvert_lasso_LassoLogin.h>
JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoLogin_init
(JNIEnv * env, jobject this, jobject _server,
jobject _user){
(JNIEnv * env, jobject this, jobject _server){
LassoLogin *login;
LassoServer* server;
LassoUser* user = NULL;
server = (LassoServer*)getCObject(env, _server);
if(_user != NULL){
user = (LassoUser*)getCObject(env, _user);
}
login = LASSO_LOGIN(lasso_login_new(server, user));
login = LASSO_LOGIN(lasso_login_new(server));
storeCObject(env, this, login);
}

View File

@ -28,16 +28,12 @@
#include <lasso/lasso.h>
JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoLogout_init
(JNIEnv * env, jobject this, jint _providerType, jobject _server, jobject _user){
(JNIEnv * env, jobject this, jobject _server, jint _providerType){
LassoLogout *logout;
LassoServer* server;
LassoUser* user = NULL;
server = (LassoServer*)getCObject(env, _server);
if (_user != NULL)
user = (LassoUser*)getCObject(env, _user);
logout = lasso_logout_new(_providerType, server, user);
logout = lasso_logout_new(server, _providerType);
storeCObject(env, this, logout);
}
@ -123,22 +119,6 @@ JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoLogout_loadRequestMsg
return result;
}
JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoLogout_loadUserDump
(JNIEnv * env, jobject this, jstring _userDump){
int result;
LassoLogout* logout;
char *userDump;
userDump = (char*)(*env)->GetStringUTFChars(env, _userDump, NULL);
logout = getCObject(env, this);
result = lasso_logout_load_user_dump(logout, userDump);
(*env)->ReleaseStringUTFChars(env, _userDump, userDump);
return result;
}
JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoLogout_processRequest
(JNIEnv * env, jobject this){
LassoLogout* logout;
@ -162,5 +142,3 @@ JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoLogout_processResponseMsg
return result;
}

View File

@ -178,3 +178,16 @@ JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoProfileContext_initUserFie
checkAndSetField(env, this, fieldName, fieldType, javaObjectClassName, cObject);
}
JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoProfileContext_setUserFromDump
(JNIEnv * env, jobject this, jstring _dump) {
int result;
LassoProfileContext *profileContext;
char *dump;
profileContext = getCObject(env, this);
dump = (char*)(*env)->GetStringUTFChars(env, _dump, NULL);
result = lasso_profile_context_set_user_from_dump(profileContext, dump);
(*env)->ReleaseStringUTFChars(env, _dump, dump);
return result;
}

View File

@ -26,19 +26,18 @@ package com.entrouvert.lasso;
public class LassoLogin extends LassoProfileContext { // LassoLogin
public LassoLogin(LassoServer server, LassoUser user){
public LassoLogin(LassoServer server){
this.server = server;
this.user = user;
init(server, user);
init(server);
}
public LassoLogin(LassoServer server, LassoUser user, String dump){
this.server = server;
this.user = user;
this.user = user;
initFromDump(server, user, dump);
}
native protected void init(LassoServer server, LassoUser user);
native protected void init(LassoServer server);
native protected void initFromDump(LassoServer server,
LassoUser user,

View File

@ -26,13 +26,12 @@ package com.entrouvert.lasso;
public class LassoLogout extends LassoProfileContext { // LassoLogout
public LassoLogout(int providerType, LassoServer server, LassoUser user){
public LassoLogout(LassoServer server, int providerType){
this.server = server;
this.user = user;
init(providerType, server, user);
init(server, providerType);
}
native protected void init(int providerType, LassoServer server, LassoUser user);
native protected void init(LassoServer server, int providerType);
native public int buildRequestMsg();
@ -46,8 +45,6 @@ public class LassoLogout extends LassoProfileContext { // LassoLogout
native public int loadRequestMsg(String requestMsg, int requestMethod);
native public int loadUserDump(String userDump);
native public int processRequest();
native public int processResponseMsg(String responseMsg, int responseMethod);

View File

@ -72,4 +72,6 @@ public abstract class LassoProfileContext extends LassoObject { // LassoProfileC
return user;
}
native public int setUserFromDump(String userDump);
} // LassoProfileContext

View File

@ -93,7 +93,7 @@ public class LoginTest extends TestCase {
spContextDump = generateServiceProviderContextDump();
assertNotNull(spContextDump);
spContext = new LassoServer(spContextDump);
spLoginContext = new LassoLogin(spContext, null);
spLoginContext = new LassoLogin(spContext);
assertEquals(0, spLoginContext.initAuthnRequest(
"https://identity-provider:1998/liberty-alliance/metadata"));
assertEquals(Lasso.messageTypeAuthnRequest, spLoginContext.getRequestType());
@ -112,7 +112,7 @@ public class LoginTest extends TestCase {
idpContextDump = generateIdentityProviderContextDump();
assertNotNull(idpContextDump);
idpContext = new LassoServer(idpContextDump);
idpLoginContext = new LassoLogin(idpContext, null);
idpLoginContext = new LassoLogin(idpContext);
assertEquals(0, idpLoginContext.initFromAuthnRequestMsg(authnRequestQuery, method));
assertTrue(idpLoginContext.mustAuthenticate());
@ -135,7 +135,7 @@ public class LoginTest extends TestCase {
spContextDump = generateServiceProviderContextDump();
assertNotNull(spContextDump);
spContext = new LassoServer(spContextDump);
spLoginContext = new LassoLogin(spContext, null);
spLoginContext = new LassoLogin(spContext);
assertEquals(0, spLoginContext.initRequest(responseQuery, method));
assertEquals(0, spLoginContext.buildRequestMsg());
soapEndpoint = spLoginContext.getMsgUrl();
@ -162,10 +162,9 @@ public class LoginTest extends TestCase {
assertNotNull(spContextDump);
spContext = new LassoServer(spContextDump);
assertNotNull(spContext);
spLogoutContext = new LassoLogout(spContext, Lasso.providerTypeSp);
assertNotNull(spUserContextDump);
spUserContext = new LassoUser(spUserContextDump);
assertNotNull(spUserContext);
spLogoutContext = new LassoLogout(Lasso.providerTypeSp, spContext, spUserContext);
spLogoutContext.setUserFromDump(spUserContextDump);
assertEquals(0, spLogoutContext.initRequest(null));
assertEquals(0, spLogoutContext.buildRequestMsg());
soapEndpoint = spLogoutContext.getMsgUrl();
@ -178,11 +177,11 @@ public class LoginTest extends TestCase {
assertNotNull(idpContextDump);
idpContext = new LassoServer(idpContextDump);
assertNotNull(idpContext);
idpLogoutContext = new LassoLogout(Lasso.providerTypeIdp, idpContext, null);
idpLogoutContext = new LassoLogout(idpContext, Lasso.providerTypeIdp);
assertEquals(0, idpLogoutContext.loadRequestMsg(soapRequestMsg, Lasso.httpMethodSoap));
assertEquals(nameIdentifier, idpLogoutContext.getNameIdentifier());
assertNotNull(idpUserContextDump);
assertEquals(0, idpLogoutContext.loadUserDump(idpUserContextDump));
assertEquals(0, idpLogoutContext.setUserFromDump(idpUserContextDump));
assertEquals(0, idpLogoutContext.processRequest());
idpUserContext = idpLogoutContext.getUser();
assertNotNull(idpUserContext);

View File

@ -270,21 +270,6 @@ lasso_logout_init_request(LassoLogout *logout,
return(0);
}
gint lasso_logout_load_user_dump(LassoLogout *logout,
gchar *user_dump)
{
LassoProfileContext *profileContext;
g_return_val_if_fail(LASSO_IS_LOGOUT(logout), -1);
g_return_val_if_fail(user_dump!=NULL, -1);
profileContext = LASSO_PROFILE_CONTEXT(logout);
profileContext->user = lasso_user_new_from_dump(user_dump);
return(0);
}
gint lasso_logout_load_request_msg(LassoLogout *logout,
gchar *request_msg,
lassoHttpMethods request_method)

View File

@ -79,9 +79,6 @@ LASSO_EXPORT gchar* lasso_logout_get_next_providerID (LassoLogout *log
LASSO_EXPORT gint lasso_logout_init_request (LassoLogout *logout,
gchar *remote_providerID);
LASSO_EXPORT gint lasso_logout_load_user_dump (LassoLogout *logout,
gchar *user_dump);
LASSO_EXPORT gint lasso_logout_load_request_msg (LassoLogout *logout,
gchar *request_msg,
lassoHttpMethods request_method);

View File

@ -194,24 +194,6 @@ PyObject *logout_load_request_msg(PyObject *self, PyObject *args){
return(int_wrap(codeError));
}
PyObject *logout_load_user_dump(PyObject *self, PyObject *args){
PyObject *logout_obj;
gchar *user_dump;
gint codeError;
if (CheckArgs(args, "OS:logout_load_request_msg")) {
if(!PyArg_ParseTuple(args, (char *) "Os:logout_load_request_msg",
&logout_obj, &user_dump))
return NULL;
}
else return NULL;
codeError = lasso_logout_load_user_dump(LassoLogout_get(logout_obj), user_dump);
return(int_wrap(codeError));
}
PyObject *logout_process_request(PyObject *self, PyObject *args) {
PyObject *logout_obj;
gint codeError;

View File

@ -47,7 +47,6 @@ PyObject *logout_destroy(PyObject *self, PyObject *args);
PyObject *logout_get_next_providerID(PyObject *self, PyObject *args);
PyObject *logout_init_request(PyObject *self, PyObject *args);
PyObject *logout_load_request_msg(PyObject *self, PyObject *args);
PyObject *logout_load_user_dump(PyObject *self, PyObject *args);
PyObject *logout_new(PyObject *self, PyObject *args);
PyObject *logout_process_request(PyObject *self, PyObject *args);
PyObject *logout_process_response_msg(PyObject *self, PyObject *args);

View File

@ -39,7 +39,7 @@ sp1user = lasso.User.new_from_dump(sp1user_dump)
sp1logout = lasso.Logout.new(sp1server, lasso.providerTypeSp)
sp1logout.load_user_dump(sp1user_dump)
sp1logout.set_user_from_dump(sp1user_dump)
sp1logout.init_request()
@ -66,7 +66,7 @@ response_msg_body = "<Envelope><LogoutResponse><ProviderID>https://service-provi
idplogout.load_request_msg(msg_body, lasso.httpMethodSoap)
nameIdentifier = idplogout.nameIdentifier
print "get the user dump from NameIdentifier : ", nameIdentifier
idplogout.load_user_dump(idpuser_dump)
idplogout.set_user_from_dump(idpuser_dump)
idplogout.process_request()
print "RelayState :", idplogout.msg_relayState

View File

@ -1058,9 +1058,6 @@ class Logout(ProfileContext):
def load_request_msg(self, request_msg, request_method):
return lassomod.logout_load_request_msg(self, request_msg, request_method);
def load_user_dump(self, user_dump):
return lassomod.logout_load_user_dump(self, user_dump);
def process_request(self):
return lassomod.logout_process_request(self);

View File

@ -252,7 +252,6 @@ static PyMethodDef lasso_methods[] = {
{"logout_get_next_providerID", logout_get_next_providerID, METH_VARARGS},
{"logout_init_request", logout_init_request, METH_VARARGS},
{"logout_load_request_msg", logout_load_request_msg, METH_VARARGS},
{"logout_load_user_dump", logout_load_user_dump, METH_VARARGS},
{"logout_process_request", logout_process_request, METH_VARARGS},
{"logout_process_response_msg", logout_process_response_msg, METH_VARARGS},

View File

@ -157,10 +157,9 @@ class LoginTestCase(unittest.TestCase):
self.failUnless(spContextDump)
spContext = lasso.Server.new_from_dump(spContextDump)
self.failUnless(spContext)
spLogoutContext = lasso.Logout.new(spContext, lasso.providerTypeSp)
self.failUnless(spUserContextDump)
spUserContext = lasso.User.new_from_dump(spUserContextDump)
self.failUnless(spUserContext)
spLogoutContext = lasso.Logout.new(lasso.providerTypeSp, spContext, spUserContext)
spLogoutContext.set_user_from_dump(spUserContextDump)
self.failUnlessEqual(spLogoutContext.init_request(), 0)
self.failUnlessEqual(spLogoutContext.build_request_msg(), 0)
soapEndpoint = spLogoutContext.msg_url
@ -173,12 +172,12 @@ class LoginTestCase(unittest.TestCase):
self.failUnless(idpContextDump)
idpContext = lasso.Server.new_from_dump(idpContextDump)
self.failUnless(idpContext)
idpLogoutContext = lasso.Logout.new(lasso.providerTypeIdp, idpContext)
idpLogoutContext = lasso.Logout.new(idpContext, lasso.providerTypeIdp)
self.failUnlessEqual(
idpLogoutContext.load_request_msg(soapRequestMsg, lasso.httpMethodSoap), 0)
self.failUnlessEqual(idpLogoutContext.nameIdentifier, nameIdentifier)
self.failUnless(idpUserContextDump)
self.failUnlessEqual(idpLogoutContext.load_user_dump(idpUserContextDump), 0)
self.failUnlessEqual(idpLogoutContext.set_user_from_dump(idpUserContextDump), 0)
self.failUnlessEqual(idpLogoutContext.process_request(), 0)
idpUserContext = idpLogoutContext.user
self.failUnless(idpUserContext)

View File

@ -3,3 +3,4 @@ login_tests
.libs
Makefile.in
Makefile
out.xml

View File

@ -224,8 +224,8 @@ START_TEST(test02_serviceProviderLogin)
LASSO_PROFILE_CONTEXT(spLogoutContext)->msg_body,
lassoHttpMethodSoap);
fail_unless(rc == 0, "lasso_logout_load_request_msg failed");
rc = lasso_logout_load_user_dump(idpLogoutContext, idpUserContextDump);
fail_unless(rc == 0, "lasso_logout_load_user_dump failed");
rc = lasso_profile_context_set_user_from_dump(idpLogoutContext, idpUserContextDump);
fail_unless(rc == 0, "lasso_profile_context_set_user_from_dump failed");
rc = lasso_logout_process_request(idpLogoutContext);
fail_unless(rc == 0, "lasso_logout_process_request failed");
fail_unless(lasso_logout_get_next_providerID(idpLogoutContext) == NULL,