diff options
author | Kai Shi <kaishi@google.com> | 2020-05-04 15:56:23 -0700 |
---|---|---|
committer | Kai Shi <kaishi@google.com> | 2020-05-06 18:22:59 -0700 |
commit | 28036b9b6c6bbe6abfe6622ecb6dbb5fcf548cf6 (patch) | |
tree | 4e768b6cc54b30895a5ca311c811c9ea914f8809 /tests | |
parent | 4d68b0507ef4bede9fd8af1a93f0637e78b5fe6c (diff) |
Add start/stop-softap shell command
Add start-softap and stop-softap wifi shell commands to help automate
wifi hotspot tests. Note that this doesn't go through tetheringManager.
In some devices, internet sharing might be possible if wifi STA is also
enabled and is associated to another AP with internet access.
Bug: 155682782
Test: atest com.android.server.wifi.WifiShellCommandTest
Test: manual test with "adb shell cmd wifi start/stop-softap" in open/wpa2
modes with different band options. In all tested modes, another device can
associate to the DUT's hotspot. If DUT's STA is also enabled and associated
to another internet-bounding AP, internet should be also avaiable to the
device associated to DUT's hotspot.
Change-Id: I9ad561b0e10171ff9ccb395e1538472ac637e17a
Diffstat (limited to 'tests')
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/WifiShellCommandTest.java | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiShellCommandTest.java b/tests/wifitests/src/com/android/server/wifi/WifiShellCommandTest.java index a1897ded9..1f4af5cc0 100644 --- a/tests/wifitests/src/com/android/server/wifi/WifiShellCommandTest.java +++ b/tests/wifitests/src/com/android/server/wifi/WifiShellCommandTest.java @@ -16,6 +16,7 @@ package com.android.server.wifi; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.mockito.ArgumentMatchers.anyBoolean; import static org.mockito.ArgumentMatchers.anyInt; @@ -29,6 +30,7 @@ import static org.mockito.Mockito.when; import android.content.Context; import android.net.ConnectivityManager; +import android.net.wifi.SoftApConfiguration; import android.os.Binder; import android.os.Process; @@ -37,6 +39,7 @@ import androidx.test.filters.SmallTest; import org.junit.After; import org.junit.Before; import org.junit.Test; +import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.MockitoAnnotations; @@ -396,4 +399,28 @@ public class WifiShellCommandTest extends WifiBaseTest { verify(mClientModeImpl, times(2)).hasNetworkRequestUserApprovedApp(TEST_PACKAGE); mWifiShellCommand.getOutPrintWriter().toString().contains("no"); } + + @Test + public void testStartSoftAp() { + mWifiShellCommand.exec( + new Binder(), new FileDescriptor(), new FileDescriptor(), new FileDescriptor(), + new String[]{"start-softap", "ap1", "wpa2", "xyzabc321", "-b", "5"}); + ArgumentCaptor<SoftApConfiguration> softApConfigurationCaptor = ArgumentCaptor.forClass( + SoftApConfiguration.class); + verify(mWifiService).startTetheredHotspot(softApConfigurationCaptor.capture()); + assertEquals(SoftApConfiguration.BAND_5GHZ, + softApConfigurationCaptor.getValue().getBand()); + assertEquals(SoftApConfiguration.SECURITY_TYPE_WPA2_PSK, + softApConfigurationCaptor.getValue().getSecurityType()); + assertEquals("\"ap1\"", softApConfigurationCaptor.getValue().getSsid()); + assertEquals("xyzabc321", softApConfigurationCaptor.getValue().getPassphrase()); + } + + @Test + public void testStopSoftAp() { + mWifiShellCommand.exec( + new Binder(), new FileDescriptor(), new FileDescriptor(), new FileDescriptor(), + new String[]{"stop-softap"}); + verify(mWifiService).stopSoftAp(); + } } |