summaryrefslogtreecommitdiffstats
path: root/bindings/java/tests/BindingTests.java
diff options
context:
space:
mode:
Diffstat (limited to 'bindings/java/tests/BindingTests.java')
-rw-r--r--bindings/java/tests/BindingTests.java282
1 files changed, 282 insertions, 0 deletions
diff --git a/bindings/java/tests/BindingTests.java b/bindings/java/tests/BindingTests.java
new file mode 100644
index 00000000..53a508df
--- /dev/null
+++ b/bindings/java/tests/BindingTests.java
@@ -0,0 +1,282 @@
+/*
+ * $Id: BindingTests.java 3238 2007-05-30 17:24:50Z dlaniel $
+ *
+ * Java unit tests for Lasso library
+ *
+ * Copyright (C) 2004-2007 Entr'ouvert
+ * http://LassoConstants.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:../LassoConstants.LASSO_jar:. BindingTests.java
+// $ java -classpath /usr/share/java/junit.jar:../LassoConstants.LASSO_jar:. BindingTests
+// or for gcj:
+// $ export LD_LIBRARY_PATH=../
+// $ gcj -C -classpath /usr/share/java/junit.jar:../LassoConstants.LASSO_jar:. BindingTests.java
+// $ gij -classpath /usr/share/java/junit.jar:../LassoConstants.LASSO_jar:. BindingTests
+
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import com.entrouvert.lasso.*;
+import java.util.*;
+
+
+public class BindingTests extends TestCase {
+ String[] toStringArray(Object[] array) {
+ String[] str = new String[array.length];
+ int i;
+ for (i=0;i<array.length;i++)
+ str[i] = (String)array[i];
+ return str;
+ }
+ SamlAssertion[] toSamlAssertionArray(Object[] array) {
+ SamlAssertion[] str = new SamlAssertion[array.length];
+ int i;
+ for (i=0;i<array.length;i++)
+ str[i] = (SamlAssertion)array[i];
+ return str;
+ }
+ 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(LassoConstants.LASSO_LIB_CONSENT_OBTAINED);
+ assertEquals(authnRequest.getConsent(), LassoConstants.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());
+
+ List respondWith = new ArrayList();
+ assertEquals(respondWith.size(), 0);
+ respondWith.add("first string");
+ assertEquals(respondWith.size(), 1);
+ assertEquals(respondWith.get(0), "first string");
+ assertEquals(respondWith.get(0), "first string");
+ respondWith.add("second string");
+ assertEquals(respondWith.size(), 2);
+ assertEquals(respondWith.get(0), "first string");
+ assertEquals(respondWith.get(1), "second string");
+ respondWith.add("third string");
+ assertEquals(respondWith.size(), 3);
+ assertEquals(respondWith.get(0), "first string");
+ assertEquals(respondWith.get(1), "second string");
+ assertEquals(respondWith.get(2), "third string");
+ authnRequest.setRespondWith(toStringArray(respondWith.toArray()));
+ assertEquals(authnRequest.getRespondWith()[0], "first string");
+ assertEquals(authnRequest.getRespondWith()[1], "second string");
+ assertEquals(authnRequest.getRespondWith()[2], "third string");
+ assertEquals(respondWith.get(0), "first string");
+ assertEquals(respondWith.get(1), "second string");
+ assertEquals(respondWith.get(2), "third string");
+ respondWith = null;
+ assertEquals(authnRequest.getRespondWith()[0], "first string");
+ assertEquals(authnRequest.getRespondWith()[1], "second string");
+ assertEquals(authnRequest.getRespondWith()[2], "third string");
+ respondWith = Arrays.asList(authnRequest.getRespondWith());
+ assertEquals(respondWith.get(0), "first string");
+ assertEquals(respondWith.get(1), "second string");
+ assertEquals(respondWith.get(2), "third string");
+ respondWith = null;
+ assertEquals(authnRequest.getRespondWith()[0], "first string");
+ assertEquals(authnRequest.getRespondWith()[1], "second string");
+ assertEquals(authnRequest.getRespondWith()[2], "third string");
+ authnRequest.setRespondWith(null);
+ System.out.println("coin"+authnRequest.getRespondWith());
+ assertNull(authnRequest.getRespondWith());
+
+ authnRequest = null;
+ }
+
+ public void test04() {
+ // Get & set attributes of nodes of type node list.
+
+ SamlpResponse response = new SamlpResponse();
+
+ assertNull(response.getAssertion());
+
+ List assertions = new ArrayList();
+ assertEquals(assertions.size(), 0);
+ SamlAssertion assertion1 = new SamlAssertion();
+ assertion1.setAssertionId("assertion 1");
+ assertions.add(assertion1);
+ assertEquals(assertions.size(), 1);
+ assertEquals(((SamlAssertion) assertions.get(0)).getAssertionId(), "assertion 1");
+ assertEquals(((SamlAssertion) assertions.get(0)).getAssertionId(), "assertion 1");
+ SamlAssertion assertion2 = new SamlAssertion();
+ assertion2.setAssertionId("assertion 2");
+ assertions.add(assertion2);
+ assertEquals(assertions.size(), 2);
+ assertEquals(((SamlAssertion) assertions.get(0)).getAssertionId(), "assertion 1");
+ assertEquals(((SamlAssertion) assertions.get(1)).getAssertionId(), "assertion 2");
+ SamlAssertion assertion3 = new SamlAssertion();
+ assertion3.setAssertionId("assertion 3");
+ assertions.add(assertion3);
+ assertEquals(assertions.size(), 3);
+ assertEquals(((SamlAssertion) assertions.get(0)).getAssertionId(), "assertion 1");
+ assertEquals(((SamlAssertion) assertions.get(1)).getAssertionId(), "assertion 2");
+ assertEquals(((SamlAssertion) assertions.get(2)).getAssertionId(), "assertion 3");
+ response.setAssertion(toSamlAssertionArray(assertions.toArray()));
+ assertEquals(((SamlAssertion) response.getAssertion()[0]).getAssertionId(),
+ "assertion 1");
+ assertEquals(((SamlAssertion) response.getAssertion()[1]).getAssertionId(),
+ "assertion 2");
+ assertEquals(((SamlAssertion) response.getAssertion()[2]).getAssertionId(),
+ "assertion 3");
+ assertEquals(((SamlAssertion) assertions.get(0)).getAssertionId(), "assertion 1");
+ assertEquals(((SamlAssertion) assertions.get(1)).getAssertionId(), "assertion 2");
+ assertEquals(((SamlAssertion) assertions.get(2)).getAssertionId(), "assertion 3");
+ assertions = null;;
+ assertEquals(((SamlAssertion) response.getAssertion()[0]).getAssertionId(),
+ "assertion 1");
+ assertEquals(((SamlAssertion) response.getAssertion()[1]).getAssertionId(),
+ "assertion 2");
+ assertEquals(((SamlAssertion) response.getAssertion()[2]).getAssertionId(),
+ "assertion 3");
+ assertions = Arrays.asList(response.getAssertion());
+ assertEquals(((SamlAssertion) assertions.get(0)).getAssertionId(), "assertion 1");
+ assertEquals(((SamlAssertion) assertions.get(1)).getAssertionId(), "assertion 2");
+ assertEquals(((SamlAssertion) assertions.get(2)).getAssertionId(), "assertion 3");
+ assertions = null;
+ assertEquals(((SamlAssertion) response.getAssertion()[0]).getAssertionId(),
+ "assertion 1");
+ assertEquals(((SamlAssertion) response.getAssertion()[1]).getAssertionId(),
+ "assertion 2");
+ assertEquals(((SamlAssertion) response.getAssertion()[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>";
+ List extension = new ArrayList();
+ assertEquals(extension.size(), 0);
+ extension.add(actionString1);
+ assertEquals(extension.size(), 1);
+ assertEquals(extension.get(0), actionString1);
+ assertEquals(extension.get(0), actionString1);
+ extension.add(actionString2);
+ assertEquals(extension.size(), 2);
+ assertEquals(extension.get(0), actionString1);
+ assertEquals(extension.get(1), actionString2);
+ extension.add(actionString3);
+ assertEquals(extension.size(), 3);
+ assertEquals(extension.get(0), actionString1);
+ assertEquals(extension.get(1), actionString2);
+ assertEquals(extension.get(2), actionString3);
+ authnRequest.setExtension(toStringArray(extension.toArray()));
+ assertEquals(authnRequest.getExtension()[0], actionString1);
+ assertEquals(authnRequest.getExtension()[1], actionString2);
+ assertEquals(authnRequest.getExtension()[2], actionString3);
+ assertEquals(extension.get(0), actionString1);
+ assertEquals(extension.get(1), actionString2);
+ assertEquals(extension.get(2), actionString3);
+ extension = null;
+ assertEquals(authnRequest.getExtension()[0], actionString1);
+ assertEquals(authnRequest.getExtension()[1], actionString2);
+ assertEquals(authnRequest.getExtension()[2], actionString3);
+ extension = Arrays.asList(authnRequest.getExtension());
+ assertEquals(extension.get(0), actionString1);
+ assertEquals(extension.get(1), actionString2);
+ assertEquals(extension.get(2), actionString3);
+ extension = null;
+ assertEquals(authnRequest.getExtension()[0], actionString1);
+ assertEquals(authnRequest.getExtension()[1], actionString2);
+ assertEquals(authnRequest.getExtension()[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(LassoConstants.LASSO_LIB_CONSENT_OBTAINED);
+ assertEquals(((LibAuthnRequest) login.getRequest()).getConsent(),
+ LassoConstants.LASSO_LIB_CONSENT_OBTAINED);
+ login.setRequest(null);
+ assertNull(login.getRequest());
+
+ login = null;
+ }
+}