From 31a7f20c49a7297fbf506710db65b1d6476bb1d0 Mon Sep 17 00:00:00 2001 From: Treehugger Robot Date: Tue, 7 Apr 2020 06:59:29 +0000 Subject: [PATCH] CTS test for NetworkRequest#getSpecifier Bug: 135998869 Test: this Change-Id: I1ca9ecff8ed93164855686e4c76a070e6fa757c7 Merged-In: I339c62f0ce68cc3c19abbaef7f99d216362db4cb (cherry picked from commit 8fba41c86d92460a80cd58beb131528ce6e147d8, aosp/1188840) --- .../android/net/cts/NetworkRequestTest.java | 52 ++++++++++++++++++- 1 file changed, 50 insertions(+), 2 deletions(-) diff --git a/tests/cts/net/src/android/net/cts/NetworkRequestTest.java b/tests/cts/net/src/android/net/cts/NetworkRequestTest.java index c862c77bc7..8b97c8cb92 100644 --- a/tests/cts/net/src/android/net/cts/NetworkRequestTest.java +++ b/tests/cts/net/src/android/net/cts/NetworkRequestTest.java @@ -18,11 +18,42 @@ package android.net.cts; import static android.net.NetworkCapabilities.NET_CAPABILITY_MMS; import static android.net.NetworkCapabilities.TRANSPORT_BLUETOOTH; +import static android.net.NetworkCapabilities.TRANSPORT_WIFI; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; + +import android.net.MacAddress; import android.net.NetworkRequest; -import android.test.AndroidTestCase; +import android.net.NetworkSpecifier; +import android.net.wifi.WifiConfiguration; +import android.net.wifi.WifiNetworkSpecifier; +import android.os.Build; +import android.os.PatternMatcher; +import android.util.Pair; -public class NetworkRequestTest extends AndroidTestCase { +import androidx.test.runner.AndroidJUnit4; + +import com.android.testutils.DevSdkIgnoreRule; +import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo; + +import org.junit.Rule; +import org.junit.Test; +import org.junit.runner.RunWith; + +@RunWith(AndroidJUnit4.class) +public class NetworkRequestTest { + @Rule + public final DevSdkIgnoreRule ignoreRule = new DevSdkIgnoreRule(); + + private static final String TEST_SSID = "TestSSID"; + private static final int TEST_UID = 2097; + private static final String TEST_PACKAGE_NAME = "test.package.name"; + private static final MacAddress ARBITRARY_ADDRESS = MacAddress.fromString("3:5:8:12:9:2"); + + @Test public void testCapabilities() { assertTrue(new NetworkRequest.Builder().addCapability(NET_CAPABILITY_MMS).build() .hasCapability(NET_CAPABILITY_MMS)); @@ -30,10 +61,27 @@ public class NetworkRequestTest extends AndroidTestCase { .hasCapability(NET_CAPABILITY_MMS)); } + @Test public void testTransports() { assertTrue(new NetworkRequest.Builder().addTransportType(TRANSPORT_BLUETOOTH).build() .hasTransport(TRANSPORT_BLUETOOTH)); assertFalse(new NetworkRequest.Builder().removeTransportType(TRANSPORT_BLUETOOTH).build() .hasTransport(TRANSPORT_BLUETOOTH)); } + + @Test + @IgnoreUpTo(Build.VERSION_CODES.Q) + public void testSpecifier() { + assertNull(new NetworkRequest.Builder().build().getNetworkSpecifier()); + final WifiNetworkSpecifier specifier = new WifiNetworkSpecifier.Builder() + .setSsidPattern(new PatternMatcher(TEST_SSID, PatternMatcher.PATTERN_LITERAL)) + .setBssidPattern(ARBITRARY_ADDRESS, ARBITRARY_ADDRESS) + .build(); + final NetworkSpecifier obtainedSpecifier = new NetworkRequest.Builder() + .addTransportType(TRANSPORT_WIFI) + .setNetworkSpecifier(specifier) + .build() + .getNetworkSpecifier(); + assertEquals(obtainedSpecifier, specifier); + } }