diff options
| author | Lucas Lin <lucaslin@google.com> | 2021-10-18 05:27:59 +0000 |
|---|---|---|
| committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2021-10-18 05:27:59 +0000 |
| commit | 39379a40bd323cc91355bc24f2b23f1d2656db4a (patch) | |
| tree | 5bc47c02d923ab1535f12f13f180e97b0da591e1 /tests/common/java/android/net/NetworkCapabilitiesTest.java | |
| parent | 29f0350da3b7ad029471ef51010f9e12224b2cd3 (diff) | |
| parent | 8b2dfa7c0275b42e2a67e95a7ca965e47b998231 (diff) | |
Merge "Add new APIs in NetworkCapabilities to set and get underlying networks"
Diffstat (limited to 'tests/common/java/android/net/NetworkCapabilitiesTest.java')
| -rw-r--r-- | tests/common/java/android/net/NetworkCapabilitiesTest.java | 65 |
1 files changed, 61 insertions, 4 deletions
diff --git a/tests/common/java/android/net/NetworkCapabilitiesTest.java b/tests/common/java/android/net/NetworkCapabilitiesTest.java index 502b4f6b58..a619d6b2d2 100644 --- a/tests/common/java/android/net/NetworkCapabilitiesTest.java +++ b/tests/common/java/android/net/NetworkCapabilitiesTest.java @@ -50,6 +50,7 @@ import static android.os.Process.INVALID_UID; import static com.android.modules.utils.build.SdkLevel.isAtLeastR; import static com.android.modules.utils.build.SdkLevel.isAtLeastS; +import static com.android.modules.utils.build.SdkLevel.isAtLeastT; import static com.android.testutils.MiscAsserts.assertEmpty; import static com.android.testutils.MiscAsserts.assertThrows; import static com.android.testutils.ParcelUtils.assertParcelSane; @@ -84,7 +85,9 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mockito; +import java.util.ArrayList; import java.util.Arrays; +import java.util.List; import java.util.Set; @RunWith(AndroidJUnit4.class) @@ -342,7 +345,9 @@ public class NetworkCapabilitiesTest { } private void testParcelSane(NetworkCapabilities cap) { - if (isAtLeastS()) { + if (isAtLeastT()) { + assertParcelSane(cap, 17); + } else if (isAtLeastS()) { assertParcelSane(cap, 16); } else if (isAtLeastR()) { assertParcelSane(cap, 15); @@ -712,6 +717,47 @@ public class NetworkCapabilitiesTest { } @Test + public void testUnderlyingNetworks() { + assumeTrue(isAtLeastT()); + final NetworkCapabilities nc = new NetworkCapabilities(); + final Network network1 = new Network(100); + final Network network2 = new Network(101); + final ArrayList<Network> inputNetworks = new ArrayList<>(); + inputNetworks.add(network1); + inputNetworks.add(network2); + nc.setUnderlyingNetworks(inputNetworks); + final ArrayList<Network> outputNetworks = new ArrayList<>(nc.getUnderlyingNetworks()); + assertEquals(network1, outputNetworks.get(0)); + assertEquals(network2, outputNetworks.get(1)); + nc.setUnderlyingNetworks(null); + assertNull(nc.getUnderlyingNetworks()); + } + + @Test + public void testEqualsForUnderlyingNetworks() { + assumeTrue(isAtLeastT()); + final NetworkCapabilities nc1 = new NetworkCapabilities(); + final NetworkCapabilities nc2 = new NetworkCapabilities(); + assertEquals(nc1, nc2); + final Network network = new Network(100); + final ArrayList<Network> inputNetworks = new ArrayList<>(); + final ArrayList<Network> emptyList = new ArrayList<>(); + inputNetworks.add(network); + nc1.setUnderlyingNetworks(inputNetworks); + assertNotEquals(nc1, nc2); + nc2.setUnderlyingNetworks(inputNetworks); + assertEquals(nc1, nc2); + nc1.setUnderlyingNetworks(emptyList); + assertNotEquals(nc1, nc2); + nc2.setUnderlyingNetworks(emptyList); + assertEquals(nc1, nc2); + nc1.setUnderlyingNetworks(null); + assertNotEquals(nc1, nc2); + nc2.setUnderlyingNetworks(null); + assertEquals(nc1, nc2); + } + + @Test public void testSetNetworkSpecifierOnMultiTransportNc() { // Sequence 1: Transport + Transport + NetworkSpecifier NetworkCapabilities nc1 = new NetworkCapabilities(); @@ -1109,7 +1155,7 @@ public class NetworkCapabilitiesTest { final TransportInfo transportInfo = new TransportInfo() {}; final String ssid = "TEST_SSID"; final String packageName = "com.google.test.networkcapabilities"; - final NetworkCapabilities nc = new NetworkCapabilities.Builder() + final NetworkCapabilities.Builder capBuilder = new NetworkCapabilities.Builder() .addTransportType(TRANSPORT_WIFI) .addTransportType(TRANSPORT_CELLULAR) .removeTransportType(TRANSPORT_CELLULAR) @@ -1125,8 +1171,14 @@ public class NetworkCapabilitiesTest { .setSignalStrength(signalStrength) .setSsid(ssid) .setRequestorUid(requestUid) - .setRequestorPackageName(packageName) - .build(); + .setRequestorPackageName(packageName); + final Network network1 = new Network(100); + final Network network2 = new Network(101); + final List<Network> inputNetworks = List.of(network1, network2); + if (isAtLeastT()) { + capBuilder.setUnderlyingNetworks(inputNetworks); + } + final NetworkCapabilities nc = capBuilder.build(); assertEquals(1, nc.getTransportTypes().length); assertEquals(TRANSPORT_WIFI, nc.getTransportTypes()[0]); assertTrue(nc.hasCapability(NET_CAPABILITY_EIMS)); @@ -1144,6 +1196,11 @@ public class NetworkCapabilitiesTest { assertEquals(ssid, nc.getSsid()); assertEquals(requestUid, nc.getRequestorUid()); assertEquals(packageName, nc.getRequestorPackageName()); + if (isAtLeastT()) { + final List<Network> outputNetworks = nc.getUnderlyingNetworks(); + assertEquals(network1, outputNetworks.get(0)); + assertEquals(network2, outputNetworks.get(1)); + } // Cannot assign null into NetworkCapabilities.Builder try { final NetworkCapabilities.Builder builder = new NetworkCapabilities.Builder(null); |
