From 745ddef34ff8f9ae77480f4d5b28636d4689161c Mon Sep 17 00:00:00 2001
From: Jeff Burke <Jeff.Burke@nrc-cnrc.gc.ca>
Date: Fri, 15 Jul 2016 13:43:48 -0700
Subject: [PATCH] s1849: cadcAccessControl-Server updates for new
 RegistryClient.

---
 cadcAccessControl-Server/build.xml                    |  4 ++--
 .../src/ca/nrc/cadc/ac/server/web/WhoAmIServlet.java  | 10 +++++-----
 .../ca/nrc/cadc/ac/server/web/WhoAmIServletTest.java  | 11 ++++++++---
 3 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/cadcAccessControl-Server/build.xml b/cadcAccessControl-Server/build.xml
index 49e3a291..7be3f28f 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 9caff6d5..6a11fdc6 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 63d4d641..1dd59011 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);
 
-- 
GitLab