Merge "Add test cases for disconnected/not in range network"
This commit is contained in:
@@ -106,6 +106,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";
|
||||
@@ -433,7 +435,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