summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorRebecca Silberstein <silberst@google.com>2018-01-19 02:12:22 -0800
committerRebecca Silberstein <silberst@google.com>2018-02-15 16:38:40 -0800
commite43399aaee292975f7db40947deeaa4d9fea5c59 (patch)
treedb5b5a7e3a63fb2c895a0ae136121750def9b8e8 /tests
parentbb9e01500bdc5268d0f903eab01093e2189581d9 (diff)
WifiServiceImpl: directly call WifiApConfigStore
Directly call WifiApConfigStore (on the WSM thread) when get/setWifiApConfiguration is called. We do not require that this be plumbed through SoftApManager since ap config retrieval is decoupled from softap startup. Tethering is explicitly stopped and restarted when the config is changed in Settings. This additionally addresses a race with setting/getting the ap config. Bug: 71784834 Bug: 72070781 Test: manually verified configs viewed and modified in settings Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh Test: wifi integration tests Change-Id: I176803f962aa671574e9c110b83594a39a578716
Diffstat (limited to 'tests')
-rw-r--r--tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java36
-rw-r--r--tests/wifitests/src/com/android/server/wifi/WifiStateMachineTest.java4
2 files changed, 26 insertions, 14 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java b/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java
index bad1dab90..db76fcb1e 100644
--- a/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java
@@ -182,6 +182,7 @@ public class WifiServiceImplTest {
@Mock ContentResolver mContentResolver;
@Mock PackageManager mPackageManager;
@Mock UserManager mUserManager;
+ @Mock WifiApConfigStore mWifiApConfigStore;
@Mock WifiConfiguration mApConfig;
@Mock ActivityManager mActivityManager;
@Mock AppOpsManager mAppOpsManager;
@@ -279,6 +280,7 @@ public class WifiServiceImplTest {
when(mContext.getResources()).thenReturn(mResources);
when(mContext.getContentResolver()).thenReturn(mContentResolver);
when(mContext.getPackageManager()).thenReturn(mPackageManager);
+ when(mWifiInjector.getWifiApConfigStore()).thenReturn(mWifiApConfigStore);
doNothing().when(mFrameworkFacade).registerContentObserver(eq(mContext), any(),
anyBoolean(), any());
when(mContext.getSystemService(Context.ACTIVITY_SERVICE)).thenReturn(mActivityManager);
@@ -799,12 +801,14 @@ public class WifiServiceImplTest {
*
* @throws SecurityException
*/
- @Test(expected = SecurityException.class)
+ @Test
public void testSetWifiApConfigurationNotSavedWithoutPermission() {
when(mWifiPermissionsUtil.checkConfigOverridePermission(anyInt())).thenReturn(false);
WifiConfiguration apConfig = new WifiConfiguration();
- mWifiServiceImpl.setWifiApConfiguration(apConfig, TEST_PACKAGE_NAME);
- verify(mWifiStateMachine, never()).setWifiApConfiguration(eq(apConfig));
+ try {
+ mWifiServiceImpl.setWifiApConfiguration(apConfig, TEST_PACKAGE_NAME);
+ fail("Expected SecurityException");
+ } catch (SecurityException e) { }
}
/**
@@ -815,8 +819,9 @@ public class WifiServiceImplTest {
when(mWifiPermissionsUtil.checkConfigOverridePermission(anyInt())).thenReturn(true);
WifiConfiguration apConfig = new WifiConfiguration();
mWifiServiceImpl.setWifiApConfiguration(apConfig, TEST_PACKAGE_NAME);
+ mLooper.dispatchAll();
verifyCheckChangePermission(TEST_PACKAGE_NAME);
- verify(mWifiStateMachine).setWifiApConfiguration(eq(apConfig));
+ verify(mWifiApConfigStore).setApConfiguration(eq(apConfig));
}
/**
@@ -826,7 +831,7 @@ public class WifiServiceImplTest {
public void testSetWifiApConfigurationNullConfigNotSaved() {
when(mWifiPermissionsUtil.checkConfigOverridePermission(anyInt())).thenReturn(true);
mWifiServiceImpl.setWifiApConfiguration(null, TEST_PACKAGE_NAME);
- verify(mWifiStateMachine, never()).setWifiApConfiguration(isNull(WifiConfiguration.class));
+ verify(mWifiApConfigStore, never()).setApConfiguration(isNull(WifiConfiguration.class));
}
/**
@@ -834,11 +839,14 @@ public class WifiServiceImplTest {
*
* @throws SecurityException
*/
- @Test(expected = SecurityException.class)
+ @Test
public void testGetWifiApConfigurationNotReturnedWithoutPermission() {
when(mWifiPermissionsUtil.checkConfigOverridePermission(anyInt())).thenReturn(false);
- mWifiServiceImpl.getWifiApConfiguration();
- verify(mWifiStateMachine, never()).syncGetWifiApConfiguration();
+ try {
+ mWifiServiceImpl.getWifiApConfiguration();
+ fail("Expected a SecurityException");
+ } catch (SecurityException e) {
+ }
}
/**
@@ -846,9 +854,17 @@ public class WifiServiceImplTest {
*/
@Test
public void testGetWifiApConfigurationSuccess() {
+ setupWifiStateMachineHandlerForRunWithScissors();
+
+ mWifiServiceImpl = new WifiServiceImpl(mContext, mWifiInjector, mAsyncChannel);
+ mWifiServiceImpl.setWifiHandlerLogForTest(mLog);
+
+ when(mFrameworkFacade.inStorageManagerCryptKeeperBounce()).thenReturn(false);
+ when(mSettingsStore.isWifiToggleEnabled()).thenReturn(false);
+
when(mWifiPermissionsUtil.checkConfigOverridePermission(anyInt())).thenReturn(true);
WifiConfiguration apConfig = new WifiConfiguration();
- when(mWifiStateMachine.syncGetWifiApConfiguration()).thenReturn(apConfig);
+ when(mWifiApConfigStore.getApConfiguration()).thenReturn(apConfig);
assertEquals(apConfig, mWifiServiceImpl.getWifiApConfiguration());
}
@@ -1190,7 +1206,7 @@ public class WifiServiceImplTest {
* Ensure that we handle scan results failure when posting the runnable to handler fails.
*/
// @Test
- public void testGetScanResultsFailureInRunWithScisccors() {
+ public void testGetScanResultsFailureInRunWithScissors() {
setupWifiStateMachineHandlerForRunWithScissors();
doReturn(false).when(mHandlerSpyForWsmRunWithScissors)
.runWithScissors(any(), anyLong());
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiStateMachineTest.java b/tests/wifitests/src/com/android/server/wifi/WifiStateMachineTest.java
index 57cf02034..50555975d 100644
--- a/tests/wifitests/src/com/android/server/wifi/WifiStateMachineTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/WifiStateMachineTest.java
@@ -328,7 +328,6 @@ public class WifiStateMachineTest {
@Mock SupplicantStateTracker mSupplicantStateTracker;
@Mock WifiMetrics mWifiMetrics;
@Mock UserManager mUserManager;
- @Mock WifiApConfigStore mApConfigStore;
@Mock BackupManagerProxy mBackupManagerProxy;
@Mock WifiCountryCode mCountryCode;
@Mock WifiInjector mWifiInjector;
@@ -419,9 +418,6 @@ public class WifiStateMachineTest {
WifiManager.WIFI_FREQUENCY_BAND_AUTO)).thenReturn(
WifiManager.WIFI_FREQUENCY_BAND_AUTO);
- when(mFrameworkFacade.makeApConfigStore(eq(mContext), eq(mBackupManagerProxy)))
- .thenReturn(mApConfigStore);
-
when(mFrameworkFacade.makeSupplicantStateTracker(
any(Context.class), any(WifiConfigManager.class),
any(Handler.class))).thenReturn(mSupplicantStateTracker);