From aa5d56647644856ea768d7b162c0211bd2da5345 Mon Sep 17 00:00:00 2001 From: Roshan Pius Date: Tue, 24 Mar 2020 16:12:48 -0700 Subject: [PATCH 1/2] WifiNetworkSpecifierTest: Remove double quotes from preSharedKey Legacy WifiConfiguration.preSharedKey is double quoted (similar to SSID). Bug: 152264590 Test: atest android.net.wifi.cts.WifiNetworkSpecifierTest --rerun-until-failure Change-Id: Id139537f07efec4e1b49cda29b2ed9e9f40fb22f --- .../wifi/cts/WifiNetworkSpecifierTest.java | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/tests/cts/net/src/android/net/wifi/cts/WifiNetworkSpecifierTest.java b/tests/cts/net/src/android/net/wifi/cts/WifiNetworkSpecifierTest.java index 83018fa1cb..eb6d6843eb 100644 --- a/tests/cts/net/src/android/net/wifi/cts/WifiNetworkSpecifierTest.java +++ b/tests/cts/net/src/android/net/wifi/cts/WifiNetworkSpecifierTest.java @@ -363,13 +363,17 @@ public class WifiNetworkSpecifierTest extends AndroidTestCase { testConnectionFlowWithSpecifier(specifier, true); } + private static String removeDoubleQuotes(String string) { + return WifiInfo.sanitizeSsid(string); + } + private WifiNetworkSpecifier.Builder createSpecifierBuilderWithCredentialFromSavedNetwork() { WifiNetworkSpecifier.Builder specifierBuilder = new WifiNetworkSpecifier.Builder(); if (mTestNetwork.preSharedKey != null) { if (mTestNetwork.allowedKeyManagement.get(WifiConfiguration.KeyMgmt.WPA_PSK)) { - specifierBuilder.setWpa2Passphrase(mTestNetwork.preSharedKey); + specifierBuilder.setWpa2Passphrase(removeDoubleQuotes(mTestNetwork.preSharedKey)); } else if (mTestNetwork.allowedKeyManagement.get(WifiConfiguration.KeyMgmt.SAE)) { - specifierBuilder.setWpa3Passphrase(mTestNetwork.preSharedKey); + specifierBuilder.setWpa3Passphrase(removeDoubleQuotes(mTestNetwork.preSharedKey)); } else { fail("Unsupported security type found in saved networks"); } @@ -391,7 +395,7 @@ public class WifiNetworkSpecifierTest extends AndroidTestCase { return; } WifiNetworkSpecifier specifier = createSpecifierBuilderWithCredentialFromSavedNetwork() - .setSsid(WifiInfo.sanitizeSsid(mTestNetwork.SSID)) + .setSsid(removeDoubleQuotes(mTestNetwork.SSID)) .build(); testSuccessfulConnectionWithSpecifier(specifier); } @@ -406,7 +410,7 @@ public class WifiNetworkSpecifierTest extends AndroidTestCase { } // Creates a ssid pattern by dropping the last char in the saved network & pass that // as a prefix match pattern in the request. - String ssidUnquoted = WifiInfo.sanitizeSsid(mTestNetwork.SSID); + String ssidUnquoted = removeDoubleQuotes(mTestNetwork.SSID); assertThat(ssidUnquoted.length()).isAtLeast(2); String ssidPrefix = ssidUnquoted.substring(0, ssidUnquoted.length() - 1); // Note: The match may return more than 1 network in this case since we use a prefix match, @@ -460,7 +464,7 @@ public class WifiNetworkSpecifierTest extends AndroidTestCase { List scanResults = mWifiManager.getScanResults(); if (scanResults == null || scanResults.isEmpty()) fail("No scan results available"); for (ScanResult scanResult : scanResults) { - if (TextUtils.equals(scanResult.SSID, WifiInfo.sanitizeSsid(mTestNetwork.SSID))) { + if (TextUtils.equals(scanResult.SSID, removeDoubleQuotes(mTestNetwork.SSID))) { return scanResult; } } @@ -511,7 +515,7 @@ public class WifiNetworkSpecifierTest extends AndroidTestCase { return; } WifiNetworkSpecifier specifier = createSpecifierBuilderWithCredentialFromSavedNetwork() - .setSsid(WifiInfo.sanitizeSsid(mTestNetwork.SSID)) + .setSsid(removeDoubleQuotes(mTestNetwork.SSID)) .build(); testUserRejectionWithSpecifier(specifier); } @@ -526,11 +530,11 @@ public class WifiNetworkSpecifierTest extends AndroidTestCase { return; } WifiNetworkSpecifier specifier1 = new WifiNetworkSpecifier.Builder() - .setSsid(WifiInfo.sanitizeSsid(mTestNetwork.SSID)) + .setSsid(removeDoubleQuotes(mTestNetwork.SSID)) .setWpa2EnterpriseConfig(new WifiEnterpriseConfig()) .build(); WifiNetworkSpecifier specifier2 = new WifiNetworkSpecifier.Builder() - .setSsid(WifiInfo.sanitizeSsid(mTestNetwork.SSID)) + .setSsid(removeDoubleQuotes(mTestNetwork.SSID)) .setWpa2EnterpriseConfig(new WifiEnterpriseConfig()) .build(); assertThat(specifier1.satisfiedBy(specifier2)).isTrue(); @@ -546,11 +550,11 @@ public class WifiNetworkSpecifierTest extends AndroidTestCase { return; } WifiNetworkSpecifier specifier1 = new WifiNetworkSpecifier.Builder() - .setSsid(WifiInfo.sanitizeSsid(mTestNetwork.SSID)) + .setSsid(removeDoubleQuotes(mTestNetwork.SSID)) .setWpa3EnterpriseConfig(new WifiEnterpriseConfig()) .build(); WifiNetworkSpecifier specifier2 = new WifiNetworkSpecifier.Builder() - .setSsid(WifiInfo.sanitizeSsid(mTestNetwork.SSID)) + .setSsid(removeDoubleQuotes(mTestNetwork.SSID)) .setWpa3EnterpriseConfig(new WifiEnterpriseConfig()) .build(); assertThat(specifier1.satisfiedBy(specifier2)).isTrue(); From 7a3387b15ed7a3eb3863b00d5e8a7540a93b75fc Mon Sep 17 00:00:00 2001 From: Aaron Huang Date: Wed, 25 Mar 2020 05:14:52 +0000 Subject: [PATCH 2/2] Test IpConfiguration field count and parceling round trip Add test for IpConfiguration and also address review comments from aosp/1171795. Bug: 139268426 Test: CtsNetTestCasesLatestSdk:android.net.cts.IpConfigurationTest Change-Id: Ib30a98e11bdcd9d473b713f7e4c317172b14f000 Merged-In: Ib30a98e11bdcd9d473b713f7e4c317172b14f000 (cherry picked from commit 8e208eb353263bddca4d93a7a67a5f978316b0cc) --- .../android/net/cts/IpConfigurationTest.java | 78 ++++++------------- 1 file changed, 25 insertions(+), 53 deletions(-) diff --git a/tests/cts/net/src/android/net/cts/IpConfigurationTest.java b/tests/cts/net/src/android/net/cts/IpConfigurationTest.java index 21be35142d..c6bc0770b8 100644 --- a/tests/cts/net/src/android/net/cts/IpConfigurationTest.java +++ b/tests/cts/net/src/android/net/cts/IpConfigurationTest.java @@ -16,6 +16,8 @@ package android.net.cts; +import static com.android.testutils.ParcelUtilsKt.assertParcelSane; + import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; @@ -37,13 +39,6 @@ import java.util.ArrayList; @RunWith(AndroidJUnit4.class) public final class IpConfigurationTest { - private static final int TYPE_IPASSIGNMENT_STATIC = 0; - private static final int TYPE_IPASSIGNMENT_DHCP = 1; - - private static final int TYPE_PROXY_SETTINGS_NONE = 0; - private static final int TYPE_PROXY_SETTINGS_STATIC = 1; - private static final int TYPE_PROXY_SETTINGS_PAC = 2; - private static final LinkAddress LINKADDR = new LinkAddress("192.0.2.2/25"); private static final InetAddress GATEWAY = InetAddressUtils.parseNumericAddress("192.0.2.1"); private static final InetAddress DNS1 = InetAddressUtils.parseNumericAddress("8.8.8.8"); @@ -76,24 +71,31 @@ public final class IpConfigurationTest { assertIpConfigurationEqual(ipConfig, new IpConfiguration()); assertIpConfigurationEqual(ipConfig, new IpConfiguration(ipConfig)); - ipConfig = createIpConfiguration(TYPE_IPASSIGNMENT_STATIC, - TYPE_PROXY_SETTINGS_PAC); + ipConfig.setStaticIpConfiguration(mStaticIpConfig); + ipConfig.setHttpProxy(mProxy); + + ipConfig.setIpAssignment(IpConfiguration.IpAssignment.STATIC); + ipConfig.setProxySettings(IpConfiguration.ProxySettings.PAC); assertIpConfigurationEqual(ipConfig, new IpConfiguration(ipConfig)); - ipConfig = createIpConfiguration(TYPE_IPASSIGNMENT_STATIC, - TYPE_PROXY_SETTINGS_STATIC); + ipConfig.setIpAssignment(IpConfiguration.IpAssignment.STATIC); + ipConfig.setProxySettings(IpConfiguration.ProxySettings.STATIC); assertIpConfigurationEqual(ipConfig, new IpConfiguration(ipConfig)); - ipConfig = createIpConfiguration(TYPE_IPASSIGNMENT_DHCP, - TYPE_PROXY_SETTINGS_PAC); + ipConfig.setIpAssignment(IpConfiguration.IpAssignment.DHCP); + ipConfig.setProxySettings(IpConfiguration.ProxySettings.PAC); assertIpConfigurationEqual(ipConfig, new IpConfiguration(ipConfig)); - ipConfig = createIpConfiguration(TYPE_IPASSIGNMENT_DHCP, - TYPE_PROXY_SETTINGS_STATIC); + ipConfig.setIpAssignment(IpConfiguration.IpAssignment.DHCP); + ipConfig.setProxySettings(IpConfiguration.ProxySettings.PAC); assertIpConfigurationEqual(ipConfig, new IpConfiguration(ipConfig)); - ipConfig = createIpConfiguration(TYPE_IPASSIGNMENT_DHCP, - TYPE_PROXY_SETTINGS_NONE); + ipConfig.setIpAssignment(IpConfiguration.IpAssignment.DHCP); + ipConfig.setProxySettings(IpConfiguration.ProxySettings.STATIC); + assertIpConfigurationEqual(ipConfig, new IpConfiguration(ipConfig)); + + ipConfig.setIpAssignment(IpConfiguration.IpAssignment.DHCP); + ipConfig.setProxySettings(IpConfiguration.ProxySettings.NONE); assertIpConfigurationEqual(ipConfig, new IpConfiguration(ipConfig)); } @@ -106,46 +108,16 @@ public final class IpConfigurationTest { assertNull(config.getHttpProxy()); } - private IpConfiguration createIpConfiguration(int ipAssignmentType, - int proxySettingType) { - - final IpConfiguration ipConfig = new IpConfiguration(); - - switch (ipAssignmentType) { - case TYPE_IPASSIGNMENT_STATIC: - ipConfig.setIpAssignment(IpConfiguration.IpAssignment.STATIC); - break; - case TYPE_IPASSIGNMENT_DHCP: - ipConfig.setIpAssignment(IpConfiguration.IpAssignment.DHCP); - break; - default: - throw new IllegalArgumentException("Unknown ip assignment type."); - } - - switch (proxySettingType) { - case TYPE_PROXY_SETTINGS_NONE: - ipConfig.setProxySettings(IpConfiguration.ProxySettings.NONE); - break; - case TYPE_PROXY_SETTINGS_STATIC: - ipConfig.setProxySettings(IpConfiguration.ProxySettings.STATIC); - break; - case TYPE_PROXY_SETTINGS_PAC: - ipConfig.setProxySettings(IpConfiguration.ProxySettings.PAC); - break; - default: - throw new IllegalArgumentException("Unknown proxy setting type."); - } - - ipConfig.setStaticIpConfiguration(mStaticIpConfig); - ipConfig.setHttpProxy(mProxy); - - return ipConfig; - } - private void assertIpConfigurationEqual(IpConfiguration source, IpConfiguration target) { assertEquals(source.getIpAssignment(), target.getIpAssignment()); assertEquals(source.getProxySettings(), target.getProxySettings()); assertEquals(source.getHttpProxy(), target.getHttpProxy()); assertEquals(source.getStaticIpConfiguration(), target.getStaticIpConfiguration()); } + + @Test + public void testParcel() { + final IpConfiguration config = new IpConfiguration(); + assertParcelSane(config, 4); + } }