Merge "Check multiple security types for Wi-Fi NetworkRequest" into tm-qpr-dev

This commit is contained in:
TreeHugger Robot
2022-12-09 05:26:26 +00:00
committed by Android (Google) Code Review
2 changed files with 97 additions and 26 deletions

View File

@@ -16,6 +16,9 @@
package com.android.settings.wifi;
import static com.android.wifitrackerlib.WifiEntry.SECURITY_PSK;
import static com.android.wifitrackerlib.WifiEntry.SECURITY_SAE;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
@@ -46,16 +49,20 @@ import com.android.wifitrackerlib.WifiEntry;
import com.android.wifitrackerlib.WifiPickerTracker;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InOrder;
import org.mockito.MockitoAnnotations;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnit;
import org.mockito.junit.MockitoRule;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@RunWith(RobolectricTestRunner.class)
@@ -63,15 +70,34 @@ import java.util.List;
public class NetworkRequestDialogFragmentTest {
private static final String KEY_SSID = "key_ssid";
private static final String KEY_SECURITY = "key_security";
private static final String TEST_CAPABILITIES_OPEN = "[ESS]";
private static final String TEST_CAPABILITIES_WPA2_PSK = "[WPA2-PSK-CCMP][ESS]";
private static final String TEST_CAPABILITIES_WPA3_SAE = "[RSN-PSK+SAE-CCMP][ESS]";
private static final String TEST_APP_NAME = "TestAppName";
@Rule
public final MockitoRule mMockitoRule = MockitoJUnit.rule();
@Mock
WifiPickerTracker mWifiPickerTracker;
@Mock
WifiEntry mWifiEntry;
private FragmentActivity mActivity;
private NetworkRequestDialogFragment networkRequestDialogFragment;
ScanResult mScanResult = new ScanResult();
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
when(mWifiEntry.getSsid()).thenReturn(KEY_SSID);
when(mWifiEntry.getSecurityTypes()).thenReturn(Arrays.asList(SECURITY_PSK, SECURITY_SAE));
when(mWifiEntry.getSecurity()).thenReturn(SECURITY_PSK);
when(mWifiPickerTracker.getConnectedWifiEntry()).thenReturn(null);
when(mWifiPickerTracker.getWifiEntries()).thenReturn(Arrays.asList(mWifiEntry));
mScanResult.SSID = KEY_SSID;
mScanResult.capabilities = TEST_CAPABILITIES_OPEN;
FakeFeatureFactory fakeFeatureFactory = FakeFeatureFactory.setupForTest();
when(fakeFeatureFactory.wifiTrackerLibProvider.createWifiPickerTracker(
any(), any(), any(), any(), any(), anyLong(), anyLong(), any()))
@@ -81,7 +107,7 @@ public class NetworkRequestDialogFragmentTest {
new Intent().putExtra(NetworkRequestDialogFragment.EXTRA_APP_NAME,
TEST_APP_NAME)).setup().get();
networkRequestDialogFragment = spy(NetworkRequestDialogFragment.newInstance());
networkRequestDialogFragment.mWifiPickerTracker = mock(WifiPickerTracker.class);
networkRequestDialogFragment.mWifiPickerTracker = mWifiPickerTracker;
}
@Test
@@ -147,12 +173,10 @@ public class NetworkRequestDialogFragmentTest {
@Test
public void onWifiStateChanged_nonEmptyMatchedScanResults_shouldUpdateWifiEntries() {
final InOrder inOrder = inOrder(networkRequestDialogFragment);
mScanResult.capabilities = TEST_CAPABILITIES_OPEN;
networkRequestDialogFragment.onMatch(Arrays.asList(mScanResult));
final List<ScanResult> scanResults = new ArrayList<>();
networkRequestDialogFragment.mMatchedScanResults = scanResults;
ScanResult scanResult = mock(ScanResult.class);
networkRequestDialogFragment.mMatchedScanResults.add(scanResult);
networkRequestDialogFragment.onMatch(scanResults);
networkRequestDialogFragment.onWifiStateChanged();
inOrder.verify(networkRequestDialogFragment).updateWifiEntries();
inOrder.verify(networkRequestDialogFragment).updateUi();
@@ -161,12 +185,10 @@ public class NetworkRequestDialogFragmentTest {
@Test
public void onWifiEntriesChanged_nonEmptyMatchedScanResults_shouldUpdateWifiEntries() {
final InOrder inOrder = inOrder(networkRequestDialogFragment);
mScanResult.capabilities = TEST_CAPABILITIES_OPEN;
networkRequestDialogFragment.onMatch(Arrays.asList(mScanResult));
final List<ScanResult> scanResults = new ArrayList<>();
networkRequestDialogFragment.mMatchedScanResults = scanResults;
ScanResult scanResult = mock(ScanResult.class);
networkRequestDialogFragment.mMatchedScanResults.add(scanResult);
networkRequestDialogFragment.onMatch(scanResults);
networkRequestDialogFragment.onWifiEntriesChanged();
inOrder.verify(networkRequestDialogFragment).updateWifiEntries();
inOrder.verify(networkRequestDialogFragment).updateUi();
@@ -280,4 +302,34 @@ public class NetworkRequestDialogFragmentTest {
// Check
verify(selectionCallback, times(1)).reject();
}
@Test
public void updateWifiEntries_noMatchSecurityWifi_filteredWifiIsEmpty() {
mScanResult.capabilities = TEST_CAPABILITIES_OPEN;
networkRequestDialogFragment.onMatch(Arrays.asList(mScanResult));
networkRequestDialogFragment.updateWifiEntries();
assertThat(networkRequestDialogFragment.mFilteredWifiEntries.size()).isEqualTo(0);
}
@Test
public void updateWifiEntries_matchWpa2Wifi_filteredWifiNotEmpty() {
mScanResult.capabilities = TEST_CAPABILITIES_WPA2_PSK;
networkRequestDialogFragment.onMatch(Arrays.asList(mScanResult));
networkRequestDialogFragment.updateWifiEntries();
assertThat(networkRequestDialogFragment.mFilteredWifiEntries.size()).isNotEqualTo(0);
}
@Test
public void updateWifiEntries_matchWpa3Wifi_filteredWifiNotEmpty() {
mScanResult.capabilities = TEST_CAPABILITIES_WPA3_SAE;
networkRequestDialogFragment.onMatch(Arrays.asList(mScanResult));
networkRequestDialogFragment.updateWifiEntries();
assertThat(networkRequestDialogFragment.mFilteredWifiEntries.size()).isNotEqualTo(0);
}
}