diff options
Diffstat (limited to 'java/tests')
| -rw-r--r-- | java/tests/.cvsignore | 1 | ||||
| -rw-r--r-- | java/tests/BindingTests.java | 266 | ||||
| -rw-r--r-- | java/tests/LoginTest.java | 244 |
3 files changed, 0 insertions, 511 deletions
diff --git a/java/tests/.cvsignore b/java/tests/.cvsignore deleted file mode 100644 index 6b468b62..00000000 --- a/java/tests/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -*.class diff --git a/java/tests/BindingTests.java b/java/tests/BindingTests.java deleted file mode 100644 index ae9c9e6f..00000000 --- a/java/tests/BindingTests.java +++ /dev/null @@ -1,266 +0,0 @@ -/* - * $Id$ - * - * Java unit tests for Lasso library - * - * Copyright (C) 2004-2007 Entr'ouvert - * http://lasso.entrouvert.org - * - * Authors: See AUTHORS file in top-level directory. - * - * 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 - */ - -// To run it: -// $ export LD_LIBRARY_PATH=../ -// $ javac -classpath /usr/share/java/junit.jar:../lasso.jar:. BindingTests.java -// $ java -classpath /usr/share/java/junit.jar:../lasso.jar:. BindingTests -// or for gcj: -// $ export LD_LIBRARY_PATH=../ -// $ gcj -C -classpath /usr/share/java/junit.jar:../lasso.jar:. BindingTests.java -// $ gij -classpath /usr/share/java/junit.jar:../lasso.jar:. BindingTests - - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - -import com.entrouvert.lasso.*; - - -public class BindingTests extends TestCase { - public static void main(String args[]) { - junit.textui.TestRunner.run(suite()); - } - - public static Test suite() { - return new TestSuite(BindingTests.class); - } - - public void test01() { - // Create and delete nodes. - - LibAuthnRequest authnRequest = new LibAuthnRequest(); - authnRequest = null; - } - - public void test02() { - // Get & set simple attributes of nodes. - - LibAuthnRequest authnRequest = new LibAuthnRequest(); - - // Test a string attribute. - assertNull(authnRequest.getConsent()); - authnRequest.setConsent(lasso.LIB_CONSENT_OBTAINED); - assertEquals(authnRequest.getConsent(), lasso.LIB_CONSENT_OBTAINED); - authnRequest.setConsent(null); - assertNull(authnRequest.getConsent()); - - // Test a renamed string attribute. - assertNull(authnRequest.getRelayState()); - authnRequest.setRelayState("Hello World!"); - assertEquals(authnRequest.getRelayState(), "Hello World!"); - authnRequest.setRelayState(null); - assertNull(authnRequest.getRelayState()); - - // Test an integer attribute. - assertEquals(authnRequest.getMajorVersion(), 0); - authnRequest.setMajorVersion(314); - assertEquals(authnRequest.getMajorVersion(), 314); - - authnRequest = null; - } - - public void test03() { - // Get & set attributes of nodes of type string list. - - LibAuthnRequest authnRequest = new LibAuthnRequest(); - - assertNull(authnRequest.getRespondWith()); - - StringList respondWith = new StringList(); - assertEquals(respondWith.length(), 0); - respondWith.append("first string"); - assertEquals(respondWith.length(), 1); - assertEquals(respondWith.getItem(0), "first string"); - assertEquals(respondWith.getItem(0), "first string"); - respondWith.append("second string"); - assertEquals(respondWith.length(), 2); - assertEquals(respondWith.getItem(0), "first string"); - assertEquals(respondWith.getItem(1), "second string"); - respondWith.append("third string"); - assertEquals(respondWith.length(), 3); - assertEquals(respondWith.getItem(0), "first string"); - assertEquals(respondWith.getItem(1), "second string"); - assertEquals(respondWith.getItem(2), "third string"); - authnRequest.setRespondWith(respondWith); - assertEquals(authnRequest.getRespondWith().getItem(0), "first string"); - assertEquals(authnRequest.getRespondWith().getItem(1), "second string"); - assertEquals(authnRequest.getRespondWith().getItem(2), "third string"); - assertEquals(respondWith.getItem(0), "first string"); - assertEquals(respondWith.getItem(1), "second string"); - assertEquals(respondWith.getItem(2), "third string"); - respondWith = null; - assertEquals(authnRequest.getRespondWith().getItem(0), "first string"); - assertEquals(authnRequest.getRespondWith().getItem(1), "second string"); - assertEquals(authnRequest.getRespondWith().getItem(2), "third string"); - respondWith = authnRequest.getRespondWith(); - assertEquals(respondWith.getItem(0), "first string"); - assertEquals(respondWith.getItem(1), "second string"); - assertEquals(respondWith.getItem(2), "third string"); - respondWith = null; - assertEquals(authnRequest.getRespondWith().getItem(0), "first string"); - assertEquals(authnRequest.getRespondWith().getItem(1), "second string"); - assertEquals(authnRequest.getRespondWith().getItem(2), "third string"); - authnRequest.setRespondWith(null); - assertNull(authnRequest.getRespondWith()); - - authnRequest = null; - } - - public void test04() { - // Get & set attributes of nodes of type node list. - - SamlpResponse response = new SamlpResponse(); - - assertNull(response.getAssertion()); - - NodeList assertions = new NodeList(); - assertEquals(assertions.length(), 0); - SamlAssertion assertion1 = new SamlAssertion(); - assertion1.setAssertionId("assertion 1"); - assertions.append(assertion1); - assertEquals(assertions.length(), 1); - assertEquals(((SamlAssertion) assertions.getItem(0)).getAssertionId(), "assertion 1"); - assertEquals(((SamlAssertion) assertions.getItem(0)).getAssertionId(), "assertion 1"); - SamlAssertion assertion2 = new SamlAssertion(); - assertion2.setAssertionId("assertion 2"); - assertions.append(assertion2); - assertEquals(assertions.length(), 2); - assertEquals(((SamlAssertion) assertions.getItem(0)).getAssertionId(), "assertion 1"); - assertEquals(((SamlAssertion) assertions.getItem(1)).getAssertionId(), "assertion 2"); - SamlAssertion assertion3 = new SamlAssertion(); - assertion3.setAssertionId("assertion 3"); - assertions.append(assertion3); - assertEquals(assertions.length(), 3); - assertEquals(((SamlAssertion) assertions.getItem(0)).getAssertionId(), "assertion 1"); - assertEquals(((SamlAssertion) assertions.getItem(1)).getAssertionId(), "assertion 2"); - assertEquals(((SamlAssertion) assertions.getItem(2)).getAssertionId(), "assertion 3"); - response.setAssertion(assertions); - assertEquals(((SamlAssertion) response.getAssertion().getItem(0)).getAssertionId(), - "assertion 1"); - assertEquals(((SamlAssertion) response.getAssertion().getItem(1)).getAssertionId(), - "assertion 2"); - assertEquals(((SamlAssertion) response.getAssertion().getItem(2)).getAssertionId(), - "assertion 3"); - assertEquals(((SamlAssertion) assertions.getItem(0)).getAssertionId(), "assertion 1"); - assertEquals(((SamlAssertion) assertions.getItem(1)).getAssertionId(), "assertion 2"); - assertEquals(((SamlAssertion) assertions.getItem(2)).getAssertionId(), "assertion 3"); - assertions = null;; - assertEquals(((SamlAssertion) response.getAssertion().getItem(0)).getAssertionId(), - "assertion 1"); - assertEquals(((SamlAssertion) response.getAssertion().getItem(1)).getAssertionId(), - "assertion 2"); - assertEquals(((SamlAssertion) response.getAssertion().getItem(2)).getAssertionId(), - "assertion 3"); - assertions = response.getAssertion(); - assertEquals(((SamlAssertion) assertions.getItem(0)).getAssertionId(), "assertion 1"); - assertEquals(((SamlAssertion) assertions.getItem(1)).getAssertionId(), "assertion 2"); - assertEquals(((SamlAssertion) assertions.getItem(2)).getAssertionId(), "assertion 3"); - assertions = null; - assertEquals(((SamlAssertion) response.getAssertion().getItem(0)).getAssertionId(), - "assertion 1"); - assertEquals(((SamlAssertion) response.getAssertion().getItem(1)).getAssertionId(), - "assertion 2"); - assertEquals(((SamlAssertion) response.getAssertion().getItem(2)).getAssertionId(), - "assertion 3"); - response.setAssertion(null); - assertNull(response.getAssertion()); - - response = null; - } - - public void test05() { - // Get & set attributes of nodes of type XML list. - - LibAuthnRequest authnRequest = new LibAuthnRequest(); - - assertNull(authnRequest.getExtension()); - - String actionString1 = "<lib:Extension xmlns:lib=\"urn:liberty:iff:2003-08\">\n" - + " <action>do 1</action>\n" - + "</lib:Extension>"; - String actionString2 = "<lib:Extension xmlns:lib=\"urn:liberty:iff:2003-08\">\n" - + " <action>do 2</action>\n" - + "</lib:Extension>"; - String actionString3 = "<lib:Extension xmlns:lib=\"urn:liberty:iff:2003-08\">\n" - + " <action>do 3</action>\n" - + "</lib:Extension>"; - StringList extension = new StringList(); - assertEquals(extension.length(), 0); - extension.append(actionString1); - assertEquals(extension.length(), 1); - assertEquals(extension.getItem(0), actionString1); - assertEquals(extension.getItem(0), actionString1); - extension.append(actionString2); - assertEquals(extension.length(), 2); - assertEquals(extension.getItem(0), actionString1); - assertEquals(extension.getItem(1), actionString2); - extension.append(actionString3); - assertEquals(extension.length(), 3); - assertEquals(extension.getItem(0), actionString1); - assertEquals(extension.getItem(1), actionString2); - assertEquals(extension.getItem(2), actionString3); - authnRequest.setExtension(extension); - assertEquals(authnRequest.getExtension().getItem(0), actionString1); - assertEquals(authnRequest.getExtension().getItem(1), actionString2); - assertEquals(authnRequest.getExtension().getItem(2), actionString3); - assertEquals(extension.getItem(0), actionString1); - assertEquals(extension.getItem(1), actionString2); - assertEquals(extension.getItem(2), actionString3); - extension = null; - assertEquals(authnRequest.getExtension().getItem(0), actionString1); - assertEquals(authnRequest.getExtension().getItem(1), actionString2); - assertEquals(authnRequest.getExtension().getItem(2), actionString3); - extension = authnRequest.getExtension(); - assertEquals(extension.getItem(0), actionString1); - assertEquals(extension.getItem(1), actionString2); - assertEquals(extension.getItem(2), actionString3); - extension = null; - assertEquals(authnRequest.getExtension().getItem(0), actionString1); - assertEquals(authnRequest.getExtension().getItem(1), actionString2); - assertEquals(authnRequest.getExtension().getItem(2), actionString3); - authnRequest.setExtension(null); - assertNull(authnRequest.getExtension()); - - authnRequest = null; - } - - public void test06() { - // Get & set attributes of nodes of type node. - - Login login = new Login(new Server(null, null, null, null)); - - assertNull(login.getRequest()); - login.setRequest((SamlpRequestAbstract) new LibAuthnRequest()); - ((LibAuthnRequest) login.getRequest()).setConsent(lasso.LIB_CONSENT_OBTAINED); - assertEquals(((LibAuthnRequest) login.getRequest()).getConsent(), - lasso.LIB_CONSENT_OBTAINED); - login.setRequest(null); - assertNull(login.getRequest()); - - login = null; - } -} diff --git a/java/tests/LoginTest.java b/java/tests/LoginTest.java deleted file mode 100644 index 5cd93f54..00000000 --- a/java/tests/LoginTest.java +++ /dev/null @@ -1,244 +0,0 @@ -/* - * $Id$ - * - * Java unit tests for Lasso library - * - * Copyright (C) 2004-2007 Entr'ouvert - * http://lasso.entrouvert.org - * - * Authors: See AUTHORS file in top-level directory. - * - * 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 - */ - -// To run it: -// $ export LD_LIBRARY_PATH=../ -// $ javac -classpath /usr/share/java/junit.jar:../lasso.jar:. LoginTest.java -// $ java -classpath /usr/share/java/junit.jar:../lasso.jar:. LoginTest -// or for gcj: -// $ export LD_LIBRARY_PATH=../ -// $ gcj -C -classpath /usr/share/java/junit.jar:../lasso.jar:. LoginTest.java -// $ gij -classpath /usr/share/java/junit.jar:../lasso.jar:. LoginTest - - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - -import com.entrouvert.lasso.*; - -public class LoginTest extends TestCase { - public String generateIdentityProviderDump() { - Server server = new Server( - "../../tests/data/idp1-la/metadata.xml", - "../../tests/data/idp1-la/private-key-raw.pem", - null, - "../../tests/data/idp1-la/certificate.pem"); - server.addProvider( - lasso.PROVIDER_ROLE_SP, - "../../tests/data/sp1-la/metadata.xml", - "../../tests/data/sp1-la/public-key.pem", - "../../tests/data/ca1-la/certificate.pem"); - String serverDump = server.dump(); - return serverDump; - } - - public String generateServiceProviderDump() { - Server server = new Server( - "../../tests/data/sp1-la/metadata.xml", - "../../tests/data/sp1-la/private-key-raw.pem", - null, - "../../tests/data/sp1-la/certificate.pem"); - server.addProvider( - lasso.PROVIDER_ROLE_IDP, - "../../tests/data/idp1-la/metadata.xml", - "../../tests/data/idp1-la/public-key.pem", - "../../tests/data/ca1-la/certificate.pem"); - String serverDump = server.dump(); - return serverDump; - } - - public void test01_generateServersDumps() { - String identityProviderDump = generateIdentityProviderDump(); - assertNotNull(identityProviderDump); - String serviceProviderDump = generateServiceProviderDump(); - assertNotNull(serviceProviderDump); - } - - public void test02_serviceProviderLogin() { - boolean userAuthenticated, userConsentObtained; - int method, requestType; - LibAuthnRequest authnRequest; - Identity idpIdentity, spIdentity; - Login idpLogin, spLogin; - Logout idpLogout, spLogout; - SamlAssertion assertion; - Server idp, sp; - Session spSession; - String artifact, authenticationMethod, authnRequestQuery, authnRequestUrl, idpDump, - idpIdentityDump, idpRemoteProviderId, idpSessionDump, nameIdentifier, relayState, - responseQuery, responseUrl, soapEndpoint, soapResponseMsg, soapRequestMsg, - spDump, spIdentityDump, spSessionDump; - - // Service provider login using HTTP redirect. - spDump = generateServiceProviderDump(); - assertNotNull(spDump); - sp = Server.newFromDump(spDump); - spLogin = new Login(sp); - spLogin.initAuthnRequest("https://idp1/metadata", lasso.HTTP_METHOD_REDIRECT); - authnRequest = (LibAuthnRequest) spLogin.getRequest(); - authnRequest.setIsPassive(false); - authnRequest.setNameIdPolicy(lasso.LIB_NAMEID_POLICY_TYPE_FEDERATED); - authnRequest.setConsent(lasso.LIB_CONSENT_OBTAINED); - relayState = "fake"; - authnRequest.setRelayState(relayState); - spLogin.buildAuthnRequestMsg(); - authnRequestUrl = spLogin.getMsgUrl(); - authnRequestQuery = authnRequestUrl.substring(authnRequestUrl.indexOf("?") + 1); - - // Identity provider singleSignOn, for a user having no federation. - idpDump = generateIdentityProviderDump(); - assertNotNull(idpDump); - idp = Server.newFromDump(idpDump); - idpLogin = new Login(idp); - idpLogin.processAuthnRequestMsg(authnRequestQuery); - assertTrue(idpLogin.mustAuthenticate()); - assertFalse(idpLogin.mustAskForConsent()); - - userAuthenticated = true; - userConsentObtained = false; - idpLogin.validateRequestMsg(userAuthenticated, userConsentObtained); - authenticationMethod = lasso.SAML_AUTHENTICATION_METHOD_PASSWORD; - idpLogin.buildAssertion( - authenticationMethod, - null, // authenticationInstant - null, // reauthenticateOnOrAfter - null, // notBefore - null);// notOnOrAfter - assertEquals(lasso.LOGIN_PROTOCOL_PROFILE_BRWS_ART, idpLogin.getProtocolProfile()); - idpLogin.buildArtifactMsg(lasso.HTTP_METHOD_REDIRECT); - idpIdentityDump = idpLogin.getIdentity().dump(); - assertNotNull(idpIdentityDump); - idpSessionDump = idpLogin.getSession().dump(); - assertNotNull(idpSessionDump); - responseUrl = idpLogin.getMsgUrl(); - responseQuery = responseUrl.substring(responseUrl.indexOf("?") + 1); - idpRemoteProviderId = idpLogin.getRemoteProviderId(); - nameIdentifier = ((SamlNameIdentifier)idpLogin.getNameIdentifier()).getContent(); - artifact = idpLogin.getAssertionArtifact(); - assertNotNull(artifact); - method = lasso.HTTP_METHOD_REDIRECT; - - // Service provider assertion consumer. - spDump = generateServiceProviderDump(); - assertNotNull(spDump); - sp = Server.newFromDump(spDump); - spLogin = new Login(sp); - spLogin.initRequest(responseQuery, method); - spLogin.buildRequestMsg(); - soapEndpoint = spLogin.getMsgUrl(); - assertNotNull(soapEndpoint); - soapRequestMsg = spLogin.getMsgBody(); - assertNotNull(soapRequestMsg); - - // Identity provider SOAP endpoint. - requestType = lasso.getRequestTypeFromSoapMsg(soapRequestMsg); - assertEquals(lasso.REQUEST_TYPE_LOGIN, requestType); - idpDump = generateIdentityProviderDump(); - assertNotNull(idpDump); - idp = Server.newFromDump(idpDump); - idpLogin = new Login(idp); - idpLogin.processRequestMsg(soapRequestMsg); - assertEquals(artifact, idpLogin.getAssertionArtifact()); - assertNotNull(idpSessionDump); - idpLogin.setSessionFromDump(idpSessionDump); - idpLogin.buildResponseMsg(idpRemoteProviderId); - soapResponseMsg = idpLogin.getMsgBody(); - assertNotNull(soapResponseMsg); - - // Service provider assertion consumer (step 2: process SOAP response). - spLogin.processResponseMsg(soapResponseMsg); - assertEquals(nameIdentifier, ((SamlNameIdentifier)spLogin.getNameIdentifier()).getContent()); - // The user doesn't have any federation yet. - spLogin.acceptSso(); - spIdentity = spLogin.getIdentity(); - assertNotNull(spIdentity); - spIdentityDump = spIdentity.dump(); - assertNotNull(spIdentityDump); - spSession = spLogin.getSession(); - assertNotNull(spSession); - spSessionDump = spSession.dump(); - assertNotNull(spSessionDump); - assertion = (SamlAssertion) spSession.getAssertions("https://idp1/metadata").getItem(0); - authenticationMethod = assertion.getAuthenticationStatement().getAuthenticationMethod(); - assertEquals(lasso.SAML_AUTHENTICATION_METHOD_PASSWORD, authenticationMethod); - - // Service provider logout. - spDump = generateServiceProviderDump(); - assertNotNull(spDump); - sp = Server.newFromDump(spDump); - assertNotNull(sp); - spLogout = new Logout(sp); - assertNotNull(spIdentityDump); - spLogout.setIdentityFromDump(spIdentityDump); - assertNotNull(spSessionDump); - spLogout.setSessionFromDump(spSessionDump); - spLogout.initRequest(null, lasso.HTTP_METHOD_ANY); - spLogout.buildRequestMsg(); - soapEndpoint = spLogout.getMsgUrl(); - soapRequestMsg = spLogout.getMsgBody(); - - // Identity provider SOAP endpoint. - requestType = lasso.getRequestTypeFromSoapMsg(soapRequestMsg); - assertEquals(lasso.REQUEST_TYPE_LOGOUT, requestType); - idpDump = generateIdentityProviderDump(); - assertNotNull(idpDump); - idp = Server.newFromDump(idpDump); - assertNotNull(idp); - idpLogout = new Logout(idp); - idpLogout.processRequestMsg(soapRequestMsg); - assertEquals(nameIdentifier, ((SamlNameIdentifier)idpLogout.getNameIdentifier()).getContent()); - assertNotNull(idpIdentityDump); - idpLogout.setIdentityFromDump(idpIdentityDump); - assertNotNull(idpSessionDump); - idpLogout.setSessionFromDump(idpSessionDump); - idpLogout.validateRequest(); - idpIdentity = idpLogout.getIdentity(); - assertNotNull(idpIdentity); - idpIdentityDump = idpIdentity.dump(); - assertNotNull(idpIdentityDump); - // There is no other service provider from which the user must be logged out. - assertEquals(null, idpLogout.getNextProviderId()); - idpLogout.buildResponseMsg(); - soapResponseMsg = idpLogout.getMsgBody(); - - // Service provider logout (step 2: process SOAP response). - spLogout.processResponseMsg(soapResponseMsg); - spIdentityDump = spLogout.getIdentity().dump(); - assertNotNull(spIdentityDump); - } - - public static Test suite() { - return new TestSuite(LoginTest.class); - } - - public static void main(String args[]) { - System.out.println(System.mapLibraryName("jlasso")); - lasso.init(); - junit.textui.TestRunner.run(suite()); - lasso.shutdown(); - } -} - |
