From c2829de2f8f4d5c774bcafd0c36daae54b7434d9 Mon Sep 17 00:00:00 2001 From: Alinga Yeung <Alinga.Yeung@nrc-cnrc.gc.ca> Date: Thu, 3 Sep 2015 11:48:38 -0700 Subject: [PATCH] Story 1657 rework. Added a test case for unsupported principal. --- .../ca/nrc/cadc/ac/client/UserClientTest.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/projects/cadcAccessControl/test/src/ca/nrc/cadc/ac/client/UserClientTest.java b/projects/cadcAccessControl/test/src/ca/nrc/cadc/ac/client/UserClientTest.java index 76a37a3b..73847151 100644 --- a/projects/cadcAccessControl/test/src/ca/nrc/cadc/ac/client/UserClientTest.java +++ b/projects/cadcAccessControl/test/src/ca/nrc/cadc/ac/client/UserClientTest.java @@ -73,7 +73,9 @@ import java.net.MalformedURLException; import java.net.URI; import java.net.URISyntaxException; import java.net.URL; +import java.security.Principal; +import javax.management.remote.JMXPrincipal; import javax.security.auth.Subject; import org.apache.log4j.Level; @@ -163,6 +165,25 @@ public class UserClientTest } } + @Test + public void testSubjectWithUnsupportedPrincipal() throws URISyntaxException, MalformedURLException + { + Principal principal = new JMXPrincipal("APIName"); + try + { + // test subject augmentation given a subject with more than one principal + Subject subject = new Subject(); + subject.getPrincipals().add(principal); + this.createUserClient().augmentSubject(subject); + Assert.fail("Expecting an IllegalArgumentException."); + } + catch(IllegalArgumentException e) + { + String expected = "Subject has unsupported principal " + principal.getName(); + Assert.assertEquals(expected, e.getMessage()); + } + } + protected UserClient createUserClient() throws URISyntaxException, MalformedURLException { RegistryClient regClient = new RegistryClient(); -- GitLab