diff options
author | Nate Jiang <qiangjiang@google.com> | 2020-11-10 13:00:07 -0800 |
---|---|---|
committer | Nate Jiang <qiangjiang@google.com> | 2020-11-12 14:47:30 -0800 |
commit | 6df0e8bf6c1f0379a3f90e9560f64dcb831a26cd (patch) | |
tree | 7ee314fb499d29659890f18085d636f11d9b5fae /wifi/tests | |
parent | 5d1ebbbb31fb5e89bcc432f9b359a5f7b9653856 (diff) |
[Suggestion] API to set carrier merged network
Create a new API to set carrier merged network suggestion
Bug: 172867186
Test: atest android.net.wifi
Change-Id: I5ddbc8b15e361e44c508e40dac10211cbd39ab10
Diffstat (limited to 'wifi/tests')
3 files changed, 95 insertions, 0 deletions
diff --git a/wifi/tests/src/android/net/wifi/WifiConfigurationTest.java b/wifi/tests/src/android/net/wifi/WifiConfigurationTest.java index c88132493e67..c25374695463 100644 --- a/wifi/tests/src/android/net/wifi/WifiConfigurationTest.java +++ b/wifi/tests/src/android/net/wifi/WifiConfigurationTest.java @@ -75,6 +75,7 @@ public class WifiConfigurationTest { config.trusted = false; config.oemPaid = true; config.oemPrivate = true; + config.carrierMerged = true; config.updateIdentifier = "1234"; config.fromWifiNetworkSpecifier = true; config.fromWifiNetworkSuggestion = true; @@ -101,6 +102,7 @@ public class WifiConfigurationTest { assertTrue(reconfig.fromWifiNetworkSuggestion); assertTrue(reconfig.oemPaid); assertTrue(reconfig.oemPrivate); + assertTrue(reconfig.carrierMerged); Parcel parcelWW = Parcel.obtain(); reconfig.writeToParcel(parcelWW, 0); @@ -116,6 +118,7 @@ public class WifiConfigurationTest { config.trusted = false; config.oemPaid = true; config.oemPrivate = true; + config.carrierMerged = true; config.updateIdentifier = "1234"; config.fromWifiNetworkSpecifier = true; config.fromWifiNetworkSuggestion = true; @@ -134,6 +137,7 @@ public class WifiConfigurationTest { assertTrue(reconfig.fromWifiNetworkSuggestion); assertTrue(reconfig.oemPaid); assertTrue(reconfig.oemPrivate); + assertTrue(reconfig.carrierMerged); } @Test diff --git a/wifi/tests/src/android/net/wifi/WifiInfoTest.java b/wifi/tests/src/android/net/wifi/WifiInfoTest.java index c6faf66140e2..d3d5bfdc3d4a 100644 --- a/wifi/tests/src/android/net/wifi/WifiInfoTest.java +++ b/wifi/tests/src/android/net/wifi/WifiInfoTest.java @@ -64,6 +64,7 @@ public class WifiInfoTest { writeWifiInfo.setTrusted(true); writeWifiInfo.setOemPaid(true); writeWifiInfo.setOemPrivate(true); + writeWifiInfo.setCarrierMerged(true); writeWifiInfo.setOsuAp(true); writeWifiInfo.setFQDN(TEST_FQDN); writeWifiInfo.setProviderFriendlyName(TEST_PROVIDER_NAME); @@ -86,6 +87,7 @@ public class WifiInfoTest { assertTrue(readWifiInfo.isTrusted()); assertTrue(readWifiInfo.isOemPaid()); assertTrue(readWifiInfo.isOemPrivate()); + assertTrue(readWifiInfo.isCarrierMerged()); assertTrue(readWifiInfo.isOsuAp()); assertTrue(readWifiInfo.isPasspointAp()); assertEquals(TEST_PACKAGE_NAME, readWifiInfo.getRequestingPackageName()); @@ -108,6 +110,7 @@ public class WifiInfoTest { writeWifiInfo.setTrusted(true); writeWifiInfo.setOemPaid(true); writeWifiInfo.setOemPrivate(true); + writeWifiInfo.setCarrierMerged(true); writeWifiInfo.setOsuAp(true); writeWifiInfo.setFQDN(TEST_FQDN); writeWifiInfo.setProviderFriendlyName(TEST_PROVIDER_NAME); @@ -125,6 +128,7 @@ public class WifiInfoTest { assertTrue(readWifiInfo.isTrusted()); assertTrue(readWifiInfo.isOemPaid()); assertTrue(readWifiInfo.isOemPrivate()); + assertTrue(readWifiInfo.isCarrierMerged()); assertTrue(readWifiInfo.isOsuAp()); assertTrue(readWifiInfo.isPasspointAp()); assertEquals(TEST_PACKAGE_NAME, readWifiInfo.getRequestingPackageName()); @@ -154,6 +158,7 @@ public class WifiInfoTest { assertEquals(-1, wifiInfo.getNetworkId()); assertFalse(wifiInfo.isOemPaid()); assertFalse(wifiInfo.isOemPrivate()); + assertFalse(wifiInfo.isCarrierMerged()); } /** diff --git a/wifi/tests/src/android/net/wifi/WifiNetworkSuggestionTest.java b/wifi/tests/src/android/net/wifi/WifiNetworkSuggestionTest.java index 870ff0a26d58..643a78c38f91 100644 --- a/wifi/tests/src/android/net/wifi/WifiNetworkSuggestionTest.java +++ b/wifi/tests/src/android/net/wifi/WifiNetworkSuggestionTest.java @@ -1414,4 +1414,90 @@ public class WifiNetworkSuggestionTest { .setIsInitialAutojoinEnabled(false) .build(); } + + /** + * Validate {@link WifiNetworkSuggestion.Builder#setCarrierMerged(boolean)} (boolean)} set the + * correct value to the WifiConfiguration. + */ + @Test + public void testSetCarrierMergedNetwork() { + assumeTrue(SdkLevel.isAtLeastS()); + + WifiEnterpriseConfig enterpriseConfig = new WifiEnterpriseConfig(); + enterpriseConfig.setEapMethod(WifiEnterpriseConfig.Eap.TLS); + enterpriseConfig.setCaCertificate(FakeKeys.CA_CERT0); + enterpriseConfig.setDomainSuffixMatch(TEST_DOMAIN_SUFFIX_MATCH); + WifiNetworkSuggestion suggestion = new WifiNetworkSuggestion.Builder() + .setSsid(TEST_SSID) + .setSubscriptionId(1) + .setWpa2EnterpriseConfig(enterpriseConfig) + .setCarrierMerged(true) + .setIsMetered(true) + .build(); + assertTrue(suggestion.isCarrierMerged()); + assertTrue(suggestion.wifiConfiguration.carrierMerged); + } + + /** + * Ensure {@link WifiNetworkSuggestion.Builder#build()} throws an exception + * when set both {@link WifiNetworkSuggestion.Builder#setCarrierMerged(boolean)} (boolean)} + * to true on a network is not metered. + */ + @Test(expected = IllegalStateException.class) + public void testSetCarrierMergedNetworkOnUnmeteredNetworkFail() { + assumeTrue(SdkLevel.isAtLeastS()); + + WifiEnterpriseConfig enterpriseConfig = new WifiEnterpriseConfig(); + enterpriseConfig.setEapMethod(WifiEnterpriseConfig.Eap.TLS); + enterpriseConfig.setCaCertificate(FakeKeys.CA_CERT0); + enterpriseConfig.setDomainSuffixMatch(TEST_DOMAIN_SUFFIX_MATCH); + new WifiNetworkSuggestion.Builder() + .setSsid(TEST_SSID) + .setSubscriptionId(1) + .setWpa2EnterpriseConfig(enterpriseConfig) + .setCarrierMerged(true) + .build(); + } + + /** + * Ensure {@link WifiNetworkSuggestion.Builder#build()} throws an exception + * when set both {@link WifiNetworkSuggestion.Builder#setCarrierMerged(boolean)} (boolean)} + * to true on a network which {@link WifiNetworkSuggestion.Builder#setSubscriptionId(int)} + * is not set with a valid sub id. + */ + @Test(expected = IllegalStateException.class) + public void testSetCarrierMergedNetworkWithoutValidSubscriptionIdFail() { + assumeTrue(SdkLevel.isAtLeastS()); + + WifiEnterpriseConfig enterpriseConfig = new WifiEnterpriseConfig(); + enterpriseConfig.setEapMethod(WifiEnterpriseConfig.Eap.TLS); + enterpriseConfig.setCaCertificate(FakeKeys.CA_CERT0); + enterpriseConfig.setDomainSuffixMatch(TEST_DOMAIN_SUFFIX_MATCH); + WifiNetworkSuggestion suggestion = new WifiNetworkSuggestion.Builder() + .setSsid(TEST_SSID) + .setWpa2EnterpriseConfig(enterpriseConfig) + .setCarrierMerged(true) + .setIsMetered(true) + .build(); + assertTrue(suggestion.isCarrierMerged()); + } + + /** + * Ensure {@link WifiNetworkSuggestion.Builder#build()} throws an exception + * when set both {@link WifiNetworkSuggestion.Builder#setCarrierMerged(boolean)} (boolean)} + * to true on a non enterprise network. + */ + @Test(expected = IllegalStateException.class) + public void testSetCarrierMergedNetworkWithNonEnterpriseNetworkFail() { + assumeTrue(SdkLevel.isAtLeastS()); + + WifiNetworkSuggestion suggestion = new WifiNetworkSuggestion.Builder() + .setSsid(TEST_SSID) + .setSubscriptionId(1) + .setWpa2Passphrase(TEST_PRESHARED_KEY) + .setCarrierMerged(true) + .setIsMetered(true) + .build(); + assertTrue(suggestion.isCarrierMerged()); + } } |