/* * oxAuth is available under the MIT License (2008). See http://opensource.org/licenses/MIT for full text. * * Copyright (c) 2014, Gluu */ package org.xdi.oxauth.ws.rs; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertNotNull; import static org.testng.Assert.assertTrue; import org.testng.annotations.Parameters; import org.testng.annotations.Test; import org.xdi.oxauth.BaseTest; import org.xdi.oxauth.client.OpenIdConnectDiscoveryClient; import org.xdi.oxauth.client.OpenIdConnectDiscoveryRequest; import org.xdi.oxauth.client.OpenIdConnectDiscoveryResponse; /** * Functional tests for SWD Web Services (HTTP) * * @author Javier Rojas Blum Date: 12.7.2011 */ public class OpenIDConnectDiscoveryHttpTest extends BaseTest { @Test public void emailNormalization1() throws Exception { String resource = "acct:joe@example.com"; String expectedHost = "example.com"; String expectedPath = null; OpenIdConnectDiscoveryRequest openIdConnectDiscoveryRequest = new OpenIdConnectDiscoveryRequest(resource); assertEquals(openIdConnectDiscoveryRequest.getResource(), resource); assertEquals(openIdConnectDiscoveryRequest.getHost(), expectedHost); assertEquals(openIdConnectDiscoveryRequest.getPath(), expectedPath); } @Test public void emailNormalization2() throws Exception { String resource = "joe@example.com"; String expectedHost = "example.com"; String expectedPath = null; OpenIdConnectDiscoveryRequest openIdConnectDiscoveryRequest = new OpenIdConnectDiscoveryRequest(resource); assertEquals(openIdConnectDiscoveryRequest.getResource(), resource); assertEquals(openIdConnectDiscoveryRequest.getHost(), expectedHost); assertEquals(openIdConnectDiscoveryRequest.getPath(), expectedPath); } @Test public void emailNormalization3() throws Exception { String resource = "acct:joe@example.com:8080"; String expectedHost = "example.com:8080"; String expectedPath = null; OpenIdConnectDiscoveryRequest openIdConnectDiscoveryRequest = new OpenIdConnectDiscoveryRequest(resource); assertEquals(openIdConnectDiscoveryRequest.getResource(), resource); assertEquals(openIdConnectDiscoveryRequest.getHost(), expectedHost); assertEquals(openIdConnectDiscoveryRequest.getPath(), expectedPath); } @Test public void emailNormalization4() throws Exception { String resource = "joe@example.com:8080"; String expectedHost = "example.com:8080"; String expectedPath = null; OpenIdConnectDiscoveryRequest openIdConnectDiscoveryRequest = new OpenIdConnectDiscoveryRequest(resource); assertEquals(openIdConnectDiscoveryRequest.getResource(), resource); assertEquals(openIdConnectDiscoveryRequest.getHost(), expectedHost); assertEquals(openIdConnectDiscoveryRequest.getPath(), expectedPath); } @Test public void emailNormalization5() throws Exception { String resource = "joe@localhost"; String expectedHost = "localhost"; String expectedPath = null; OpenIdConnectDiscoveryRequest openIdConnectDiscoveryRequest = new OpenIdConnectDiscoveryRequest(resource); assertEquals(openIdConnectDiscoveryRequest.getResource(), resource); assertEquals(openIdConnectDiscoveryRequest.getHost(), expectedHost); assertEquals(openIdConnectDiscoveryRequest.getPath(), expectedPath); } @Test public void emailNormalization6() throws Exception { String resource = "joe@localhost:8080"; String expectedHost = "localhost:8080"; String expectedPath = null; OpenIdConnectDiscoveryRequest openIdConnectDiscoveryRequest = new OpenIdConnectDiscoveryRequest(resource); assertEquals(openIdConnectDiscoveryRequest.getResource(), resource); assertEquals(openIdConnectDiscoveryRequest.getHost(), expectedHost); assertEquals(openIdConnectDiscoveryRequest.getPath(), expectedPath); } @Test public void urlNormalization1() throws Exception { String resource = "https://example.com"; String expectedHost = "example.com"; String expectedPath = null; OpenIdConnectDiscoveryRequest openIdConnectDiscoveryRequest = new OpenIdConnectDiscoveryRequest(resource); assertEquals(openIdConnectDiscoveryRequest.getResource(), resource); assertEquals(openIdConnectDiscoveryRequest.getHost(), expectedHost); assertEquals(openIdConnectDiscoveryRequest.getPath(), expectedPath); } @Test public void urlNormalization2() throws Exception { String resource = "https://example.com/joe"; String expectedHost = "example.com"; String expectedPath = "/joe"; OpenIdConnectDiscoveryRequest openIdConnectDiscoveryRequest = new OpenIdConnectDiscoveryRequest(resource); assertEquals(openIdConnectDiscoveryRequest.getResource(), resource); assertEquals(openIdConnectDiscoveryRequest.getHost(), expectedHost); assertEquals(openIdConnectDiscoveryRequest.getPath(), expectedPath); } @Test public void urlNormalization3() throws Exception { String resource = "https://example.com:8080/"; String expectedHost = "example.com:8080"; String expectedPath = null; OpenIdConnectDiscoveryRequest openIdConnectDiscoveryRequest = new OpenIdConnectDiscoveryRequest(resource); assertEquals(openIdConnectDiscoveryRequest.getResource(), resource); assertEquals(openIdConnectDiscoveryRequest.getHost(), expectedHost); assertEquals(openIdConnectDiscoveryRequest.getPath(), expectedPath); } @Test public void urlNormalization4() throws Exception { String resource = "https://example.com:8080/joe"; String expectedHost = "example.com:8080"; String expectedPath = "/joe"; OpenIdConnectDiscoveryRequest openIdConnectDiscoveryRequest = new OpenIdConnectDiscoveryRequest(resource); assertEquals(openIdConnectDiscoveryRequest.getResource(), resource); assertEquals(openIdConnectDiscoveryRequest.getHost(), expectedHost); assertEquals(openIdConnectDiscoveryRequest.getPath(), expectedPath); } @Test public void urlNormalization5() throws Exception { String resource = "https://example.com:8080/joe#fragment"; String expectedHost = "example.com:8080"; String expectedPath = "/joe"; OpenIdConnectDiscoveryRequest openIdConnectDiscoveryRequest = new OpenIdConnectDiscoveryRequest(resource); assertEquals(openIdConnectDiscoveryRequest.getResource(), resource); assertEquals(openIdConnectDiscoveryRequest.getHost(), expectedHost); assertEquals(openIdConnectDiscoveryRequest.getPath(), expectedPath); } @Test public void urlNormalization6() throws Exception { String resource = "https://example.com:8080/joe?param=value"; String expectedHost = "example.com:8080"; String expectedPath = "/joe"; OpenIdConnectDiscoveryRequest openIdConnectDiscoveryRequest = new OpenIdConnectDiscoveryRequest(resource); assertEquals(openIdConnectDiscoveryRequest.getResource(), resource); assertEquals(openIdConnectDiscoveryRequest.getHost(), expectedHost); assertEquals(openIdConnectDiscoveryRequest.getPath(), expectedPath); } @Test public void urlNormalization7() throws Exception { String resource = "https://example.com:8080/joe?param1=foo¶m2=bar#fragment"; String expectedHost = "example.com:8080"; String expectedPath = "/joe"; OpenIdConnectDiscoveryRequest openIdConnectDiscoveryRequest = new OpenIdConnectDiscoveryRequest(resource); assertEquals(openIdConnectDiscoveryRequest.getResource(), resource); assertEquals(openIdConnectDiscoveryRequest.getHost(), expectedHost); assertEquals(openIdConnectDiscoveryRequest.getPath(), expectedPath); } @Test public void hostNormalization1() throws Exception { String resource = "example.com"; String expectedHost = "example.com"; String expectedPath = null; OpenIdConnectDiscoveryRequest openIdConnectDiscoveryRequest = new OpenIdConnectDiscoveryRequest(resource); assertEquals(openIdConnectDiscoveryRequest.getResource(), resource); assertEquals(openIdConnectDiscoveryRequest.getHost(), expectedHost); assertEquals(openIdConnectDiscoveryRequest.getPath(), expectedPath); } @Test public void hostNormalization2() throws Exception { String resource = "example.com:8080"; String expectedHost = "example.com:8080"; String expectedPath = null; OpenIdConnectDiscoveryRequest openIdConnectDiscoveryRequest = new OpenIdConnectDiscoveryRequest(resource); assertEquals(openIdConnectDiscoveryRequest.getResource(), resource); assertEquals(openIdConnectDiscoveryRequest.getHost(), expectedHost); assertEquals(openIdConnectDiscoveryRequest.getPath(), expectedPath); } @Test public void hostNormalization3() throws Exception { String resource = "example.com/path"; String expectedHost = "example.com"; String expectedPath = "/path"; OpenIdConnectDiscoveryRequest openIdConnectDiscoveryRequest = new OpenIdConnectDiscoveryRequest(resource); assertEquals(openIdConnectDiscoveryRequest.getResource(), resource); assertEquals(openIdConnectDiscoveryRequest.getHost(), expectedHost); assertEquals(openIdConnectDiscoveryRequest.getPath(), expectedPath); } @Test public void hostNormalization4() throws Exception { String resource = "example.com:8080/path"; String expectedHost = "example.com:8080"; String expectedPath = "/path"; OpenIdConnectDiscoveryRequest openIdConnectDiscoveryRequest = new OpenIdConnectDiscoveryRequest(resource); assertEquals(openIdConnectDiscoveryRequest.getResource(), resource); assertEquals(openIdConnectDiscoveryRequest.getHost(), expectedHost); assertEquals(openIdConnectDiscoveryRequest.getPath(), expectedPath); } @Parameters({"swdResource"}) @Test public void requestOpenIdConnectDiscovery(final String resource) throws Exception { showTitle("requestOpenIdConnectDiscovery"); OpenIdConnectDiscoveryClient client = new OpenIdConnectDiscoveryClient(resource); OpenIdConnectDiscoveryResponse response = client.exec(); showClient(client); assertEquals(response.getStatus(), 200, "Unexpected response code"); assertNotNull(response.getSubject()); assertTrue(response.getLinks().size() > 0); } }