From 797a8ce9223e45db54d0c1d55bbc987f61a7b965 Mon Sep 17 00:00:00 2001 From: David Su Date: Wed, 26 Feb 2020 18:14:20 -0800 Subject: [PATCH] CTS: Test WifiInfo.Builder Bug: 150236894 Test: atest android.net.wifi.cts.WifiInfoTest Change-Id: Idd66a93aeb244738a228503dc2e3e08b0aa6af87 --- .../android/net/wifi/cts/WifiInfoTest.java | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/tests/cts/net/src/android/net/wifi/cts/WifiInfoTest.java b/tests/cts/net/src/android/net/wifi/cts/WifiInfoTest.java index 6f94feab2f..557710dcba 100644 --- a/tests/cts/net/src/android/net/wifi/cts/WifiInfoTest.java +++ b/tests/cts/net/src/android/net/wifi/cts/WifiInfoTest.java @@ -33,6 +33,7 @@ import android.test.AndroidTestCase; import com.android.compatibility.common.util.PollingCheck; import com.android.compatibility.common.util.SystemUtil; +import java.nio.charset.StandardCharsets; import java.util.concurrent.Callable; @AppModeFull(reason = "Cannot get WifiManager in instant app mode") @@ -49,6 +50,12 @@ public class WifiInfoTest extends AndroidTestCase { private static final int STATE_WIFI_CHANGING = 1; private static final int STATE_WIFI_CHANGED = 2; + private static final String TEST_SSID = "Test123"; + private static final String TEST_BSSID = "12:12:12:12:12:12"; + private static final int TEST_RSSI = -60; + private static final int TEST_NETWORK_ID = 5; + private static final int TEST_NETWORK_ID2 = 6; + private static final String TAG = "WifiInfoTest"; private static final int TIMEOUT_MSEC = 6000; private static final int WAIT_MSEC = 60; @@ -207,4 +214,42 @@ public class WifiInfoTest extends AndroidTestCase { assertThat(wifiInfo.getMaxSupportedTxLinkSpeedMbps()).isAtLeast(-1); assertThat(wifiInfo.getMaxSupportedRxLinkSpeedMbps()).isAtLeast(-1); } + + /** + * Test that the WifiInfo Builder returns the same values that was set, and that + * calling build multiple times returns different instances. + */ + public void testWifiInfoBuilder() throws Exception { + WifiInfo.Builder builder = new WifiInfo.Builder() + .setSsid(TEST_SSID.getBytes(StandardCharsets.UTF_8)) + .setBssid(TEST_BSSID) + .setRssi(TEST_RSSI) + .setNetworkId(TEST_NETWORK_ID); + + WifiInfo info1 = builder.build(); + + assertThat(info1.getSSID()).isEqualTo("\"" + TEST_SSID + "\""); + assertThat(info1.getBSSID()).isEqualTo(TEST_BSSID); + assertThat(info1.getRssi()).isEqualTo(TEST_RSSI); + assertThat(info1.getNetworkId()).isEqualTo(TEST_NETWORK_ID); + + WifiInfo info2 = builder + .setNetworkId(TEST_NETWORK_ID2) + .build(); + + // different instances + assertThat(info1).isNotSameAs(info2); + + // assert that info1 didn't change + assertThat(info1.getSSID()).isEqualTo("\"" + TEST_SSID + "\""); + assertThat(info1.getBSSID()).isEqualTo(TEST_BSSID); + assertThat(info1.getRssi()).isEqualTo(TEST_RSSI); + assertThat(info1.getNetworkId()).isEqualTo(TEST_NETWORK_ID); + + // assert that info2 changed + assertThat(info2.getSSID()).isEqualTo("\"" + TEST_SSID + "\""); + assertThat(info2.getBSSID()).isEqualTo(TEST_BSSID); + assertThat(info2.getRssi()).isEqualTo(TEST_RSSI); + assertThat(info2.getNetworkId()).isEqualTo(TEST_NETWORK_ID2); + } }