diff --git a/cadcAccessControl-Server/build.xml b/cadcAccessControl-Server/build.xml index 49e3a291cd17ad61a98f2867dd8a2deefe3a24e5..7be3f28fa2db7cdca602c5f503e9a2abc9115259 100644 --- a/cadcAccessControl-Server/build.xml +++ b/cadcAccessControl-Server/build.xml @@ -116,8 +116,8 @@ <copy overwrite="true" file="test/LdapConfig.test.properties" todir="${user.home}/config/"/> <copy overwrite="true" - file="${env.CADC_PREFIX}/etc/LocalAuthority.properties" - tofile="${build}/class/LocalAuthority.properties"/> + file="${env.A}/etc/LocalAuthority.properties" + todir="${build}/test/class/"/> </target> <!-- JAR files needed to run the test suite --> diff --git a/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/WhoAmIServlet.java b/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/WhoAmIServlet.java index 9caff6d55d45577b28998d2061987f496f3ba459..6a11fdc6fa9d0622f34020ec63cedae4087c43de 100644 --- a/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/WhoAmIServlet.java +++ b/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/WhoAmIServlet.java @@ -79,6 +79,8 @@ import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import ca.nrc.cadc.auth.AuthMethod; +import ca.nrc.cadc.reg.Standards; import org.apache.log4j.Logger; import ca.nrc.cadc.auth.AuthenticationUtil; @@ -170,9 +172,8 @@ public class WhoAmIServlet extends HttpServlet log.debug("ums service uri: " + umsServiceURI); - final URL redirectURL = - registryClient.getServiceURL( - URI.create(umsServiceURI.toString() + "#users"), scheme, USER_GET_PATH); + final URL serviceURL = registryClient.getServiceURL(umsServiceURI, Standards.UMS_USERS_01, AuthMethod.PASSWORD); + final URL redirectURL = new URL(serviceURL.toExternalForm() + USER_GET_PATH); // Take the first one. final String redirectUrl = @@ -181,8 +182,7 @@ public class WhoAmIServlet extends HttpServlet log.debug("redirecting to " + redirectURI.toASCIIString()); - response.sendRedirect(redirectURI.getPath() + "?" - + redirectURI.getQuery()); + response.sendRedirect(redirectURI.getPath() + "?" + redirectURI.getQuery()); } /** diff --git a/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/web/WhoAmIServletTest.java b/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/web/WhoAmIServletTest.java index 63d4d6413d32aafe311a93d7ec81e3c07c95f254..1dd59011b3d9a6cdbee6e9943bf41e107e92f1f0 100644 --- a/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/web/WhoAmIServletTest.java +++ b/cadcAccessControl-Server/test/src/ca/nrc/cadc/ac/server/web/WhoAmIServletTest.java @@ -82,6 +82,8 @@ import javax.security.auth.Subject; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import ca.nrc.cadc.auth.AuthMethod; +import ca.nrc.cadc.reg.Standards; import org.junit.Test; import ca.nrc.cadc.auth.HttpPrincipal; @@ -135,9 +137,12 @@ public class WhoAmIServletTest LocalAuthority localAuthority = new LocalAuthority(); URI umsServiceURI = localAuthority.getServiceURI("ums"); - expect(mockRegistry.getServiceURL(URI.create(umsServiceURI.toString() + "#users"), - "http", "/%s?idType=HTTP")). - andReturn(new URL("http://mysite.com/ac/users/CADCtest?idType=HTTP")).once(); +// expect(mockRegistry.getServiceURL(URI.create(umsServiceURI.toString() + "#users"), +// "http", "/%s?idType=HTTP")). +// andReturn(new URL("http://mysite.com/ac/users/CADCtest?idType=HTTP")).once(); + + expect(mockRegistry.getServiceURL(umsServiceURI, Standards.UMS_USERS_01, AuthMethod.PASSWORD)) + .andReturn(new URL("http://mysite.com/ac/users")).once(); replay(mockRequest, mockResponse, mockRegistry);