Author: anil.saldhana(a)jboss.com
Date: 2009-07-10 19:48:38 -0400 (Fri, 10 Jul 2009)
New Revision: 639
Added:
identity-federation/trunk/jboss-identity-bindings/src/test/java/org/jboss/test/identity/federation/bindings/integration/
identity-federation/trunk/jboss-identity-bindings/src/test/java/org/jboss/test/identity/federation/bindings/integration/LocalProviderOpenIDUnitTestCase.java
identity-federation/trunk/jboss-identity-bindings/src/test/java/org/jboss/test/identity/federation/bindings/integration/YadisMetadataUnitTestCase.java
Removed:
identity-federation/trunk/jboss-identity-bindings/src/test/java/org/jboss/test/identity/federation/bindings/openid/LocalProviderOpenIDUnitTestCase.java
identity-federation/trunk/jboss-identity-bindings/src/test/java/org/jboss/test/identity/federation/bindings/openid/YadisMetadataUnitTestCase.java
Modified:
identity-federation/trunk/jboss-identity-bindings/pom.xml
Log:
move the openid integration tests to integration folder
Modified: identity-federation/trunk/jboss-identity-bindings/pom.xml
===================================================================
--- identity-federation/trunk/jboss-identity-bindings/pom.xml 2009-07-10 23:40:24 UTC (rev
638)
+++ identity-federation/trunk/jboss-identity-bindings/pom.xml 2009-07-10 23:48:38 UTC (rev
639)
@@ -30,6 +30,11 @@
<printSummary>true</printSummary>
<disableXmlReport>false</disableXmlReport>
<testFailureIgnore>false</testFailureIgnore>
+
+ <excludes>
+ <exclude>**/integration/*TestCase.java</exclude>
+ </excludes>
+
<includes>
<include>**/**TestCase.java</include>
</includes>
@@ -38,6 +43,25 @@
<useFile>false</useFile>
<trimStackTrace>false</trimStackTrace>
</configuration>
+ <executions>
+ <execution>
+ <id>integration-tests</id>
+ <phase>integration-test</phase>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ <configuration>
+ <skip>false</skip>
+ <excludes>
+ <exclude>none</exclude>
+ </excludes>
+ <includes>
+ <include>**/integration/*TestCase.java</include>
+ </includes>
+ </configuration>
+ </execution>
+ </executions>
+
</plugin>
</plugins>
</build>
Added:
identity-federation/trunk/jboss-identity-bindings/src/test/java/org/jboss/test/identity/federation/bindings/integration/LocalProviderOpenIDUnitTestCase.java
===================================================================
---
identity-federation/trunk/jboss-identity-bindings/src/test/java/org/jboss/test/identity/federation/bindings/integration/LocalProviderOpenIDUnitTestCase.java
(rev 0)
+++
identity-federation/trunk/jboss-identity-bindings/src/test/java/org/jboss/test/identity/federation/bindings/integration/LocalProviderOpenIDUnitTestCase.java 2009-07-10
23:48:38 UTC (rev 639)
@@ -0,0 +1,196 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.test.identity.federation.bindings.integration;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.jboss.identity.federation.api.openid.OpenIDManager;
+import org.jboss.identity.federation.api.openid.OpenIDProviderInformation;
+import org.jboss.identity.federation.api.openid.OpenIDProviderList;
+import org.jboss.identity.federation.api.openid.OpenIDRequest;
+import org.jboss.test.identity.federation.bindings.openid.InMemoryProtocolAdapter;
+import org.jboss.test.identity.federation.bindings.server.EmbeddedWebServerBase;
+import org.mortbay.jetty.servlet.Context;
+import org.mortbay.jetty.servlet.ServletHolder;
+import org.openid4java.message.AuthSuccess;
+import org.openid4java.message.DirectError;
+import org.openid4java.message.Message;
+import org.openid4java.message.ParameterList;
+import org.openid4java.server.InMemoryServerAssociationStore;
+import org.openid4java.server.ServerManager;
+
+/**
+ * Test the OpenID functionality within the VM
+ * @author Anil.Saldhana(a)redhat.com
+ * @since Jul 7, 2009
+ */
+public class LocalProviderOpenIDUnitTestCase extends EmbeddedWebServerBase
+{
+ protected void establishUserApps()
+ {
+ ClassLoader tcl = Thread.currentThread().getContextClassLoader();
+ InputStream is = tcl.getResourceAsStream("openid/localhost-yadis.xml");
+
+ assertNotNull("Yadis descriptor not null", is);
+
+ Context context = new Context(server,"/",Context.SESSIONS);
+ context.addServlet(new ServletHolder(new YadisServlet(is)), "/*");
+
+ context.addServlet(new ServletHolder(new ProviderServlet()),
"/provider/");
+ }
+
+ public void testOpenIDAuth() throws Exception
+ {
+ //String username = "http://jbosstest.myopenid.com";
+ String username = "http://localhost:11080";
+ InMemoryProtocolAdapter ad = new InMemoryProtocolAdapter();
+ OpenIDRequest openIDRequest = new OpenIDRequest(username);
+ OpenIDManager idm = new OpenIDManager(openIDRequest);
+ OpenIDProviderList providers = idm.discoverProviders();
+ assertNotNull("List of providers is not null", providers);
+
+ OpenIDProviderInformation providerInfo = idm.associate(ad,providers);
+ idm.authenticate(ad, providerInfo);
+ }
+
+ //A provider servlet that always returns true
+ private class ProviderServlet extends HttpServlet
+ {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws
ServletException, IOException
+ {
+ doGet(req, resp);
+ }
+
+ @Override
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws
ServletException, IOException
+ {
+ System.out.println("Inside ProviderServlet::doGet");
+
+ ParameterList requestP = new ParameterList(req.getParameterMap());
+
+ ServerManager manager = new ServerManager();
+ manager.setSharedAssociations(new InMemoryServerAssociationStore());
+ manager.setPrivateAssociations(new InMemoryServerAssociationStore());
+ manager.setOPEndpointUrl("http://localhost:11080/provider/");
+
+ String userSelectedId = "http://test.localhost:11080";
+ String userSelectedClaimedId = userSelectedId;
+ boolean authenticatedAndApproved = true;
+
+ String responseText = "";
+
+ String mode = requestP.hasParameter("openid.mode") ?
+ requestP.getParameterValue("openid.mode") : null;
+
+ System.out.println("ProviderServlet::mode="+mode);
+ Message responsem ;
+ if ("associate".equals(mode))
+ {
+ // --- process an association request ---
+ responsem = manager.associationResponse(requestP);
+ responseText = responsem.keyValueFormEncoding().trim();
+ }
+ else if ("checkid_setup".equals(mode)
+ || "checkid_immediate".equals(mode))
+ {
+ responsem = manager.authResponse(requestP,
+ userSelectedId,
+ userSelectedClaimedId,
+ authenticatedAndApproved );
+
+ if (responsem instanceof AuthSuccess)
+ {
+ resp.sendRedirect(((AuthSuccess) responsem).getDestinationUrl(true));
+ return;
+ }
+ else
+ {
+
responseText="<pre>"+responsem.keyValueFormEncoding().trim()+"</pre>";
+ }
+ }
+ else if ("check_authentication".equals(mode))
+ {
+ // --- processing a verification request ---
+ responsem = manager.verify(requestP);
+ responseText = responsem.keyValueFormEncoding().trim();
+ }
+ else
+ {
+ // --- error response ---
+ responsem = DirectError.createDirectError("Unknown request");
+ responseText = responsem.keyValueFormEncoding().trim();
+ }
+
+ resp.setStatus(HttpServletResponse.SC_OK);
+ resp.getWriter().print(responseText);
+ }
+ }
+
+ //A Yadis servlet that just reads the XML from the Inputstream and passes it back
+ private class YadisServlet extends HttpServlet
+ {
+ private static final long serialVersionUID = 1L;
+
+ private InputStream yadisDescriptor;
+
+ public YadisServlet(InputStream yadisDescriptor)
+ {
+ if(yadisDescriptor == null)
+ throw new RuntimeException("input stream null");
+ this.yadisDescriptor = yadisDescriptor;
+ }
+
+ protected void doGet(HttpServletRequest request, HttpServletResponse resp)
+ throws ServletException, IOException
+ {
+ System.out.println("Inside Yadis Servlet");
+ if("HEAD".equals(request.getMethod()))
+ {
+ resp.setStatus(HttpServletResponse.SC_OK);
+ return;
+ }
+ //Asking for Yadis discovery
+ byte[] barr = new byte[1024];
+ for (int i = 0; i < barr.length; i++)
+ {
+ int b = yadisDescriptor.read();
+ if (b == -1) break;
+ barr[i] = (byte) b;
+ }
+ resp.setContentType("application/xrds+xml");
+ resp.setStatus(HttpServletResponse.SC_OK);
+
+ String ycontent = new String(barr);
+ ycontent = ycontent.replace("\n"," ").trim();
+ resp.getWriter().print(ycontent);
+ }
+ }
+}
\ No newline at end of file
Added:
identity-federation/trunk/jboss-identity-bindings/src/test/java/org/jboss/test/identity/federation/bindings/integration/YadisMetadataUnitTestCase.java
===================================================================
---
identity-federation/trunk/jboss-identity-bindings/src/test/java/org/jboss/test/identity/federation/bindings/integration/YadisMetadataUnitTestCase.java
(rev 0)
+++
identity-federation/trunk/jboss-identity-bindings/src/test/java/org/jboss/test/identity/federation/bindings/integration/YadisMetadataUnitTestCase.java 2009-07-10
23:48:38 UTC (rev 639)
@@ -0,0 +1,97 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.test.identity.federation.bindings.integration;
+
+import java.io.IOException;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.jboss.identity.federation.api.openid.OpenIDManager;
+import org.jboss.identity.federation.api.openid.OpenIDProviderList;
+import org.jboss.identity.federation.api.openid.OpenIDRequest;
+import org.jboss.identity.federation.bindings.servlets.OpenIDYadisServlet;
+import org.jboss.test.identity.federation.bindings.server.EmbeddedWebServerBase;
+import org.mortbay.jetty.servlet.Context;
+import org.mortbay.jetty.servlet.ServletHolder;
+
+/**
+ * Unit test the OpenID Yadis Servlet
+ * @author Anil.Saldhana(a)redhat.com
+ * @since Jul 7, 2009
+ */
+public class YadisMetadataUnitTestCase extends EmbeddedWebServerBase
+{
+ protected void establishUserApps()
+ {
+ Context context = new Context(server,"/",Context.SESSIONS);
+ ServletHolder servletHolder = new ServletHolder(new OpenIDYadisServlet());
+ servletHolder.setInitParameter("support_HTTP_HEAD", "true");
+ servletHolder.setInitParameter("yadisResourceURL",
"http://localhost:11080/yadis");
+
+ context.addServlet(servletHolder, "/*");
+
+ context.addServlet(new ServletHolder( new TestYadisResourceServlet()),
"/yadis");
+ }
+
+ public void testYadisDiscovery() throws Exception
+ {
+ //String username = "http://jbosstest.myopenid.com";
+ String username = "http://localhost:11080";
+
+ OpenIDRequest openIDRequest = new OpenIDRequest(username);
+ OpenIDManager idm = new OpenIDManager(openIDRequest);
+
+ OpenIDProviderList providers = idm.discoverProviders();
+ assertNotNull("Providers list is not null", providers);
+ assertEquals("1 provider", 1, providers.get().size());
+ }
+
+ /**
+ * Servlet that just outputs an Yadis resource
+ */
+ private class TestYadisResourceServlet extends HttpServlet
+ {
+ private static final long serialVersionUID = 1L;
+
+ String yadis = "<xrds:XRDS "+
+ " xmlns:xrds=\'xri://$xrds\' " +
+ "
xmlns:openid=\'http://openid.net/xmlns/1.0\'"
+
+ " xmlns=\'xri://$xrd*($v*2.0)\'>" +
+ "<XRD>" +
+ " <Service priority=\'0\'>" +
+ "
<
Type>http://openid.net/signon/1.0</Type>" +
+ " <URI>http://localhost/provider.jsp</URI>"
+
+ " </Service>"+
+ "</XRD>" +
+ "</xrds:XRDS>";
+ @Override
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws
ServletException, IOException
+ {
+ resp.setContentType("application/xrds+xml");
+ resp.setStatus(HttpServletResponse.SC_OK);
+ resp.getWriter().print(yadis);
+ }
+ }
+}
\ No newline at end of file
Deleted:
identity-federation/trunk/jboss-identity-bindings/src/test/java/org/jboss/test/identity/federation/bindings/openid/LocalProviderOpenIDUnitTestCase.java
===================================================================
---
identity-federation/trunk/jboss-identity-bindings/src/test/java/org/jboss/test/identity/federation/bindings/openid/LocalProviderOpenIDUnitTestCase.java 2009-07-10
23:40:24 UTC (rev 638)
+++
identity-federation/trunk/jboss-identity-bindings/src/test/java/org/jboss/test/identity/federation/bindings/openid/LocalProviderOpenIDUnitTestCase.java 2009-07-10
23:48:38 UTC (rev 639)
@@ -1,195 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
- */
-package org.jboss.test.identity.federation.bindings.openid;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.jboss.identity.federation.api.openid.OpenIDManager;
-import org.jboss.identity.federation.api.openid.OpenIDProviderInformation;
-import org.jboss.identity.federation.api.openid.OpenIDProviderList;
-import org.jboss.identity.federation.api.openid.OpenIDRequest;
-import org.jboss.test.identity.federation.bindings.server.EmbeddedWebServerBase;
-import org.mortbay.jetty.servlet.Context;
-import org.mortbay.jetty.servlet.ServletHolder;
-import org.openid4java.message.AuthSuccess;
-import org.openid4java.message.DirectError;
-import org.openid4java.message.Message;
-import org.openid4java.message.ParameterList;
-import org.openid4java.server.InMemoryServerAssociationStore;
-import org.openid4java.server.ServerManager;
-
-/**
- * Test the OpenID functionality within the VM
- * @author Anil.Saldhana(a)redhat.com
- * @since Jul 7, 2009
- */
-public class LocalProviderOpenIDUnitTestCase extends EmbeddedWebServerBase
-{
- protected void establishUserApps()
- {
- ClassLoader tcl = Thread.currentThread().getContextClassLoader();
- InputStream is = tcl.getResourceAsStream("openid/localhost-yadis.xml");
-
- assertNotNull("Yadis descriptor not null", is);
-
- Context context = new Context(server,"/",Context.SESSIONS);
- context.addServlet(new ServletHolder(new YadisServlet(is)), "/*");
-
- context.addServlet(new ServletHolder(new ProviderServlet()),
"/provider/");
- }
-
- public void testOpenIDAuth() throws Exception
- {
- //String username = "http://jbosstest.myopenid.com";
- String username = "http://localhost:11080";
- InMemoryProtocolAdapter ad = new InMemoryProtocolAdapter();
- OpenIDRequest openIDRequest = new OpenIDRequest(username);
- OpenIDManager idm = new OpenIDManager(openIDRequest);
- OpenIDProviderList providers = idm.discoverProviders();
- assertNotNull("List of providers is not null", providers);
-
- OpenIDProviderInformation providerInfo = idm.associate(ad,providers);
- idm.authenticate(ad, providerInfo);
- }
-
- //A provider servlet that always returns true
- private class ProviderServlet extends HttpServlet
- {
- private static final long serialVersionUID = 1L;
-
- @Override
- protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws
ServletException, IOException
- {
- doGet(req, resp);
- }
-
- @Override
- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws
ServletException, IOException
- {
- System.out.println("Inside ProviderServlet::doGet");
-
- ParameterList requestP = new ParameterList(req.getParameterMap());
-
- ServerManager manager = new ServerManager();
- manager.setSharedAssociations(new InMemoryServerAssociationStore());
- manager.setPrivateAssociations(new InMemoryServerAssociationStore());
- manager.setOPEndpointUrl("http://localhost:11080/provider/");
-
- String userSelectedId = "http://test.localhost:11080";
- String userSelectedClaimedId = userSelectedId;
- boolean authenticatedAndApproved = true;
-
- String responseText = "";
-
- String mode = requestP.hasParameter("openid.mode") ?
- requestP.getParameterValue("openid.mode") : null;
-
- System.out.println("ProviderServlet::mode="+mode);
- Message responsem ;
- if ("associate".equals(mode))
- {
- // --- process an association request ---
- responsem = manager.associationResponse(requestP);
- responseText = responsem.keyValueFormEncoding().trim();
- }
- else if ("checkid_setup".equals(mode)
- || "checkid_immediate".equals(mode))
- {
- responsem = manager.authResponse(requestP,
- userSelectedId,
- userSelectedClaimedId,
- authenticatedAndApproved );
-
- if (responsem instanceof AuthSuccess)
- {
- resp.sendRedirect(((AuthSuccess) responsem).getDestinationUrl(true));
- return;
- }
- else
- {
-
responseText="<pre>"+responsem.keyValueFormEncoding().trim()+"</pre>";
- }
- }
- else if ("check_authentication".equals(mode))
- {
- // --- processing a verification request ---
- responsem = manager.verify(requestP);
- responseText = responsem.keyValueFormEncoding().trim();
- }
- else
- {
- // --- error response ---
- responsem = DirectError.createDirectError("Unknown request");
- responseText = responsem.keyValueFormEncoding().trim();
- }
-
- resp.setStatus(HttpServletResponse.SC_OK);
- resp.getWriter().print(responseText);
- }
- }
-
- //A Yadis servlet that just reads the XML from the Inputstream and passes it back
- private class YadisServlet extends HttpServlet
- {
- private static final long serialVersionUID = 1L;
-
- private InputStream yadisDescriptor;
-
- public YadisServlet(InputStream yadisDescriptor)
- {
- if(yadisDescriptor == null)
- throw new RuntimeException("input stream null");
- this.yadisDescriptor = yadisDescriptor;
- }
-
- protected void doGet(HttpServletRequest request, HttpServletResponse resp)
- throws ServletException, IOException
- {
- System.out.println("Inside Yadis Servlet");
- if("HEAD".equals(request.getMethod()))
- {
- resp.setStatus(HttpServletResponse.SC_OK);
- return;
- }
- //Asking for Yadis discovery
- byte[] barr = new byte[1024];
- for (int i = 0; i < barr.length; i++)
- {
- int b = yadisDescriptor.read();
- if (b == -1) break;
- barr[i] = (byte) b;
- }
- resp.setContentType("application/xrds+xml");
- resp.setStatus(HttpServletResponse.SC_OK);
-
- String ycontent = new String(barr);
- ycontent = ycontent.replace("\n"," ").trim();
- resp.getWriter().print(ycontent);
- }
- }
-}
\ No newline at end of file
Deleted:
identity-federation/trunk/jboss-identity-bindings/src/test/java/org/jboss/test/identity/federation/bindings/openid/YadisMetadataUnitTestCase.java
===================================================================
---
identity-federation/trunk/jboss-identity-bindings/src/test/java/org/jboss/test/identity/federation/bindings/openid/YadisMetadataUnitTestCase.java 2009-07-10
23:40:24 UTC (rev 638)
+++
identity-federation/trunk/jboss-identity-bindings/src/test/java/org/jboss/test/identity/federation/bindings/openid/YadisMetadataUnitTestCase.java 2009-07-10
23:48:38 UTC (rev 639)
@@ -1,97 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
- */
-package org.jboss.test.identity.federation.bindings.openid;
-
-import java.io.IOException;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.jboss.identity.federation.api.openid.OpenIDManager;
-import org.jboss.identity.federation.api.openid.OpenIDProviderList;
-import org.jboss.identity.federation.api.openid.OpenIDRequest;
-import org.jboss.identity.federation.bindings.servlets.OpenIDYadisServlet;
-import org.jboss.test.identity.federation.bindings.server.EmbeddedWebServerBase;
-import org.mortbay.jetty.servlet.Context;
-import org.mortbay.jetty.servlet.ServletHolder;
-
-/**
- * Unit test the OpenID Yadis Servlet
- * @author Anil.Saldhana(a)redhat.com
- * @since Jul 7, 2009
- */
-public class YadisMetadataUnitTestCase extends EmbeddedWebServerBase
-{
- protected void establishUserApps()
- {
- Context context = new Context(server,"/",Context.SESSIONS);
- ServletHolder servletHolder = new ServletHolder(new OpenIDYadisServlet());
- servletHolder.setInitParameter("support_HTTP_HEAD", "true");
- servletHolder.setInitParameter("yadisResourceURL",
"http://localhost:11080/yadis");
-
- context.addServlet(servletHolder, "/*");
-
- context.addServlet(new ServletHolder( new TestYadisResourceServlet()),
"/yadis");
- }
-
- public void testYadisDiscovery() throws Exception
- {
- //String username = "http://jbosstest.myopenid.com";
- String username = "http://localhost:11080";
-
- OpenIDRequest openIDRequest = new OpenIDRequest(username);
- OpenIDManager idm = new OpenIDManager(openIDRequest);
-
- OpenIDProviderList providers = idm.discoverProviders();
- assertNotNull("Providers list is not null", providers);
- assertEquals("1 provider", 1, providers.get().size());
- }
-
- /**
- * Servlet that just outputs an Yadis resource
- */
- private class TestYadisResourceServlet extends HttpServlet
- {
- private static final long serialVersionUID = 1L;
-
- String yadis = "<xrds:XRDS "+
- " xmlns:xrds=\'xri://$xrds\' " +
- "
xmlns:openid=\'http://openid.net/xmlns/1.0\'"
+
- " xmlns=\'xri://$xrd*($v*2.0)\'>" +
- "<XRD>" +
- " <Service priority=\'0\'>" +
- "
<
Type>http://openid.net/signon/1.0</Type>" +
- " <URI>http://localhost/provider.jsp</URI>"
+
- " </Service>"+
- "</XRD>" +
- "</xrds:XRDS>";
- @Override
- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws
ServletException, IOException
- {
- resp.setContentType("application/xrds+xml");
- resp.setStatus(HttpServletResponse.SC_OK);
- resp.getWriter().print(yadis);
- }
- }
-}
\ No newline at end of file