Add test cases for disconnected/not in range network
Since detail page support to display for saved network which connection state may be disconnected or not in range, add more test cases for this new change. Bug: 124707751 Test: atest WifiDetailPreferenceControllerTest passed Change-Id: Ia6426ed6336c09f387317c5597f8deb14c1a9502
This commit is contained in:
@@ -103,6 +103,8 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
|
||||
@VisibleForTesting
|
||||
static final String KEY_HEADER = "connection_header";
|
||||
@VisibleForTesting
|
||||
static final String KEY_DATA_USAGE_HEADER = "status_header";
|
||||
@VisibleForTesting
|
||||
static final String KEY_BUTTONS_PREF = "buttons";
|
||||
@VisibleForTesting
|
||||
static final String KEY_SIGNAL_STRENGTH_PREF = "signal_strength";
|
||||
@@ -426,7 +428,7 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
|
||||
|
||||
if (usingDataUsageHeader(mContext)) {
|
||||
headerPref.setVisible(false);
|
||||
mDataUsageSummaryPref = screen.findPreference("status_header");
|
||||
mDataUsageSummaryPref = screen.findPreference(KEY_DATA_USAGE_HEADER);
|
||||
mDataUsageSummaryPref.setVisible(true);
|
||||
mSummaryHeaderController =
|
||||
new WifiDataUsageSummaryPreferenceController(mFragment.getActivity(),
|
||||
|
@@ -43,6 +43,7 @@ import android.net.ConnectivityManager.NetworkCallback;
|
||||
import android.net.IpPrefix;
|
||||
import android.net.LinkAddress;
|
||||
import android.net.LinkProperties;
|
||||
import android.net.MacAddress;
|
||||
import android.net.Network;
|
||||
import android.net.NetworkCapabilities;
|
||||
import android.net.NetworkInfo;
|
||||
@@ -76,6 +77,8 @@ import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||
import com.android.settingslib.widget.ActionButtonsPreference;
|
||||
import com.android.settingslib.widget.LayoutPreference;
|
||||
import com.android.settingslib.wifi.AccessPoint;
|
||||
import com.android.settingslib.wifi.WifiTracker;
|
||||
import com.android.settingslib.wifi.WifiTrackerFactory;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
@@ -95,6 +98,7 @@ import java.net.Inet4Address;
|
||||
import java.net.InetAddress;
|
||||
import java.net.UnknownHostException;
|
||||
import java.util.Arrays;
|
||||
import java.util.ArrayList;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@@ -107,6 +111,8 @@ public class WifiDetailPreferenceControllerTest {
|
||||
private static final int RX_LINK_SPEED = 54;
|
||||
private static final String SSID = "ssid";
|
||||
private static final String MAC_ADDRESS = WifiInfo.DEFAULT_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 SECURITY = "None";
|
||||
|
||||
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
|
||||
@@ -131,9 +137,13 @@ public class WifiDetailPreferenceControllerTest {
|
||||
@Mock
|
||||
private WifiManager mockWifiManager;
|
||||
@Mock
|
||||
private WifiTracker mockWifiTracker;
|
||||
@Mock
|
||||
private MetricsFeatureProvider mockMetricsFeatureProvider;
|
||||
@Mock
|
||||
private WifiDetailPreferenceController.IconInjector mockIconInjector;
|
||||
@Mock
|
||||
private MacAddress mockMacAddress;
|
||||
|
||||
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
|
||||
private EntityHeaderController mockHeaderController;
|
||||
@@ -285,6 +295,48 @@ public class WifiDetailPreferenceControllerTest {
|
||||
mController = newWifiDetailPreferenceController();
|
||||
}
|
||||
|
||||
private void setUpForConnectedNetwork() {
|
||||
// Enable saved network detail page feature for this test
|
||||
FeatureFlagUtils.setEnabled(mContext, FeatureFlags.WIFI_DETAILS_SAVED_SCREEN, true);
|
||||
when(mockAccessPoint.isActive()).thenReturn(true);
|
||||
ArrayList list = new ArrayList<>();
|
||||
list.add(mockAccessPoint);
|
||||
when(mockWifiTracker.getAccessPoints()).thenReturn(list);
|
||||
WifiTrackerFactory.setTestingWifiTracker(mockWifiTracker);
|
||||
when(mockAccessPoint.matches(any(WifiConfiguration.class))).thenReturn(true);
|
||||
when(mockAccessPoint.isReachable()).thenReturn(true);
|
||||
|
||||
mController = newWifiDetailPreferenceController();
|
||||
}
|
||||
|
||||
private void setUpForDisconnectedNetwork() {
|
||||
// Enable saved network detail page feature for this test
|
||||
FeatureFlagUtils.setEnabled(mContext, FeatureFlags.WIFI_DETAILS_SAVED_SCREEN, true);
|
||||
when(mockAccessPoint.isActive()).thenReturn(false);
|
||||
ArrayList list = new ArrayList<>();
|
||||
list.add(mockAccessPoint);
|
||||
when(mockWifiTracker.getAccessPoints()).thenReturn(list);
|
||||
WifiTrackerFactory.setTestingWifiTracker(mockWifiTracker);
|
||||
when(mockAccessPoint.matches(any(WifiConfiguration.class))).thenReturn(true);
|
||||
when(mockAccessPoint.isReachable()).thenReturn(true);
|
||||
|
||||
mController = newWifiDetailPreferenceController();
|
||||
}
|
||||
|
||||
private void setUpForNotInRangeNetwork() {
|
||||
// Enable saved network detail page feature for this test
|
||||
FeatureFlagUtils.setEnabled(mContext, FeatureFlags.WIFI_DETAILS_SAVED_SCREEN, true);
|
||||
when(mockAccessPoint.isActive()).thenReturn(false);
|
||||
ArrayList list = new ArrayList<>();
|
||||
list.add(mockAccessPoint);
|
||||
when(mockWifiTracker.getAccessPoints()).thenReturn(list);
|
||||
WifiTrackerFactory.setTestingWifiTracker(mockWifiTracker);
|
||||
when(mockAccessPoint.matches(any(WifiConfiguration.class))).thenReturn(false);
|
||||
when(mockAccessPoint.isReachable()).thenReturn(false);
|
||||
|
||||
mController = newWifiDetailPreferenceController();
|
||||
}
|
||||
|
||||
private WifiDetailPreferenceController newWifiDetailPreferenceController() {
|
||||
return new WifiDetailPreferenceController(
|
||||
mockAccessPoint,
|
||||
@@ -362,6 +414,33 @@ public class WifiDetailPreferenceControllerTest {
|
||||
verify(mockWifiManager, times(1)).getConnectionInfo();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void latestWifiInfo_shouldBeFetchedInDisplayPreferenceForConnectedNetwork() {
|
||||
setUpForConnectedNetwork();
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockWifiManager, times(1)).getConnectionInfo();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void latestWifiInfo_shouldNotBeFetchedInDisplayPreferenceForDisconnectedNetwork() {
|
||||
setUpForDisconnectedNetwork();
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockWifiManager, never()).getConnectionInfo();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void latestWifiInfo_shouldNotBeFetchedInDisplayPreferenceForNotInRangeNetwork() {
|
||||
setUpForNotInRangeNetwork();
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockWifiManager, never()).getConnectionInfo();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void latestNetworkInfo_shouldBeFetchedInDisplayPreference() {
|
||||
displayAndResume();
|
||||
@@ -369,6 +448,33 @@ public class WifiDetailPreferenceControllerTest {
|
||||
verify(mockConnectivityManager, times(1)).getNetworkInfo(any(Network.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void latestNetworkInfo_shouldBeFetchedInDisplayPreferenceForConnectedNetwork() {
|
||||
setUpForConnectedNetwork();
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockConnectivityManager, times(1)).getNetworkInfo(any(Network.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void latestNetworkInfo_shouldNotBeFetchedInDisplayPreferenceForDisconnectedNetwork() {
|
||||
setUpForDisconnectedNetwork();
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockConnectivityManager, never()).getNetworkInfo(any(Network.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void latestNetworkInfo_shouldNotBeFetchedInDisplayPreferenceForNotInRangeNetwork() {
|
||||
setUpForNotInRangeNetwork();
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockConnectivityManager, never()).getNetworkInfo(any(Network.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void networkCallback_shouldBeRegisteredOnResume() {
|
||||
displayAndResume();
|
||||
@@ -395,6 +501,35 @@ public class WifiDetailPreferenceControllerTest {
|
||||
verify(mockHeaderController).setIcon(expectedIcon);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void entityHeader_shouldHaveIconSetForConnectedNetwork() {
|
||||
setUpForConnectedNetwork();
|
||||
Drawable expectedIcon = mockIconInjector.getIcon(LEVEL);
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockHeaderController).setIcon(expectedIcon);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void entityHeader_shouldHaveIconSetForDisconnectedNetwork() {
|
||||
setUpForDisconnectedNetwork();
|
||||
Drawable expectedIcon = mockIconInjector.getIcon(LEVEL);
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockHeaderController).setIcon(expectedIcon);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void entityHeader_shouldNotHaveIconSetForNotInRangeNetwork() {
|
||||
setUpForNotInRangeNetwork();
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockHeaderController, never()).setIcon(any(Drawable.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void entityHeader_shouldHaveLabelSetToTitle() {
|
||||
String label = "title";
|
||||
@@ -422,6 +557,33 @@ public class WifiDetailPreferenceControllerTest {
|
||||
verify(mockSignalStrengthPref).setIcon(any(Drawable.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void signalStrengthPref_shouldHaveIconSetForConnectedNetwork() {
|
||||
setUpForConnectedNetwork();
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockSignalStrengthPref).setIcon(any(Drawable.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void signalStrengthPref_shouldHaveIconSetForDisconnectedNetwork() {
|
||||
setUpForDisconnectedNetwork();
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockSignalStrengthPref).setIcon(any(Drawable.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void signalStrengthPref_shouldNotHaveIconSetForOutOfRangeNetwork() {
|
||||
setUpForNotInRangeNetwork();
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockSignalStrengthPref, never()).setIcon(any(Drawable.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void signalStrengthPref_shouldHaveDetailTextSet() {
|
||||
String expectedStrength =
|
||||
@@ -432,6 +594,37 @@ public class WifiDetailPreferenceControllerTest {
|
||||
verify(mockSignalStrengthPref).setSummary(expectedStrength);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void signalStrengthPref_shouldHaveDetailTextSetForConnectedNetwork() {
|
||||
setUpForConnectedNetwork();
|
||||
String expectedStrength =
|
||||
mContext.getResources().getStringArray(R.array.wifi_signal)[LEVEL];
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockSignalStrengthPref).setSummary(expectedStrength);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void signalStrengthPref_shouldHaveDetailTextSetForDisconnectedNetwork() {
|
||||
setUpForDisconnectedNetwork();
|
||||
String expectedStrength =
|
||||
mContext.getResources().getStringArray(R.array.wifi_signal)[LEVEL];
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockSignalStrengthPref).setSummary(expectedStrength);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void signalStrengthPref_shouldNotHaveDetailTextSetForNotInRangeNetwork() {
|
||||
setUpForNotInRangeNetwork();
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockSignalStrengthPref, never()).setSummary(any(String.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void linkSpeedPref_shouldHaveDetailTextSet() {
|
||||
String expectedLinkSpeed = mContext.getString(R.string.tx_link_speed, TX_LINK_SPEED);
|
||||
@@ -450,6 +643,37 @@ public class WifiDetailPreferenceControllerTest {
|
||||
verify(mockTxLinkSpeedPref).setVisible(false);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void linkSpeedPref_shouldVisibleForConnectedNetwork() {
|
||||
setUpForConnectedNetwork();
|
||||
String expectedLinkSpeed = mContext.getString(R.string.tx_link_speed, TX_LINK_SPEED);
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockTxLinkSpeedPref).setVisible(true);
|
||||
verify(mockTxLinkSpeedPref).setSummary(expectedLinkSpeed);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void linkSpeedPref_shouldInvisibleForDisconnectedNetwork() {
|
||||
setUpForDisconnectedNetwork();
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockTxLinkSpeedPref).setVisible(false);
|
||||
verify(mockTxLinkSpeedPref, never()).setSummary(any(String.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void linkSpeedPref_shouldInvisibleForNotInRangeNetwork() {
|
||||
setUpForNotInRangeNetwork();
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockTxLinkSpeedPref).setVisible(false);
|
||||
verify(mockTxLinkSpeedPref, never()).setSummary(any(String.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void rxLinkSpeedPref_shouldHaveDetailTextSet() {
|
||||
String expectedLinkSpeed = mContext.getString(R.string.rx_link_speed, RX_LINK_SPEED);
|
||||
@@ -468,6 +692,37 @@ public class WifiDetailPreferenceControllerTest {
|
||||
verify(mockRxLinkSpeedPref).setVisible(false);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void rxLinkSpeedPref_shouldVisibleForConnectedNetwork() {
|
||||
setUpForConnectedNetwork();
|
||||
String expectedLinkSpeed = mContext.getString(R.string.rx_link_speed, RX_LINK_SPEED);
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockRxLinkSpeedPref).setVisible(true);
|
||||
verify(mockRxLinkSpeedPref).setSummary(expectedLinkSpeed);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void rxLinkSpeedPref_shouldInvisibleForDisconnectedNetwork() {
|
||||
setUpForDisconnectedNetwork();
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockRxLinkSpeedPref).setVisible(false);
|
||||
verify(mockRxLinkSpeedPref, never()).setSummary(any(String.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void rxLinkSpeedPref_shouldInvisibleForNotInRangeNetwork() {
|
||||
setUpForNotInRangeNetwork();
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockRxLinkSpeedPref).setVisible(false);
|
||||
verify(mockRxLinkSpeedPref, never()).setSummary(any(String.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void ssidPref_shouldHaveDetailTextSet() {
|
||||
when(mockAccessPoint.isPasspoint()).thenReturn(true);
|
||||
@@ -519,6 +774,42 @@ public class WifiDetailPreferenceControllerTest {
|
||||
verify(mockMacAddressPref).setSummary(MAC_ADDRESS);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void macAddressPref_shouldVisibleForConnectedNetwork() {
|
||||
setUpForConnectedNetwork();
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockMacAddressPref).setVisible(true);
|
||||
verify(mockMacAddressPref).setSummary(MAC_ADDRESS);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void macAddressPref_shouldVisibleAsRandomizedForDisconnectedNetwork() {
|
||||
setUpForDisconnectedNetwork();
|
||||
mockWifiConfig.macRandomizationSetting = WifiConfiguration.RANDOMIZATION_PERSISTENT;
|
||||
when(mockWifiConfig.getRandomizedMacAddress()).thenReturn(mockMacAddress);
|
||||
when(mockMacAddress.toString()).thenReturn(RANDOMIZED_MAC_ADDRESS);
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockMacAddressPref).setVisible(true);
|
||||
verify(mockMacAddressPref).setSummary(RANDOMIZED_MAC_ADDRESS);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void macAddressPref_shouldVisibleAsFactoryForDisconnectedNetwork() {
|
||||
setUpForDisconnectedNetwork();
|
||||
mockWifiConfig.macRandomizationSetting = WifiConfiguration.RANDOMIZATION_NONE;
|
||||
when(mockWifiManager.getFactoryMacAddresses())
|
||||
.thenReturn(new String[]{FACTORY_MAC_ADDRESS});
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockMacAddressPref).setVisible(true);
|
||||
verify(mockMacAddressPref).setSummary(FACTORY_MAC_ADDRESS);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void ipAddressPref_shouldHaveDetailTextSet() {
|
||||
mLinkProperties.addLinkAddress(Constants.IPV4_ADDR);
|
||||
@@ -528,6 +819,26 @@ public class WifiDetailPreferenceControllerTest {
|
||||
verify(mockIpAddressPref).setSummary(Constants.IPV4_ADDR.getAddress().getHostAddress());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void ipAddressPref_shouldHaveDetailTextSetForConnectedNetwork() {
|
||||
setUpForConnectedNetwork();
|
||||
mLinkProperties.addLinkAddress(Constants.IPV4_ADDR);
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockIpAddressPref).setSummary(Constants.IPV4_ADDR.getAddress().getHostAddress());
|
||||
verify(mockIpAddressPref).setVisible(true);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void ipAddressPref_shouldInvisibleForDisconnectedNetwork() {
|
||||
setUpForDisconnectedNetwork();
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockIpAddressPref).setVisible(false);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void gatewayAndSubnet_shouldHaveDetailTextSet() {
|
||||
mLinkProperties.addLinkAddress(Constants.IPV4_ADDR);
|
||||
@@ -540,6 +851,29 @@ public class WifiDetailPreferenceControllerTest {
|
||||
verify(mockGatewayPref).setSummary("192.0.2.127");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void gatewayAndSubnet_shouldHaveDetailTextSetForConnectedNetwork() {
|
||||
setUpForConnectedNetwork();
|
||||
mLinkProperties.addLinkAddress(Constants.IPV4_ADDR);
|
||||
mLinkProperties.addRoute(Constants.IPV4_DEFAULT);
|
||||
mLinkProperties.addRoute(Constants.IPV4_SUBNET);
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockSubnetPref).setSummary("255.255.255.128");
|
||||
verify(mockGatewayPref).setSummary("192.0.2.127");
|
||||
verify(mockSubnetPref).setVisible(true);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void gatewayAndSubnet_shouldInvisibleSetForDisconnectedNetwork() {
|
||||
setUpForDisconnectedNetwork();
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockSubnetPref).setVisible(false);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void dnsServersPref_shouldHaveDetailTextSet() throws UnknownHostException {
|
||||
mLinkProperties.addDnsServer(InetAddress.getByAddress(new byte[] {8, 8, 4, 4}));
|
||||
@@ -554,6 +888,33 @@ public class WifiDetailPreferenceControllerTest {
|
||||
Constants.IPV6_DNS.getHostAddress());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void dnsServersPref_shouldHaveDetailTextSetForConnectedNetwork()
|
||||
throws UnknownHostException {
|
||||
setUpForConnectedNetwork();
|
||||
mLinkProperties.addDnsServer(InetAddress.getByAddress(new byte[] {8, 8, 4, 4}));
|
||||
mLinkProperties.addDnsServer(InetAddress.getByAddress(new byte[] {8, 8, 8, 8}));
|
||||
mLinkProperties.addDnsServer(Constants.IPV6_DNS);
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockDnsPref).setSummary(
|
||||
"8.8.4.4\n" +
|
||||
"8.8.8.8\n" +
|
||||
Constants.IPV6_DNS.getHostAddress());
|
||||
verify(mockDnsPref).setVisible(true);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void dnsServersPref_shouldInvisibleSetForDisconnectedNetwork()
|
||||
throws UnknownHostException {
|
||||
setUpForDisconnectedNetwork();
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockDnsPref).setVisible(false);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void noCurrentNetwork_shouldFinishActivity() {
|
||||
// If WifiManager#getCurrentNetwork() returns null, then the network is neither connected
|
||||
@@ -565,6 +926,18 @@ public class WifiDetailPreferenceControllerTest {
|
||||
verify(mockActivity).finish();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void noCurrentNetwork_shouldNotFinishActivityForConnectedNetwork() {
|
||||
// For new feature for display detail page for saved network for disconnected network,
|
||||
// mNetwork may be null, do finish activity
|
||||
setUpForConnectedNetwork();
|
||||
when(mockWifiManager.getCurrentNetwork()).thenReturn(null);
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockActivity, never()).finish();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void noLinkProperties_allIpDetailsHidden() {
|
||||
when(mockConnectivityManager.getLinkProperties(mockNetwork)).thenReturn(null);
|
||||
@@ -584,6 +957,25 @@ public class WifiDetailPreferenceControllerTest {
|
||||
verify(mockDnsPref, never()).setVisible(true);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void disconnectedNetwork_allIpDetailsHidden() {
|
||||
setUpForDisconnectedNetwork();
|
||||
reset(mockIpv6Category, mockIpAddressPref, mockSubnetPref, mockGatewayPref, mockDnsPref);
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockIpv6Category).setVisible(false);
|
||||
verify(mockIpAddressPref).setVisible(false);
|
||||
verify(mockSubnetPref).setVisible(false);
|
||||
verify(mockGatewayPref).setVisible(false);
|
||||
verify(mockDnsPref).setVisible(false);
|
||||
verify(mockIpv6Category, never()).setVisible(true);
|
||||
verify(mockIpAddressPref, never()).setVisible(true);
|
||||
verify(mockSubnetPref, never()).setVisible(true);
|
||||
verify(mockGatewayPref, never()).setVisible(true);
|
||||
verify(mockDnsPref, never()).setVisible(true);
|
||||
}
|
||||
|
||||
// Convenience method to convert a LinkAddress to a string without a prefix length.
|
||||
private String asString(LinkAddress l) {
|
||||
return l.getAddress().getHostAddress();
|
||||
@@ -762,7 +1154,7 @@ public class WifiDetailPreferenceControllerTest {
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mockButtonsPref).setButton3Visible(false);
|
||||
verify(mockButtonsPref).setButton4Visible(false);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -871,6 +1263,20 @@ public class WifiDetailPreferenceControllerTest {
|
||||
verify(mockWifiManager, times(2)).getConnectionInfo();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void networkStateChangedIntent_shouldRefetchInfoForConnectedNetwork() {
|
||||
setUpForConnectedNetwork();
|
||||
displayAndResume();
|
||||
|
||||
verify(mockConnectivityManager, times(1)).getNetworkInfo(any(Network.class));
|
||||
verify(mockWifiManager, times(1)).getConnectionInfo();
|
||||
|
||||
mContext.sendBroadcast(new Intent(WifiManager.NETWORK_STATE_CHANGED_ACTION));
|
||||
|
||||
verify(mockConnectivityManager, times(2)).getNetworkInfo(any(Network.class));
|
||||
verify(mockWifiManager, times(2)).getConnectionInfo();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void rssiChangedIntent_shouldRefetchInfo() {
|
||||
displayAndResume();
|
||||
@@ -884,6 +1290,20 @@ public class WifiDetailPreferenceControllerTest {
|
||||
verify(mockWifiManager, times(2)).getConnectionInfo();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void rssiChangedIntent_shouldRefetchInfoForConnectedNetwork() {
|
||||
setUpForConnectedNetwork();
|
||||
displayAndResume();
|
||||
|
||||
verify(mockConnectivityManager, times(1)).getNetworkInfo(any(Network.class));
|
||||
verify(mockWifiManager, times(1)).getConnectionInfo();
|
||||
|
||||
mContext.sendBroadcast(new Intent(WifiManager.RSSI_CHANGED_ACTION));
|
||||
|
||||
verify(mockConnectivityManager, times(2)).getNetworkInfo(any(Network.class));
|
||||
verify(mockWifiManager, times(2)).getConnectionInfo();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void networkDisconnectedState_shouldFinishActivity() {
|
||||
displayAndResume();
|
||||
@@ -894,6 +1314,18 @@ public class WifiDetailPreferenceControllerTest {
|
||||
verify(mockActivity).finish();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void networkDisconnectedState_shouldNotFinishActivityForConnectedNetwork() {
|
||||
setUpForConnectedNetwork();
|
||||
|
||||
displayAndResume();
|
||||
|
||||
when(mockConnectivityManager.getNetworkInfo(any(Network.class))).thenReturn(null);
|
||||
mContext.sendBroadcast(new Intent(WifiManager.NETWORK_STATE_CHANGED_ACTION));
|
||||
|
||||
verify(mockActivity, never()).finish();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void networkOnLost_shouldFinishActivity() {
|
||||
displayAndResume();
|
||||
@@ -903,6 +1335,17 @@ public class WifiDetailPreferenceControllerTest {
|
||||
verify(mockActivity).finish();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void networkOnLost_shouldNotFinishActivityForConnectedNetwork() {
|
||||
setUpForConnectedNetwork();
|
||||
|
||||
displayAndResume();
|
||||
|
||||
mCallbackCaptor.getValue().onLost(mockNetwork);
|
||||
|
||||
verify(mockActivity, never()).finish();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void ipv6AddressPref_shouldHaveHostAddressTextSet() {
|
||||
mLinkProperties.addLinkAddress(Constants.IPV6_LINKLOCAL);
|
||||
@@ -982,6 +1425,19 @@ public class WifiDetailPreferenceControllerTest {
|
||||
verify(mockIconInjector, times(2)).getIcon(anyInt());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRefreshRssiViews_shouldNotUpdateForNotInRangeNetwork() {
|
||||
setUpForNotInRangeNetwork();
|
||||
|
||||
displayAndResume();
|
||||
|
||||
when(mockAccessPoint.getLevel()).thenReturn(0);
|
||||
mContext.sendBroadcast(new Intent(WifiManager.RSSI_CHANGED_ACTION));
|
||||
|
||||
verify(mockSignalStrengthPref, times(2)).setVisible(false);
|
||||
}
|
||||
|
||||
|
||||
private ActionButtonsPreference createMock() {
|
||||
final ActionButtonsPreference pref = mock(ActionButtonsPreference.class);
|
||||
when(pref.setButton1Text(anyInt())).thenReturn(pref);
|
||||
|
Reference in New Issue
Block a user