Skip to content
Snippets Groups Projects
Commit cd4d9671 authored by Jeff Burke's avatar Jeff Burke
Browse files

Merge branch 'ac2' of gimli2:/srv/cadc/git/wopencadc into ac2

Conflicts:
	projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/users/GetUserAction.java
parents 1fbebeb5 064d1c33
No related branches found
No related tags found
No related merge requests found
...@@ -149,7 +149,7 @@ public class GetUserAction extends AbstractUserAction ...@@ -149,7 +149,7 @@ public class GetUserAction extends AbstractUserAction
} }
PersonalDetails pd = details.iterator().next(); PersonalDetails pd = details.iterator().next();
user.details.clear(); user.details.clear();
user.details.add(new PersonalDetails(pd.getFirstName(), pd.getFirstName())); user.details.add(new PersonalDetails(pd.getFirstName(), pd.getLastName()));
} }
else else
{ {
...@@ -167,16 +167,18 @@ public class GetUserAction extends AbstractUserAction ...@@ -167,16 +167,18 @@ public class GetUserAction extends AbstractUserAction
protected boolean isServops() protected boolean isServops()
{ {
log.debug("isServops(): augmentUserDN = " + this.augmentUserDN);
boolean isServops = false; boolean isServops = false;
AccessControlContext acc = AccessController.getContext(); AccessControlContext acc = AccessController.getContext();
Subject subject = Subject.getSubject(acc); Subject subject = Subject.getSubject(acc);
for (Principal principal : subject.getPrincipals()) if (subject != null)
{ {
if (principal.getName().equals(this.getAugmentUserDN())) for (Principal principal : subject.getPrincipals())
{ {
isServops = true; if (principal.getName().equals(this.getAugmentUserDN()))
break; {
isServops = true;
break;
}
} }
} }
......
...@@ -89,10 +89,11 @@ import java.util.Set; ...@@ -89,10 +89,11 @@ import java.util.Set;
import static org.easymock.EasyMock.*; import static org.easymock.EasyMock.*;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
public class GetUserActionTest public class GetUserActionTest
{ {
// @Test @Test
public void writeUserXML() throws Exception public void writeUserXML() throws Exception
{ {
final SyncOutput mockSyncOut = final SyncOutput mockSyncOut =
...@@ -179,15 +180,72 @@ public class GetUserActionTest ...@@ -179,15 +180,72 @@ public class GetUserActionTest
testSubject.setSyncOut(syncOutput); testSubject.setSyncOut(syncOutput);
testSubject.doAction(); testSubject.doAction();
sb = new StringBuilder(); String actualUser = writer.toString();
assertEquals(expectedUser, actualUser);
verify(mockUserPersistence, mockResponse);
}
@Test
public void writeUserWithDetailDisplay() throws Exception
{
final HttpServletResponse mockResponse = createMock(HttpServletResponse.class);
final UserPersistence<HttpPrincipal> mockUserPersistence =
createMock(UserPersistence.class);
final HttpPrincipal userID = new HttpPrincipal("CADCtest");
final GetUserAction testSubject = new GetUserAction(userID, "display")
{
@Override
UserPersistence<HttpPrincipal> getUserPersistence()
{
return mockUserPersistence;
}
};
final User<HttpPrincipal> expected = new User<HttpPrincipal>(userID);
final PersonalDetails personalDetails = new PersonalDetails("cadc", "test");
expected.details.add(personalDetails);
StringBuilder sb = new StringBuilder();
UserWriter userWriter = new UserWriter();
userWriter.write(expected, sb); userWriter.write(expected, sb);
String actualUser = sb.toString(); String expectedUser = sb.toString();
Set<PersonalDetails> details = expected.getDetails(PersonalDetails.class);
PersonalDetails pd = details.iterator().next();
pd.city = "city";
expected.getIdentities().add(new NumericPrincipal(789));
expected.getIdentities().add(new X500Principal("cn=foo,o=bar"));
final PosixDetails posixDetails = new PosixDetails(123L, 456L, "/dev/null");
expected.details.add(posixDetails);
final Writer writer = new StringWriter();
final PrintWriter printWriter = new PrintWriter(writer);
expect(mockUserPersistence.getUser(userID)).andReturn(expected).once();
mockResponse.setHeader("Content-Type", "text/xml");
expectLastCall().once();
expect(mockResponse.getWriter()).andReturn(printWriter).once();
replay(mockUserPersistence, mockResponse);
SyncOutput syncOutput = new SyncOutput(mockResponse);
testSubject.setSyncOut(syncOutput);
testSubject.doAction();
String actualUser = writer.toString();
assertEquals(expectedUser, actualUser); assertEquals(expectedUser, actualUser);
verify(mockUserPersistence, mockResponse); verify(mockUserPersistence, mockResponse);
} }
// @Test @Test
public void writeUserJSON() throws Exception public void writeUserJSON() throws Exception
{ {
final SyncOutput mockSyncOut = final SyncOutput mockSyncOut =
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment