diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java | 68 |
1 files changed, 67 insertions, 1 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java b/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java index ed0e9c486..be597b9f4 100644 --- a/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java +++ b/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java @@ -467,7 +467,7 @@ public class WifiServiceImplTest { * setWifiApEnabled should fail if the provided config is not valid. */ @Test - public void testSetWIfiApEnabledWithProperPermissionInvalidConfigFails() { + public void testSetWifiApEnabledWithProperPermissionInvalidConfigFails() { when(mWifiPermissionsUtil.checkConfigOverridePermission(anyInt())).thenReturn(true); when(mUserManager.hasUserRestriction(eq(UserManager.DISALLOW_CONFIG_TETHERING))) .thenReturn(false); @@ -501,5 +501,71 @@ public class WifiServiceImplTest { when(mUserManager.hasUserRestriction(eq(UserManager.DISALLOW_CONFIG_TETHERING))) .thenReturn(true); mWifiServiceImpl.setWifiApEnabled(null, true); + + } + + /** + * Verify caller with proper permission can call startSoftAp. + */ + @Test + public void testStartSoftApWithPermissionsAndNullConfig() { + boolean result = mWifiServiceImpl.startSoftAp(null); + assertTrue(result); + verify(mWifiController).sendMessage(eq(CMD_SET_AP), eq(1), eq(0), eq(null)); + } + + /** + * Verify caller with proper permissions but an invalid config does not start softap. + */ + @Test + public void testStartSoftApWithPermissionsAndInvalidConfig() { + boolean result = mWifiServiceImpl.startSoftAp(mApConfig); + assertFalse(result); + verifyZeroInteractions(mWifiController); + } + + /** + * Verify caller with proper permission and valid config does start softap. + */ + @Test + public void testStartSoftApWithPermissionsAndValidConfig() { + WifiConfiguration config = new WifiConfiguration(); + boolean result = mWifiServiceImpl.startSoftAp(config); + assertTrue(result); + verify(mWifiController).sendMessage(eq(CMD_SET_AP), eq(1), eq(0), eq(config)); + } + + /** + * Verify a SecurityException is thrown when a caller without the correct permission attempts to + * start softap. + */ + @Test(expected = SecurityException.class) + public void testStartSoftApWithoutPermissionThrowsException() throws Exception { + doThrow(new SecurityException()).when(mContext) + .enforceCallingOrSelfPermission(eq(android.Manifest.permission.NETWORK_STACK), + eq("WifiService")); + mWifiServiceImpl.startSoftAp(null); + } + + /** + * Verify caller with proper permission can call stopSoftAp. + */ + @Test + public void testStopSoftApWithPermissions() { + boolean result = mWifiServiceImpl.stopSoftAp(); + assertTrue(result); + verify(mWifiController).sendMessage(eq(CMD_SET_AP), eq(0), eq(0)); + } + + /** + * Verify SecurityException is thrown when a caller without the correct permission attempts to + * stop softap. + */ + @Test(expected = SecurityException.class) + public void testStopSoftApWithoutPermissionThrowsException() throws Exception { + doThrow(new SecurityException()).when(mContext) + .enforceCallingOrSelfPermission(eq(android.Manifest.permission.NETWORK_STACK), + eq("WifiService")); + mWifiServiceImpl.stopSoftAp(); } } |