[Wi-Fi] Fix ignored tests in WifiDetailPreferenceController2Test - I
Some tests are removed because WifiTracerLib listens to most intents and callbacks to Settings APP, most of the receiving intent tests are removed. Bug: 151696220 Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiDetailPreferenceController2Test Change-Id: Id88a5c9276457e329840e72711bd06e51a03dd1f
This commit is contained in:
@@ -456,7 +456,8 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateNetworkInfo() {
|
@VisibleForTesting
|
||||||
|
void updateNetworkInfo() {
|
||||||
if (mWifiEntry.getConnectedState() == WifiEntry.CONNECTED_STATE_CONNECTED) {
|
if (mWifiEntry.getConnectedState() == WifiEntry.CONNECTED_STATE_CONNECTED) {
|
||||||
mNetwork = mWifiManager.getCurrentNetwork();
|
mNetwork = mWifiManager.getCurrentNetwork();
|
||||||
mLinkProperties = mConnectivityManager.getLinkProperties(mNetwork);
|
mLinkProperties = mConnectivityManager.getLinkProperties(mNetwork);
|
||||||
@@ -632,7 +633,7 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void refreshMacAddress() {
|
private void refreshMacAddress() {
|
||||||
String macAddress = getMacAddress();
|
String macAddress = mWifiEntry.getMacAddress();
|
||||||
if (macAddress == null) {
|
if (macAddress == null) {
|
||||||
mMacAddressPref.setVisible(false);
|
mMacAddressPref.setVisible(false);
|
||||||
return;
|
return;
|
||||||
@@ -649,21 +650,6 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
|
|||||||
refreshMacTitle();
|
refreshMacTitle();
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getMacAddress() {
|
|
||||||
if (mWifiEntry.isSaved() && mWifiEntry.getPrivacy() == WifiEntry.PRIVACY_RANDOMIZED_MAC) {
|
|
||||||
return mWifiEntry.getMacAddress();
|
|
||||||
}
|
|
||||||
|
|
||||||
// return device MAC address
|
|
||||||
final String[] macAddresses = mWifiManager.getFactoryMacAddresses();
|
|
||||||
if (macAddresses != null && macAddresses.length > 0) {
|
|
||||||
return macAddresses[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
Log.e(TAG, "Can't get device MAC address!");
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void updatePreference(Preference pref, String detailText) {
|
private void updatePreference(Preference pref, String detailText) {
|
||||||
if (!TextUtils.isEmpty(detailText)) {
|
if (!TextUtils.isEmpty(detailText)) {
|
||||||
pref.setSummary(detailText);
|
pref.setSummary(detailText);
|
||||||
@@ -969,6 +955,7 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void onUpdated() {
|
public void onUpdated() {
|
||||||
|
updateNetworkInfo();
|
||||||
refreshPage();
|
refreshPage();
|
||||||
|
|
||||||
// Refresh the Preferences in fragment.
|
// Refresh the Preferences in fragment.
|
||||||
|
@@ -46,7 +46,6 @@ import android.net.ConnectivityManager.NetworkCallback;
|
|||||||
import android.net.IpPrefix;
|
import android.net.IpPrefix;
|
||||||
import android.net.LinkAddress;
|
import android.net.LinkAddress;
|
||||||
import android.net.LinkProperties;
|
import android.net.LinkProperties;
|
||||||
import android.net.MacAddress;
|
|
||||||
import android.net.Network;
|
import android.net.Network;
|
||||||
import android.net.NetworkCapabilities;
|
import android.net.NetworkCapabilities;
|
||||||
import android.net.NetworkInfo;
|
import android.net.NetworkInfo;
|
||||||
@@ -81,9 +80,9 @@ import com.android.settingslib.widget.ActionButtonsPreference;
|
|||||||
import com.android.settingslib.widget.LayoutPreference;
|
import com.android.settingslib.widget.LayoutPreference;
|
||||||
import com.android.wifitrackerlib.NetworkDetailsTracker;
|
import com.android.wifitrackerlib.NetworkDetailsTracker;
|
||||||
import com.android.wifitrackerlib.WifiEntry;
|
import com.android.wifitrackerlib.WifiEntry;
|
||||||
|
import com.android.wifitrackerlib.WifiEntry.ConnectCallback;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Ignore;
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.mockito.Answers;
|
import org.mockito.Answers;
|
||||||
@@ -109,8 +108,6 @@ import java.util.Arrays;
|
|||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
// TODO(b/143326832): Should add test cases for connect button.
|
// TODO(b/143326832): Should add test cases for connect button.
|
||||||
// TODO(b/143326832): WifiEntry is not mature, should remove @Ignore after it's constructed.
|
|
||||||
@Ignore
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
@Config(shadows = {ShadowDevicePolicyManager.class, ShadowEntityHeaderController.class})
|
@Config(shadows = {ShadowDevicePolicyManager.class, ShadowEntityHeaderController.class})
|
||||||
public class WifiDetailPreferenceController2Test {
|
public class WifiDetailPreferenceController2Test {
|
||||||
@@ -123,8 +120,7 @@ public class WifiDetailPreferenceController2Test {
|
|||||||
private static final String MAC_ADDRESS = "01:23:45:67:89:ab";
|
private static final String MAC_ADDRESS = "01:23:45:67:89:ab";
|
||||||
private static final String RANDOMIZED_MAC_ADDRESS = "RANDOMIZED_MAC_ADDRESS";
|
private static final String RANDOMIZED_MAC_ADDRESS = "RANDOMIZED_MAC_ADDRESS";
|
||||||
private static final String FACTORY_MAC_ADDRESS = "FACTORY_MAC_ADDRESS";
|
private static final String FACTORY_MAC_ADDRESS = "FACTORY_MAC_ADDRESS";
|
||||||
// TODO(b/143326832): Add WifiEntry#getSecurityString
|
private static final String SECURITY = "None";
|
||||||
//private static final String SECURITY = "None";
|
|
||||||
private static final String FQDN = "fqdn";
|
private static final String FQDN = "fqdn";
|
||||||
|
|
||||||
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
|
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
|
||||||
@@ -156,8 +152,6 @@ public class WifiDetailPreferenceController2Test {
|
|||||||
private WifiDetailPreferenceController2.IconInjector mMockIconInjector;
|
private WifiDetailPreferenceController2.IconInjector mMockIconInjector;
|
||||||
@Mock
|
@Mock
|
||||||
private WifiDetailPreferenceController2.Clock mMockClock;
|
private WifiDetailPreferenceController2.Clock mMockClock;
|
||||||
@Mock
|
|
||||||
private MacAddress mMockMacAddress;
|
|
||||||
|
|
||||||
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
|
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
|
||||||
private EntityHeaderController mMockHeaderController;
|
private EntityHeaderController mMockHeaderController;
|
||||||
@@ -270,9 +264,9 @@ public class WifiDetailPreferenceController2Test {
|
|||||||
|
|
||||||
when(mContext.getPackageManager()).thenReturn(mMockPackageManager);
|
when(mContext.getPackageManager()).thenReturn(mMockPackageManager);
|
||||||
when(mMockWifiEntry.getLevel()).thenReturn(LEVEL);
|
when(mMockWifiEntry.getLevel()).thenReturn(LEVEL);
|
||||||
// TODO(b/143326832): Add WifiEntry#getSecurityString
|
when(mMockWifiEntry.getSecurityString(false /* concise */)).thenReturn(SECURITY);
|
||||||
//when(mMockWifiEntry.getSecurityString(false)).thenReturn(SECURITY);
|
|
||||||
when(mMockWifiEntry.getTitle()).thenReturn(SSID);
|
when(mMockWifiEntry.getTitle()).thenReturn(SSID);
|
||||||
|
when(mMockWifiEntry.getWifiConfiguration()).thenReturn(mMockWifiConfig);
|
||||||
when(mMockConnectivityManager.getNetworkInfo(any(Network.class)))
|
when(mMockConnectivityManager.getNetworkInfo(any(Network.class)))
|
||||||
.thenReturn(mMockNetworkInfo);
|
.thenReturn(mMockNetworkInfo);
|
||||||
doNothing().when(mMockConnectivityManager).registerNetworkCallback(
|
doNothing().when(mMockConnectivityManager).registerNetworkCallback(
|
||||||
@@ -393,7 +387,6 @@ public class WifiDetailPreferenceController2Test {
|
|||||||
assertThat(mController.isAvailable()).isTrue();
|
assertThat(mController.isAvailable()).isTrue();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* TODO(b/143326832): Add WifiEntry#getSecurityString
|
|
||||||
@Test
|
@Test
|
||||||
public void securityPreference_stringShouldBeSet() {
|
public void securityPreference_stringShouldBeSet() {
|
||||||
setUpForConnectedNetwork();
|
setUpForConnectedNetwork();
|
||||||
@@ -401,7 +394,6 @@ public class WifiDetailPreferenceController2Test {
|
|||||||
|
|
||||||
verify(mMockSecurityPref).setSummary(SECURITY);
|
verify(mMockSecurityPref).setSummary(SECURITY);
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void latestWifiInfo_shouldBeFetchedInDisplayPreferenceForConnectedNetwork() {
|
public void latestWifiInfo_shouldBeFetchedInDisplayPreferenceForConnectedNetwork() {
|
||||||
@@ -774,27 +766,27 @@ public class WifiDetailPreferenceController2Test {
|
|||||||
@Test
|
@Test
|
||||||
public void macAddressPref_shouldVisibleAsRandomizedForDisconnectedNetwork() {
|
public void macAddressPref_shouldVisibleAsRandomizedForDisconnectedNetwork() {
|
||||||
setUpForDisconnectedNetwork();
|
setUpForDisconnectedNetwork();
|
||||||
mMockWifiConfig.macRandomizationSetting = WifiConfiguration.RANDOMIZATION_PERSISTENT;
|
when(mMockWifiEntry.getPrivacy()).thenReturn(WifiEntry.PRIVACY_RANDOMIZED_MAC);
|
||||||
when(mMockWifiConfig.getRandomizedMacAddress()).thenReturn(mMockMacAddress);
|
when(mMockWifiEntry.getMacAddress()).thenReturn(RANDOMIZED_MAC_ADDRESS);
|
||||||
when(mMockMacAddress.toString()).thenReturn(RANDOMIZED_MAC_ADDRESS);
|
|
||||||
|
|
||||||
displayAndResume();
|
displayAndResume();
|
||||||
|
|
||||||
verify(mMockMacAddressPref).setVisible(true);
|
verify(mMockMacAddressPref).setVisible(true);
|
||||||
verify(mMockMacAddressPref).setSummary(RANDOMIZED_MAC_ADDRESS);
|
verify(mMockMacAddressPref).setSummary(RANDOMIZED_MAC_ADDRESS);
|
||||||
|
verify(mMockMacAddressPref).setTitle(R.string.wifi_advanced_randomized_mac_address_title);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void macAddressPref_shouldVisibleAsFactoryForDisconnectedNetwork() {
|
public void macAddressPref_shouldVisibleAsFactoryForDisconnectedNetwork() {
|
||||||
setUpForDisconnectedNetwork();
|
setUpForDisconnectedNetwork();
|
||||||
mMockWifiConfig.macRandomizationSetting = WifiConfiguration.RANDOMIZATION_NONE;
|
when(mMockWifiEntry.getPrivacy()).thenReturn(WifiEntry.PRIVACY_DEVICE_MAC);
|
||||||
when(mMockWifiManager.getFactoryMacAddresses())
|
when(mMockWifiEntry.getMacAddress()).thenReturn(FACTORY_MAC_ADDRESS);
|
||||||
.thenReturn(new String[]{FACTORY_MAC_ADDRESS});
|
|
||||||
|
|
||||||
displayAndResume();
|
displayAndResume();
|
||||||
|
|
||||||
verify(mMockMacAddressPref).setVisible(true);
|
verify(mMockMacAddressPref).setVisible(true);
|
||||||
verify(mMockMacAddressPref).setSummary(FACTORY_MAC_ADDRESS);
|
verify(mMockMacAddressPref).setSummary(FACTORY_MAC_ADDRESS);
|
||||||
|
verify(mMockMacAddressPref).setTitle(R.string.wifi_advanced_device_mac_address_title);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -1166,35 +1158,30 @@ public class WifiDetailPreferenceController2Test {
|
|||||||
@Test
|
@Test
|
||||||
public void forgetNetwork_saved() {
|
public void forgetNetwork_saved() {
|
||||||
setUpForConnectedNetwork();
|
setUpForConnectedNetwork();
|
||||||
mMockWifiConfig.networkId = 5;
|
|
||||||
|
|
||||||
mController.displayPreference(mMockScreen);
|
mController.displayPreference(mMockScreen);
|
||||||
mForgetClickListener.getValue().onClick(null);
|
mForgetClickListener.getValue().onClick(null);
|
||||||
|
|
||||||
verify(mMockWifiManager).forget(mMockWifiConfig.networkId, null);
|
verify(mMockWifiEntry).forget(mController);
|
||||||
verify(mMockMetricsFeatureProvider)
|
verify(mMockMetricsFeatureProvider)
|
||||||
.action(mMockActivity, MetricsProto.MetricsEvent.ACTION_WIFI_FORGET);
|
.action(mMockActivity, MetricsProto.MetricsEvent.ACTION_WIFI_FORGET);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* TODO(b/143326832): Support Passpoint test cases while WifiTracker2 supports it.
|
|
||||||
@Test
|
@Test
|
||||||
public void forgetNetwork_shouldShowDialog() {
|
public void forgetNetwork_shouldShowDialog() {
|
||||||
setUpForConnectedNetwork();
|
setUpForConnectedNetwork();
|
||||||
final WifiDetailPreferenceController2 spyController = spy(mController);
|
when(mMockWifiEntry.isSubscription()).thenReturn(true);
|
||||||
|
|
||||||
mMockWifiConfig.networkId = 5;
|
displayAndResume();
|
||||||
when(mMockAccessPoint.isPasspoint()).thenReturn(true);
|
mController.onUpdated();
|
||||||
when(mMockAccessPoint.getPasspointFqdn()).thenReturn(FQDN);
|
|
||||||
spyController.displayPreference(mMockScreen);
|
|
||||||
|
|
||||||
mForgetClickListener.getValue().onClick(null);
|
mForgetClickListener.getValue().onClick(null);
|
||||||
|
|
||||||
verify(mMockWifiManager, times(0)).removePasspointConfiguration(FQDN);
|
verify(mMockWifiEntry, times(0)).forget(mController);
|
||||||
verify(mMockMetricsFeatureProvider, times(0))
|
verify(mMockMetricsFeatureProvider, times(0))
|
||||||
.action(mMockActivity, MetricsProto.MetricsEvent.ACTION_WIFI_FORGET);
|
.action(mMockActivity, MetricsProto.MetricsEvent.ACTION_WIFI_FORGET);
|
||||||
verify(spyController).showConfirmForgetDialog();
|
verify(mController).showConfirmForgetDialog();
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void networkStateChangedIntent_shouldRefetchInfo() {
|
public void networkStateChangedIntent_shouldRefetchInfo() {
|
||||||
@@ -1204,55 +1191,19 @@ public class WifiDetailPreferenceController2Test {
|
|||||||
|
|
||||||
verify(mMockConnectivityManager, times(1)).getNetworkInfo(any(Network.class));
|
verify(mMockConnectivityManager, times(1)).getNetworkInfo(any(Network.class));
|
||||||
verify(mMockWifiManager, times(1)).getConnectionInfo();
|
verify(mMockWifiManager, times(1)).getConnectionInfo();
|
||||||
|
|
||||||
mContext.sendBroadcast(new Intent(WifiManager.NETWORK_STATE_CHANGED_ACTION));
|
|
||||||
|
|
||||||
verify(mMockConnectivityManager, times(2)).getNetworkInfo(any(Network.class));
|
|
||||||
verify(mMockWifiManager, times(2)).getConnectionInfo();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void networkStateChangedIntent_shouldRefetchInfoForConnectedNetwork() {
|
public void onUpdated_shouldUpdateNetworkInfo() {
|
||||||
setUpForConnectedNetwork();
|
setUpForConnectedNetwork();
|
||||||
|
|
||||||
displayAndResume();
|
displayAndResume();
|
||||||
|
|
||||||
verify(mMockConnectivityManager, times(1)).getNetworkInfo(any(Network.class));
|
verify(mController, times(1)).updateNetworkInfo();
|
||||||
verify(mMockWifiManager, times(1)).getConnectionInfo();
|
|
||||||
|
|
||||||
mContext.sendBroadcast(new Intent(WifiManager.NETWORK_STATE_CHANGED_ACTION));
|
mController.onUpdated();
|
||||||
|
|
||||||
verify(mMockConnectivityManager, times(2)).getNetworkInfo(any(Network.class));
|
verify(mController, times(2)).updateNetworkInfo();
|
||||||
verify(mMockWifiManager, times(2)).getConnectionInfo();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void rssiChangedIntent_shouldRefetchInfo() {
|
|
||||||
setUpForConnectedNetwork();
|
|
||||||
|
|
||||||
displayAndResume();
|
|
||||||
|
|
||||||
verify(mMockConnectivityManager, times(1)).getNetworkInfo(any(Network.class));
|
|
||||||
verify(mMockWifiManager, times(1)).getConnectionInfo();
|
|
||||||
|
|
||||||
mContext.sendBroadcast(new Intent(WifiManager.RSSI_CHANGED_ACTION));
|
|
||||||
|
|
||||||
verify(mMockConnectivityManager, times(2)).getNetworkInfo(any(Network.class));
|
|
||||||
verify(mMockWifiManager, times(2)).getConnectionInfo();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void rssiChangedIntent_shouldRefetchInfoForConnectedNetwork() {
|
|
||||||
setUpForConnectedNetwork();
|
|
||||||
displayAndResume();
|
|
||||||
|
|
||||||
verify(mMockConnectivityManager, times(1)).getNetworkInfo(any(Network.class));
|
|
||||||
verify(mMockWifiManager, times(1)).getConnectionInfo();
|
|
||||||
|
|
||||||
mContext.sendBroadcast(new Intent(WifiManager.RSSI_CHANGED_ACTION));
|
|
||||||
|
|
||||||
verify(mMockConnectivityManager, times(2)).getNetworkInfo(any(Network.class));
|
|
||||||
verify(mMockWifiManager, times(2)).getConnectionInfo();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -1431,30 +1382,41 @@ public class WifiDetailPreferenceController2Test {
|
|||||||
@Test
|
@Test
|
||||||
public void testConnectButton_clickConnect_displayAsSuccess() {
|
public void testConnectButton_clickConnect_displayAsSuccess() {
|
||||||
setUpForDisconnectedNetwork();
|
setUpForDisconnectedNetwork();
|
||||||
when(mMockWifiManager.isWifiEnabled()).thenReturn(true);
|
final ArgumentCaptor<ConnectCallback> connectCallbackCaptor =
|
||||||
InOrder inOrder = inOrder(mMockButtonsPref);
|
ArgumentCaptor.forClass(ConnectCallback.class);
|
||||||
String label = "title";
|
final InOrder inOrder = inOrder(mMockButtonsPref);
|
||||||
|
when(mMockWifiEntry.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_DISCONNECTED);
|
||||||
|
when(mMockWifiEntry.canConnect()).thenReturn(true);
|
||||||
|
final String label = "title";
|
||||||
when(mMockWifiEntry.getTitle()).thenReturn(label);
|
when(mMockWifiEntry.getTitle()).thenReturn(label);
|
||||||
setUpForToast();
|
setUpForToast();
|
||||||
|
|
||||||
displayAndResume();
|
displayAndResume();
|
||||||
|
|
||||||
// check connect button enabled
|
// check connect button displayed
|
||||||
verifyConnectBtnSetUpAsEnabled(inOrder);
|
inOrder.verify(mMockButtonsPref).setButton3Text(R.string.wifi_connect);
|
||||||
|
inOrder.verify(mMockButtonsPref).setButton3Icon(R.drawable.ic_settings_wireless);
|
||||||
|
|
||||||
// click connect button
|
// click connect button
|
||||||
mController.connectDisconnectNetwork();
|
mController.connectDisconnectNetwork();
|
||||||
|
when(mMockWifiEntry.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_CONNECTING);
|
||||||
|
when(mMockWifiEntry.canConnect()).thenReturn(false);
|
||||||
|
when(mMockWifiEntry.canDisconnect()).thenReturn(false);
|
||||||
|
mController.onUpdated();
|
||||||
|
|
||||||
// check display button as connecting
|
// check display button as connecting
|
||||||
verify(mMockWifiManager, times(1)).connect(anyInt(), any(WifiManager.ActionListener.class));
|
verify(mMockWifiEntry, times(1)).connect(connectCallbackCaptor.capture());
|
||||||
verifyConnectBtnSetUpAsConnecting(inOrder);
|
verifyConnectingBtnAvailable(inOrder);
|
||||||
|
|
||||||
// update as connected
|
// update as connected
|
||||||
|
connectCallbackCaptor.getValue().onConnectResult(
|
||||||
|
ConnectCallback.CONNECT_STATUS_SUCCESS);
|
||||||
when(mMockWifiEntry.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_CONNECTED);
|
when(mMockWifiEntry.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_CONNECTED);
|
||||||
|
when(mMockWifiEntry.canDisconnect()).thenReturn(true);
|
||||||
|
mController.onUpdated();
|
||||||
|
|
||||||
// check connect button invisible, be init as default state and toast success message
|
// check disconnect button invisible, be init as default state and toast success message
|
||||||
verifyConnectBtnBeInitAsDefault(inOrder);
|
verifyDisconnecBtnAvailable(inOrder);
|
||||||
inOrder.verify(mMockButtonsPref).setButton3Enabled(false);
|
|
||||||
assertThat(ShadowToast.getTextOfLatestToast()).isEqualTo(
|
assertThat(ShadowToast.getTextOfLatestToast()).isEqualTo(
|
||||||
mContext.getString(R.string.wifi_connected_to_message, label));
|
mContext.getString(R.string.wifi_connected_to_message, label));
|
||||||
}
|
}
|
||||||
@@ -1462,70 +1424,61 @@ public class WifiDetailPreferenceController2Test {
|
|||||||
@Test
|
@Test
|
||||||
public void testConnectButton_clickConnectButFailed_displayFailMessage() {
|
public void testConnectButton_clickConnectButFailed_displayFailMessage() {
|
||||||
setUpForDisconnectedNetwork();
|
setUpForDisconnectedNetwork();
|
||||||
ArgumentCaptor<WifiManager.ActionListener> connectListenerCaptor =
|
final ArgumentCaptor<ConnectCallback> connectCallbackCaptor =
|
||||||
ArgumentCaptor.forClass(WifiManager.ActionListener.class);
|
ArgumentCaptor.forClass(ConnectCallback.class);
|
||||||
when(mMockWifiManager.isWifiEnabled()).thenReturn(true);
|
final InOrder inOrder = inOrder(mMockButtonsPref);
|
||||||
InOrder inOrder = inOrder(mMockButtonsPref);
|
when(mMockWifiEntry.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_DISCONNECTED);
|
||||||
|
when(mMockWifiEntry.canDisconnect()).thenReturn(true);
|
||||||
setUpForToast();
|
setUpForToast();
|
||||||
|
|
||||||
displayAndResume();
|
displayAndResume();
|
||||||
|
|
||||||
// check connect button enabled
|
// check connect button displayed
|
||||||
verifyConnectBtnSetUpAsEnabled(inOrder);
|
inOrder.verify(mMockButtonsPref).setButton3Text(R.string.wifi_connect);
|
||||||
|
inOrder.verify(mMockButtonsPref).setButton3Icon(R.drawable.ic_settings_wireless);
|
||||||
|
|
||||||
// click connect button
|
// click connect button
|
||||||
mController.connectDisconnectNetwork();
|
mController.connectDisconnectNetwork();
|
||||||
|
when(mMockWifiEntry.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_CONNECTING);
|
||||||
|
when(mMockWifiEntry.canConnect()).thenReturn(false);
|
||||||
|
when(mMockWifiEntry.canDisconnect()).thenReturn(false);
|
||||||
|
mController.onUpdated();
|
||||||
|
|
||||||
// check display button as connecting
|
// check display button as connecting
|
||||||
verify(mMockWifiManager, times(1)).connect(anyInt(), connectListenerCaptor.capture());
|
verify(mMockWifiEntry, times(1)).connect(connectCallbackCaptor.capture());
|
||||||
verifyConnectBtnSetUpAsConnecting(inOrder);
|
verifyConnectingBtnAvailable(inOrder);
|
||||||
|
|
||||||
// update as failed
|
// update as failed
|
||||||
connectListenerCaptor.getValue().onFailure(-1);
|
connectCallbackCaptor.getValue().onConnectResult(
|
||||||
|
ConnectCallback.CONNECT_STATUS_FAILURE_UNKNOWN);
|
||||||
|
when(mMockWifiEntry.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_DISCONNECTED);
|
||||||
|
when(mMockWifiEntry.canConnect()).thenReturn(true);
|
||||||
|
mController.onUpdated();
|
||||||
|
|
||||||
// check connect button visible, be init as default and toast failed message
|
// check connect button available, be init as default and toast failed message
|
||||||
verifyConnectBtnBeInitAsDefault(inOrder);
|
verifyConnectBtnAvailable(inOrder);
|
||||||
inOrder.verify(mMockButtonsPref).setButton3Enabled(true);
|
|
||||||
assertThat(ShadowToast.getTextOfLatestToast()).isEqualTo(
|
assertThat(ShadowToast.getTextOfLatestToast()).isEqualTo(
|
||||||
mContext.getString(R.string.wifi_failed_connect_message));
|
mContext.getString(R.string.wifi_failed_connect_message));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void verifyConnectBtnSetUpAsEnabled(InOrder inOrder) {
|
private void verifyConnectBtnAvailable(InOrder inOrder) {
|
||||||
|
inOrder.verify(mMockButtonsPref).setButton3Visible(true);
|
||||||
|
inOrder.verify(mMockButtonsPref).setButton3Enabled(true);
|
||||||
inOrder.verify(mMockButtonsPref).setButton3Text(R.string.wifi_connect);
|
inOrder.verify(mMockButtonsPref).setButton3Text(R.string.wifi_connect);
|
||||||
inOrder.verify(mMockButtonsPref).setButton3Icon(R.drawable.ic_settings_wireless);
|
inOrder.verify(mMockButtonsPref).setButton3Icon(R.drawable.ic_settings_wireless);
|
||||||
inOrder.verify(mMockButtonsPref).setButton3Enabled(true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void verifyConnectBtnSetUpAsConnecting(InOrder inOrder) {
|
private void verifyDisconnecBtnAvailable(InOrder inOrder) {
|
||||||
inOrder.verify(mMockButtonsPref).setButton3Text(R.string.wifi_connecting);
|
inOrder.verify(mMockButtonsPref).setButton3Visible(true);
|
||||||
|
inOrder.verify(mMockButtonsPref).setButton3Enabled(true);
|
||||||
|
inOrder.verify(mMockButtonsPref).setButton3Text(R.string.wifi_disconnect_button_text);
|
||||||
|
inOrder.verify(mMockButtonsPref).setButton3Icon(R.drawable.ic_settings_close);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void verifyConnectingBtnAvailable(InOrder inOrder) {
|
||||||
|
inOrder.verify(mMockButtonsPref).setButton3Visible(true);
|
||||||
inOrder.verify(mMockButtonsPref).setButton3Enabled(false);
|
inOrder.verify(mMockButtonsPref).setButton3Enabled(false);
|
||||||
}
|
inOrder.verify(mMockButtonsPref).setButton3Text(R.string.wifi_connecting);
|
||||||
|
|
||||||
private void verifyConnectBtnBeInitAsDefault(InOrder inOrder) {
|
|
||||||
inOrder.verify(mMockButtonsPref).setButton3Text(R.string.wifi_connect);
|
|
||||||
inOrder.verify(mMockButtonsPref).setButton3Icon(R.drawable.ic_settings_wireless);
|
|
||||||
inOrder.verify(mMockButtonsPref).setButton3Enabled(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testRefreshRssiViews_shouldOnUpdated() {
|
|
||||||
setUpForConnectedNetwork();
|
|
||||||
displayAndResume();
|
|
||||||
|
|
||||||
mContext.sendBroadcast(new Intent(WifiManager.RSSI_CHANGED_ACTION));
|
|
||||||
|
|
||||||
verify(mController).onUpdated();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testRefreshRssiViews_shouldNotUpdateForNotInRangeNetwork() {
|
|
||||||
setUpForNotInRangeNetwork();
|
|
||||||
displayAndResume();
|
|
||||||
|
|
||||||
when(mMockWifiEntry.getLevel()).thenReturn(0);
|
|
||||||
mContext.sendBroadcast(new Intent(WifiManager.RSSI_CHANGED_ACTION));
|
|
||||||
|
|
||||||
verify(mMockSignalStrengthPref, times(2)).setVisible(false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -1579,31 +1532,6 @@ public class WifiDetailPreferenceController2Test {
|
|||||||
assertThat(icon).isNotNull();
|
assertThat(icon).isNotNull();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void checkMacTitle_whenPrivacyRandomizedMac_shouldBeRandom() {
|
|
||||||
setUpForDisconnectedNetwork();
|
|
||||||
mMockWifiConfig.macRandomizationSetting = WifiConfiguration.RANDOMIZATION_PERSISTENT;
|
|
||||||
when(mMockWifiConfig.getRandomizedMacAddress()).thenReturn(mMockMacAddress);
|
|
||||||
when(mMockMacAddress.toString()).thenReturn(RANDOMIZED_MAC_ADDRESS);
|
|
||||||
|
|
||||||
displayAndResume();
|
|
||||||
|
|
||||||
verify(mMockMacAddressPref).setTitle(R.string.wifi_advanced_randomized_mac_address_title);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void checkMacTitle_whenPrivacyDeviceMac_shouldBeFactory() {
|
|
||||||
setUpForDisconnectedNetwork();
|
|
||||||
mMockWifiConfig.macRandomizationSetting = WifiConfiguration.RANDOMIZATION_NONE;
|
|
||||||
when(mMockWifiConfig.getRandomizedMacAddress()).thenReturn(mMockMacAddress);
|
|
||||||
when(mMockWifiManager.getFactoryMacAddresses())
|
|
||||||
.thenReturn(new String[]{FACTORY_MAC_ADDRESS});
|
|
||||||
|
|
||||||
displayAndResume();
|
|
||||||
|
|
||||||
verify(mMockMacAddressPref).setTitle(R.string.wifi_advanced_device_mac_address_title);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* TODO(b/143326832): Support Passpoint test cases while WifiTracker2 supports it.
|
/* TODO(b/143326832): Support Passpoint test cases while WifiTracker2 supports it.
|
||||||
@Test
|
@Test
|
||||||
public void entityHeader_expiredPasspointR1_shouldHandleExpiration() {
|
public void entityHeader_expiredPasspointR1_shouldHandleExpiration() {
|
||||||
|
Reference in New Issue
Block a user