summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorRebecca Silberstein <silberst@google.com>2018-03-27 00:40:55 -0700
committerRebecca Silberstein <silberst@google.com>2018-03-30 10:13:11 -0700
commite2b352adfaebef237ae07fbec89e0ef554d81db2 (patch)
treea5c188fe74a538b872487f5432758caa424cb698 /tests
parentc4002658545b95d0f7f1686e925072518416a78e (diff)
WifiServiceImpl: allow setWifiApConfiguration to return false
The api for setWifiApConfiguration allows for config saves to return false, but the implementation is void. This CL allows the API to actually return a boolean indicating success/failure and adds an ap specific validation check. This CL also adds unittests. Bug: 67601382 Test: frameworks/base/wifi/tests/runtests.sh Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh Test: manually update ap config in settings and verify save Test: wifi integration tests Change-Id: If09fffc66415d9d3d3f4f386aaff98b0a103d2f4
Diffstat (limited to 'tests')
-rw-r--r--tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java51
1 files changed, 27 insertions, 24 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java b/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java
index 72e463100..47b92d4ee 100644
--- a/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java
@@ -63,10 +63,10 @@ import android.content.IntentFilter;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.res.Resources;
-import android.net.IpConfiguration;
import android.net.wifi.ISoftApCallback;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiConfiguration;
+import android.net.wifi.WifiConfiguration.KeyMgmt;
import android.net.wifi.WifiEnterpriseConfig;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
@@ -351,24 +351,6 @@ public class WifiServiceImplTest {
}
/**
- * Tests the isValid() check for StaticIpConfigurations, ensuring that configurations with null
- * ipAddress are rejected, and configurations with ipAddresses are valid.
- */
- @Test
- public void testStaticIpConfigurationValidityCheck() {
- WifiConfiguration conf = WifiConfigurationTestUtil.createOpenNetwork();
- IpConfiguration ipConf =
- WifiConfigurationTestUtil.createStaticIpConfigurationWithStaticProxy();
- conf.setIpConfiguration(ipConf);
- // Ensure staticIpConfiguration with IP Address is valid
- assertTrue(mWifiServiceImpl.isValid(conf));
- ipConf.staticIpConfiguration.ipAddress = null;
- // Ensure staticIpConfiguration with null IP Address it is not valid
- conf.setIpConfiguration(ipConf);
- assertFalse(mWifiServiceImpl.isValid(conf));
- }
-
- /**
* Ensure WifiMetrics.dump() is the only dump called when 'dumpsys wifi WifiMetricsProto' is
* called. This is required to support simple metrics collection via dumpsys
*/
@@ -382,7 +364,6 @@ public class WifiServiceImplTest {
.dump(any(FileDescriptor.class), any(PrintWriter.class), any(String[].class));
}
-
/**
* Ensure WifiServiceImpl.dump() doesn't throw an NPE when executed with null args
*/
@@ -806,8 +787,9 @@ public class WifiServiceImplTest {
@Test
public void testSetWifiApConfigurationSuccess() {
when(mWifiPermissionsUtil.checkConfigOverridePermission(anyInt())).thenReturn(true);
- WifiConfiguration apConfig = new WifiConfiguration();
- mWifiServiceImpl.setWifiApConfiguration(apConfig, TEST_PACKAGE_NAME);
+ WifiConfiguration apConfig = createValidSoftApConfiguration();
+
+ assertTrue(mWifiServiceImpl.setWifiApConfiguration(apConfig, TEST_PACKAGE_NAME));
mLooper.dispatchAll();
verifyCheckChangePermission(TEST_PACKAGE_NAME);
verify(mWifiApConfigStore).setApConfiguration(eq(apConfig));
@@ -819,11 +801,22 @@ public class WifiServiceImplTest {
@Test
public void testSetWifiApConfigurationNullConfigNotSaved() {
when(mWifiPermissionsUtil.checkConfigOverridePermission(anyInt())).thenReturn(true);
- mWifiServiceImpl.setWifiApConfiguration(null, TEST_PACKAGE_NAME);
+ assertFalse(mWifiServiceImpl.setWifiApConfiguration(null, TEST_PACKAGE_NAME));
verify(mWifiApConfigStore, never()).setApConfiguration(isNull(WifiConfiguration.class));
}
/**
+ * Ensure that an invalid config does not overwrite the saved ap config.
+ */
+ @Test
+ public void testSetWifiApConfigurationWithInvalidConfigNotSaved() {
+ when(mWifiPermissionsUtil.checkConfigOverridePermission(anyInt())).thenReturn(true);
+ assertFalse(mWifiServiceImpl.setWifiApConfiguration(new WifiConfiguration(),
+ TEST_PACKAGE_NAME));
+ verify(mWifiApConfigStore, never()).setApConfiguration(any());
+ }
+
+ /**
* Ensure unpermitted callers are not able to retrieve the softap config.
*
* @throws SecurityException
@@ -974,7 +967,7 @@ public class WifiServiceImplTest {
*/
@Test
public void testStartSoftApWithPermissionsAndValidConfig() {
- WifiConfiguration config = new WifiConfiguration();
+ WifiConfiguration config = createValidSoftApConfiguration();
boolean result = mWifiServiceImpl.startSoftAp(config);
assertTrue(result);
verify(mWifiController)
@@ -2557,4 +2550,14 @@ public class WifiServiceImplTest {
verify(mAppOpsManager, atLeastOnce()).noteOp(
AppOpsManager.OPSTR_CHANGE_WIFI_STATE, Process.myUid(), callingPackageName);
}
+
+ private WifiConfiguration createValidSoftApConfiguration() {
+ WifiConfiguration apConfig = new WifiConfiguration();
+ apConfig.SSID = "TestAp";
+ apConfig.preSharedKey = "thisIsABadPassword";
+ apConfig.allowedKeyManagement.set(KeyMgmt.WPA2_PSK);
+ apConfig.apBand = WifiConfiguration.AP_BAND_2GHZ;
+
+ return apConfig;
+ }
}