Add tests for Subject APIs
Bug: 119393918
Bug: 182164686
Test: atest CtsLibcoreTestCases:libcore.javax.security.auth.SubjectTest
Change-Id: If9463debf9655e1940cc48a514d534ffddaf37f1
(cherry picked from commit 4170c86f10c3c93ebe9da9bf2e6b0b15eaa89ad9)
Merged-In: If9463debf9655e1940cc48a514d534ffddaf37f1
diff --git a/luni/src/test/java/libcore/javax/security/auth/SubjectTest.java b/luni/src/test/java/libcore/javax/security/auth/SubjectTest.java
index 26efed7..0af23fc 100644
--- a/luni/src/test/java/libcore/javax/security/auth/SubjectTest.java
+++ b/luni/src/test/java/libcore/javax/security/auth/SubjectTest.java
@@ -27,6 +27,7 @@
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
+import sun.security.x509.X500Name;
/**
* Android does not support {@link java.lang.SecurityManager} and has its implementations stubbed.
@@ -49,16 +50,31 @@
@Test
public void getPrincipals() {
assertEquals(set, subject.getPrincipals());
+
+ assertEquals(set, subject.getPrincipals(PrincipalImpl.class));
+ assertEquals(set, subject.getPrincipals(Principal.class));
+ // PrincipalImpl is not a subclass of X500Name.
+ assertEquals(0, subject.getPrincipals(X500Name.class).size());
}
@Test
public void getPrivateCredentials() {
assertEquals(set, subject.getPrivateCredentials());
+
+ assertEquals(set, subject.getPrivateCredentials(PrincipalImpl.class));
+ assertEquals(set, subject.getPrivateCredentials(Principal.class));
+ // PrincipalImpl is not a subclass of X500Name.
+ assertEquals(0, subject.getPrivateCredentials(X500Name.class).size());
}
@Test
public void getPublicCredentials() {
assertEquals(set, subject.getPublicCredentials());
+
+ assertEquals(set, subject.getPublicCredentials(PrincipalImpl.class));
+ assertEquals(set, subject.getPublicCredentials(Principal.class));
+ // PrincipalImpl is not a subclass of X500Name.
+ assertEquals(0, subject.getPublicCredentials(X500Name.class).size());
}
@Test