Merge changes I64b56575,I40553a7b

* changes:
  Expose API for retrieval of subscription groups with VCN configured
  Add support for retrieval of configured VCNs by carrier privilege
This commit is contained in:
Benedict Wong
2021-04-22 01:31:11 +00:00
committed by Gerrit Code Review
5 changed files with 88 additions and 0 deletions

View File

@@ -96,6 +96,7 @@ import org.mockito.ArgumentCaptor;
import java.io.FileNotFoundException;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
@@ -616,6 +617,43 @@ public class VcnManagementServiceTest {
verify(vcnInstance).teardownAsynchronously();
}
@Test
public void testGetConfiguredSubscriptionGroupsRequiresSystemUser() throws Exception {
doReturn(UserHandle.getUid(UserHandle.MIN_SECONDARY_USER_ID, TEST_UID))
.when(mMockDeps)
.getBinderCallingUid();
try {
mVcnMgmtSvc.getConfiguredSubscriptionGroups(TEST_PACKAGE_NAME);
fail("Expected security exception for non system user");
} catch (SecurityException expected) {
}
}
@Test
public void testGetConfiguredSubscriptionGroupsMismatchedPackages() throws Exception {
final String badPackage = "IncorrectPackage";
doThrow(new SecurityException()).when(mAppOpsMgr).checkPackage(TEST_UID, badPackage);
try {
mVcnMgmtSvc.getConfiguredSubscriptionGroups(badPackage);
fail("Expected security exception due to mismatched packages");
} catch (SecurityException expected) {
}
}
@Test
public void testGetConfiguredSubscriptionGroups() throws Exception {
mVcnMgmtSvc.setVcnConfig(TEST_UUID_2, TEST_VCN_CONFIG, TEST_PACKAGE_NAME);
// Assert that if both UUID 1 and 2 are provisioned, the caller only gets ones that they are
// privileged for.
triggerSubscriptionTrackerCbAndGetSnapshot(Collections.singleton(TEST_UUID_1));
final List<ParcelUuid> subGrps =
mVcnMgmtSvc.getConfiguredSubscriptionGroups(TEST_PACKAGE_NAME);
assertEquals(Collections.singletonList(TEST_UUID_1), subGrps);
}
@Test
public void testAddVcnUnderlyingNetworkPolicyListener() throws Exception {
mVcnMgmtSvc.addVcnUnderlyingNetworkPolicyListener(mMockPolicyListener);