Loading tests/unit/src/com/android/server/connectivity/NetworkMonitorTest.java +61 −60 Original line number Diff line number Diff line Loading @@ -276,17 +276,18 @@ public class NetworkMonitorTest { return lp; } private static final NetworkCapabilities METERED_CAPABILITIES = new NetworkCapabilities() private static final NetworkCapabilities CELL_METERED_CAPABILITIES = new NetworkCapabilities() .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR) .addCapability(NET_CAPABILITY_INTERNET); private static final NetworkCapabilities NOT_METERED_CAPABILITIES = new NetworkCapabilities() private static final NetworkCapabilities CELL_NOT_METERED_CAPABILITIES = new NetworkCapabilities() .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR) .addCapability(NET_CAPABILITY_INTERNET) .addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_METERED); private static final NetworkCapabilities NO_INTERNET_CAPABILITIES = new NetworkCapabilities() .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR); private static final NetworkCapabilities CELL_NO_INTERNET_CAPABILITIES = new NetworkCapabilities().addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR); /** * Fakes DNS responses. Loading Loading @@ -609,13 +610,13 @@ public class NetworkMonitorTest { return nm; } private WrappedNetworkMonitor makeMeteredNetworkMonitor() { final WrappedNetworkMonitor nm = makeMonitor(METERED_CAPABILITIES); private WrappedNetworkMonitor makeCellMeteredNetworkMonitor() { final WrappedNetworkMonitor nm = makeMonitor(CELL_METERED_CAPABILITIES); return nm; } private WrappedNetworkMonitor makeNotMeteredNetworkMonitor() { final WrappedNetworkMonitor nm = makeMonitor(NOT_METERED_CAPABILITIES); private WrappedNetworkMonitor makeCellNotMeteredNetworkMonitor() { final WrappedNetworkMonitor nm = makeMonitor(CELL_NOT_METERED_CAPABILITIES); return nm; } Loading @@ -626,7 +627,7 @@ public class NetworkMonitorTest { @Test public void testOnlyWifiTransport() { final WrappedNetworkMonitor wnm = makeMeteredNetworkMonitor(); final WrappedNetworkMonitor wnm = makeCellMeteredNetworkMonitor(); final NetworkCapabilities nc = new NetworkCapabilities() .addTransportType(TRANSPORT_WIFI) .addTransportType(TRANSPORT_VPN); Loading @@ -641,7 +642,7 @@ public class NetworkMonitorTest { public void testNeedEvaluatingBandwidth() throws Exception { // Make metered network first, the transport type is TRANSPORT_CELLULAR. That means the // test cannot pass the condition check in needEvaluatingBandwidth(). final WrappedNetworkMonitor wnm1 = makeMeteredNetworkMonitor(); final WrappedNetworkMonitor wnm1 = makeCellMeteredNetworkMonitor(); // Don't set the config_evaluating_bandwidth_url to make // the condition check fail in needEvaluatingBandwidth(). assertFalse(wnm1.needEvaluatingBandwidth()); Loading @@ -659,7 +660,7 @@ public class NetworkMonitorTest { // All configurations are set correctly. doReturn(TEST_SPEED_TEST_URL).when(mResources).getString( R.string.config_evaluating_bandwidth_url); final WrappedNetworkMonitor wnm2 = makeMeteredNetworkMonitor(); final WrappedNetworkMonitor wnm2 = makeCellMeteredNetworkMonitor(); setNetworkCapabilities(wnm2, nc); assertTrue(wnm2.needEvaluatingBandwidth()); // Set mIsBandwidthCheckPassedOrIgnored to true and expect needEvaluatingBandwidth() will Loading Loading @@ -721,7 +722,7 @@ public class NetworkMonitorTest { @Test public void testMatchesHttpContent() throws Exception { final WrappedNetworkMonitor wnm = makeNotMeteredNetworkMonitor(); final WrappedNetworkMonitor wnm = makeCellNotMeteredNetworkMonitor(); doReturn("[\\s\\S]*line2[\\s\\S]*").when(mResources).getString( R.string.config_network_validation_failed_content_regexp); assertTrue(wnm.matchesHttpContent("This is line1\nThis is line2\nThis is line3", Loading @@ -738,7 +739,7 @@ public class NetworkMonitorTest { @Test public void testMatchesHttpContentLength() throws Exception { final WrappedNetworkMonitor wnm = makeNotMeteredNetworkMonitor(); final WrappedNetworkMonitor wnm = makeCellNotMeteredNetworkMonitor(); // Set the range of content length. doReturn(100).when(mResources).getInteger(R.integer.config_min_matches_http_content_length); doReturn(1000).when(mResources).getInteger( Loading @@ -765,7 +766,7 @@ public class NetworkMonitorTest { @Test public void testGetResStringConfig() throws Exception { final WrappedNetworkMonitor wnm = makeNotMeteredNetworkMonitor(); final WrappedNetworkMonitor wnm = makeCellNotMeteredNetworkMonitor(); // Set the config and expect to get the customized value. final String regExp = ".*HTTP.*200.*not a captive portal.*"; doReturn(regExp).when(mResources).getString( Loading @@ -781,7 +782,7 @@ public class NetworkMonitorTest { @Test public void testGetResIntConfig() throws Exception { final WrappedNetworkMonitor wnm = makeNotMeteredNetworkMonitor(); final WrappedNetworkMonitor wnm = makeCellNotMeteredNetworkMonitor(); // Set the config and expect to get the customized value. doReturn(100).when(mResources).getInteger(R.integer.config_min_matches_http_content_length); doReturn(1000).when(mResources).getInteger( Loading @@ -804,7 +805,7 @@ public class NetworkMonitorTest { @Test public void testGetHttpProbeUrl() { final WrappedNetworkMonitor wnm = makeNotMeteredNetworkMonitor(); final WrappedNetworkMonitor wnm = makeCellNotMeteredNetworkMonitor(); // If config_captive_portal_http_url is set and the global setting is set, the config is // used. doReturn(TEST_HTTP_URL).when(mResources).getString(R.string.config_captive_portal_http_url); Loading @@ -826,7 +827,7 @@ public class NetworkMonitorTest { @Test public void testGetLocationMcc() throws Exception { final WrappedNetworkMonitor wnm = makeNotMeteredNetworkMonitor(); final WrappedNetworkMonitor wnm = makeCellNotMeteredNetworkMonitor(); doReturn(PackageManager.PERMISSION_DENIED).when(mContext).checkPermission( eq(android.Manifest.permission.ACCESS_FINE_LOCATION), anyInt(), anyInt()); assertNull(wnm.getLocationMcc()); Loading Loading @@ -854,7 +855,7 @@ public class NetworkMonitorTest { @Test public void testGetMccMncOverrideInfo() { final WrappedNetworkMonitor wnm = makeNotMeteredNetworkMonitor(); final WrappedNetworkMonitor wnm = makeCellNotMeteredNetworkMonitor(); doReturn(new ContextWrapper(mContext)).when(mContext).createConfigurationContext(any()); // 1839 is VZW's carrier id. doReturn(1839).when(mTelephony).getSimCarrierId(); Loading Loading @@ -891,7 +892,7 @@ public class NetworkMonitorTest { @Test public void testMakeFallbackUrls() throws Exception { final WrappedNetworkMonitor wnm = makeNotMeteredNetworkMonitor(); final WrappedNetworkMonitor wnm = makeCellNotMeteredNetworkMonitor(); // Value exist in setting provider. URL[] urls = wnm.makeCaptivePortalFallbackUrls(); assertEquals(urls[0].toString(), TEST_FALLBACK_URL); Loading Loading @@ -963,7 +964,7 @@ public class NetworkMonitorTest { @Test public void testGetIntSetting() throws Exception { WrappedNetworkMonitor wnm = makeNotMeteredNetworkMonitor(); WrappedNetworkMonitor wnm = makeCellNotMeteredNetworkMonitor(); // No config resource, no device config. Expect to get default resource. doThrow(new Resources.NotFoundException()) Loading Loading @@ -1124,7 +1125,7 @@ public class NetworkMonitorTest { + "'bytes-remaining': " + bytesRemaining + "," + "'seconds-remaining': " + secondsRemaining + "}"); runNetworkTest(makeCapportLPs(), METERED_CAPABILITIES, VALIDATION_RESULT_PORTAL, runNetworkTest(makeCapportLPs(), CELL_METERED_CAPABILITIES, VALIDATION_RESULT_PORTAL, 0 /* probesSucceeded*/, TEST_LOGIN_URL); verify(mHttpConnection, never()).getResponseCode(); Loading Loading @@ -1173,7 +1174,7 @@ public class NetworkMonitorTest { setStatus(mHttpConnection, 500); setApiContent(mCapportApiConnection, "{'captive': false," + "'venue-info-url': '" + TEST_VENUE_INFO_URL + "'}"); runNetworkTest(makeCapportLPs(), METERED_CAPABILITIES, VALIDATION_RESULT_INVALID, runNetworkTest(makeCapportLPs(), CELL_METERED_CAPABILITIES, VALIDATION_RESULT_INVALID, 0 /* probesSucceeded */, null /* redirectUrl */); final ArgumentCaptor<CaptivePortalData> capportCaptor = ArgumentCaptor.forClass( Loading @@ -1189,7 +1190,7 @@ public class NetworkMonitorTest { setStatus(mHttpConnection, 204); setApiContent(mCapportApiConnection, "{'captive': false," + "'venue-info-url': '" + TEST_VENUE_INFO_URL + "'}"); runNetworkTest(makeCapportLPs(), METERED_CAPABILITIES, runNetworkTest(makeCapportLPs(), CELL_METERED_CAPABILITIES, NETWORK_VALIDATION_RESULT_PARTIAL, NETWORK_VALIDATION_PROBE_DNS | NETWORK_VALIDATION_PROBE_HTTP, null /* redirectUrl */); Loading @@ -1207,7 +1208,7 @@ public class NetworkMonitorTest { setStatus(mHttpConnection, 204); setApiContent(mCapportApiConnection, "{'captive': false," + "'venue-info-url': '" + TEST_VENUE_INFO_URL + "'}"); runNetworkTest(makeCapportLPs(), METERED_CAPABILITIES, runNetworkTest(makeCapportLPs(), CELL_METERED_CAPABILITIES, NETWORK_VALIDATION_RESULT_VALID, NETWORK_VALIDATION_PROBE_DNS | NETWORK_VALIDATION_PROBE_HTTP | NETWORK_VALIDATION_PROBE_HTTPS, Loading @@ -1225,7 +1226,7 @@ public class NetworkMonitorTest { setStatus(mHttpsConnection, 204); setPortal302(mHttpConnection); setApiContent(mCapportApiConnection, "{SomeInvalidText"); runNetworkTest(makeCapportLPs(), METERED_CAPABILITIES, runNetworkTest(makeCapportLPs(), CELL_METERED_CAPABILITIES, VALIDATION_RESULT_PORTAL, 0 /* probesSucceeded */, TEST_LOGIN_URL); Loading @@ -1242,7 +1243,7 @@ public class NetworkMonitorTest { setPortal302(mHttpConnection); setApiContent(mCapportApiConnection, "{'captive': false," + "'venue-info-url': '" + TEST_VENUE_INFO_URL + "'}"); runNetworkTest(makeCapportLPs(), METERED_CAPABILITIES, VALIDATION_RESULT_PORTAL, runNetworkTest(makeCapportLPs(), CELL_METERED_CAPABILITIES, VALIDATION_RESULT_PORTAL, 0 /* probesSucceeded */, TEST_LOGIN_URL); Loading Loading @@ -1404,14 +1405,14 @@ public class NetworkMonitorTest { @Test public void testIsDataStall_EvaluationDisabled() { setDataStallEvaluationType(0); WrappedNetworkMonitor wrappedMonitor = makeMeteredNetworkMonitor(); WrappedNetworkMonitor wrappedMonitor = makeCellMeteredNetworkMonitor(); wrappedMonitor.setLastProbeTime(SystemClock.elapsedRealtime() - 100); assertFalse(wrappedMonitor.isDataStall()); } @Test public void testIsDataStall_EvaluationDnsOnNotMeteredNetwork() throws Exception { WrappedNetworkMonitor wrappedMonitor = makeNotMeteredNetworkMonitor(); WrappedNetworkMonitor wrappedMonitor = makeCellNotMeteredNetworkMonitor(); wrappedMonitor.setLastProbeTime(SystemClock.elapsedRealtime() - 100); makeDnsTimeoutEvent(wrappedMonitor, DEFAULT_DNS_TIMEOUT_THRESHOLD); assertTrue(wrappedMonitor.isDataStall()); Loading @@ -1421,7 +1422,7 @@ public class NetworkMonitorTest { @Test public void testIsDataStall_EvaluationDnsOnMeteredNetwork() throws Exception { WrappedNetworkMonitor wrappedMonitor = makeMeteredNetworkMonitor(); WrappedNetworkMonitor wrappedMonitor = makeCellMeteredNetworkMonitor(); wrappedMonitor.setLastProbeTime(SystemClock.elapsedRealtime() - 100); assertFalse(wrappedMonitor.isDataStall()); Loading @@ -1434,7 +1435,7 @@ public class NetworkMonitorTest { @Test public void testIsDataStall_EvaluationDnsWithDnsTimeoutCount() throws Exception { WrappedNetworkMonitor wrappedMonitor = makeMeteredNetworkMonitor(); WrappedNetworkMonitor wrappedMonitor = makeCellMeteredNetworkMonitor(); wrappedMonitor.setLastProbeTime(SystemClock.elapsedRealtime() - 1000); makeDnsTimeoutEvent(wrappedMonitor, 3); assertFalse(wrappedMonitor.isDataStall()); Loading @@ -1452,7 +1453,7 @@ public class NetworkMonitorTest { // Set the value to larger than the default dns log size. setConsecutiveDnsTimeoutThreshold(51); wrappedMonitor = makeMeteredNetworkMonitor(); wrappedMonitor = makeCellMeteredNetworkMonitor(); wrappedMonitor.setLastProbeTime(SystemClock.elapsedRealtime() - 1000); makeDnsTimeoutEvent(wrappedMonitor, 50); assertFalse(wrappedMonitor.isDataStall()); Loading @@ -1472,7 +1473,7 @@ public class NetworkMonitorTest { when(mTstDependencies.isTcpInfoParsingSupported()).thenReturn(true); when(mTst.getLatestReceivedCount()).thenReturn(0); when(mTst.isDataStallSuspected()).thenReturn(true); final WrappedNetworkMonitor nm = makeMonitor(NO_INTERNET_CAPABILITIES); final WrappedNetworkMonitor nm = makeMonitor(CELL_NO_INTERNET_CAPABILITIES); nm.setLastProbeTime(SystemClock.elapsedRealtime() - 1000); makeDnsTimeoutEvent(nm, DEFAULT_DNS_TIMEOUT_THRESHOLD); assertFalse(nm.isDataStall()); Loading @@ -1481,7 +1482,7 @@ public class NetworkMonitorTest { @Test public void testIsDataStall_EvaluationDnsWithDnsTimeThreshold() throws Exception { // Test dns events happened in valid dns time threshold. WrappedNetworkMonitor wrappedMonitor = makeMeteredNetworkMonitor(); WrappedNetworkMonitor wrappedMonitor = makeCellMeteredNetworkMonitor(); wrappedMonitor.setLastProbeTime(SystemClock.elapsedRealtime() - 100); makeDnsTimeoutEvent(wrappedMonitor, DEFAULT_DNS_TIMEOUT_THRESHOLD); assertFalse(wrappedMonitor.isDataStall()); Loading @@ -1492,7 +1493,7 @@ public class NetworkMonitorTest { // Test dns events happened before valid dns time threshold. setValidDataStallDnsTimeThreshold(0); wrappedMonitor = makeMeteredNetworkMonitor(); wrappedMonitor = makeCellMeteredNetworkMonitor(); wrappedMonitor.setLastProbeTime(SystemClock.elapsedRealtime() - 100); makeDnsTimeoutEvent(wrappedMonitor, DEFAULT_DNS_TIMEOUT_THRESHOLD); assertFalse(wrappedMonitor.isDataStall()); Loading @@ -1504,7 +1505,7 @@ public class NetworkMonitorTest { public void testIsDataStall_EvaluationTcp() throws Exception { // Evaluate TCP only. Expect ignoring DNS signal. setDataStallEvaluationType(DATA_STALL_EVALUATION_TYPE_TCP); WrappedNetworkMonitor wrappedMonitor = makeMonitor(METERED_CAPABILITIES); WrappedNetworkMonitor wrappedMonitor = makeMonitor(CELL_METERED_CAPABILITIES); assertFalse(wrappedMonitor.isDataStall()); // Packet received. when(mTstDependencies.isTcpInfoParsingSupported()).thenReturn(true); Loading @@ -1529,7 +1530,7 @@ public class NetworkMonitorTest { public void testIsDataStall_DisableTcp() { // Disable tcp detection with only DNS detect. keep the tcp signal but set to no DNS signal. setDataStallEvaluationType(DATA_STALL_EVALUATION_TYPE_DNS); WrappedNetworkMonitor wrappedMonitor = makeMonitor(METERED_CAPABILITIES); WrappedNetworkMonitor wrappedMonitor = makeMonitor(CELL_METERED_CAPABILITIES); makeDnsSuccessEvent(wrappedMonitor, 1); wrappedMonitor.sendTcpPollingEvent(); HandlerUtilsKt.waitForIdle(wrappedMonitor.getHandler(), HANDLER_TIMEOUT_MS); Loading @@ -1549,7 +1550,7 @@ public class NetworkMonitorTest { @Test public void testNoInternetCapabilityValidated() throws Exception { runNetworkTest(TEST_LINK_PROPERTIES, NO_INTERNET_CAPABILITIES, runNetworkTest(TEST_LINK_PROPERTIES, CELL_NO_INTERNET_CAPABILITIES, NETWORK_VALIDATION_RESULT_VALID, 0 /* probesSucceeded */, null /* redirectUrl */); verify(mCleartextDnsNetwork, never()).openConnection(any()); } Loading @@ -1559,8 +1560,8 @@ public class NetworkMonitorTest { setSslException(mHttpsConnection); setPortal302(mHttpConnection); when(mHttpConnection.getHeaderField(eq("location"))).thenReturn(TEST_LOGIN_URL); final NetworkMonitor nm = makeMonitor(METERED_CAPABILITIES); notifyNetworkConnected(nm, METERED_CAPABILITIES); final NetworkMonitor nm = makeMonitor(CELL_METERED_CAPABILITIES); notifyNetworkConnected(nm, CELL_METERED_CAPABILITIES); verify(mCallbacks, timeout(HANDLER_TIMEOUT_MS).times(1)) .showProvisioningNotification(any(), any()); Loading Loading @@ -1606,10 +1607,10 @@ public class NetworkMonitorTest { // Verify dns query only get v6 address. mFakeDns.setAnswer("dns6.google", new String[]{"2001:db8::53"}, TYPE_AAAA); WrappedNetworkMonitor wnm = makeNotMeteredNetworkMonitor(); WrappedNetworkMonitor wnm = makeCellNotMeteredNetworkMonitor(); wnm.notifyPrivateDnsSettingsChanged(new PrivateDnsConfig("dns6.google", new InetAddress[0])); notifyNetworkConnected(wnm, NOT_METERED_CAPABILITIES); notifyNetworkConnected(wnm, CELL_NOT_METERED_CAPABILITIES); verifyNetworkTested(NETWORK_VALIDATION_RESULT_VALID, PROBES_PRIVDNS_VALID); verify(mCallbacks, timeout(HANDLER_TIMEOUT_MS).times(1)).notifyProbeStatusChanged( eq(PROBES_PRIVDNS_VALID), eq(PROBES_PRIVDNS_VALID)); Loading Loading @@ -1641,9 +1642,9 @@ public class NetworkMonitorTest { setStatus(mHttpsConnection, 204); setStatus(mHttpConnection, 204); WrappedNetworkMonitor wnm = makeNotMeteredNetworkMonitor(); WrappedNetworkMonitor wnm = makeCellNotMeteredNetworkMonitor(); wnm.notifyPrivateDnsSettingsChanged(new PrivateDnsConfig("dns.google", new InetAddress[0])); wnm.notifyNetworkConnected(TEST_LINK_PROPERTIES, NOT_METERED_CAPABILITIES); wnm.notifyNetworkConnected(TEST_LINK_PROPERTIES, CELL_NOT_METERED_CAPABILITIES); verifyNetworkTested(VALIDATION_RESULT_INVALID, NETWORK_VALIDATION_PROBE_DNS | NETWORK_VALIDATION_PROBE_HTTPS); verify(mCallbacks, timeout(HANDLER_TIMEOUT_MS)).notifyProbeStatusChanged( Loading @@ -1668,9 +1669,9 @@ public class NetworkMonitorTest { setStatus(mHttpsConnection, 204); setStatus(mHttpConnection, 204); WrappedNetworkMonitor wnm = makeNotMeteredNetworkMonitor(); WrappedNetworkMonitor wnm = makeCellNotMeteredNetworkMonitor(); wnm.notifyPrivateDnsSettingsChanged(new PrivateDnsConfig("dns.google", new InetAddress[0])); wnm.notifyNetworkConnected(TEST_LINK_PROPERTIES, NOT_METERED_CAPABILITIES); wnm.notifyNetworkConnected(TEST_LINK_PROPERTIES, CELL_NOT_METERED_CAPABILITIES); verifyNetworkTested(VALIDATION_RESULT_INVALID, NETWORK_VALIDATION_PROBE_DNS | NETWORK_VALIDATION_PROBE_HTTPS); verify(mCallbacks, timeout(HANDLER_TIMEOUT_MS).times(1)).notifyProbeStatusChanged( Loading Loading @@ -1729,8 +1730,8 @@ public class NetworkMonitorTest { // Connect a VALID network to simulate the data stall detection because data stall // evaluation will only start from validated state. setStatus(mHttpsConnection, 204); WrappedNetworkMonitor wrappedMonitor = makeNotMeteredNetworkMonitor(); wrappedMonitor.notifyNetworkConnected(TEST_LINK_PROPERTIES, METERED_CAPABILITIES); WrappedNetworkMonitor wrappedMonitor = makeCellNotMeteredNetworkMonitor(); wrappedMonitor.notifyNetworkConnected(TEST_LINK_PROPERTIES, CELL_METERED_CAPABILITIES); verifyNetworkTested(NETWORK_VALIDATION_RESULT_VALID, NETWORK_VALIDATION_PROBE_DNS | NETWORK_VALIDATION_PROBE_HTTPS); // Setup dns data stall signal. Loading Loading @@ -1758,8 +1759,8 @@ public class NetworkMonitorTest { // Connect a VALID network to simulate the data stall detection because data stall // evaluation will only start from validated state. setStatus(mHttpsConnection, 204); WrappedNetworkMonitor wrappedMonitor = makeNotMeteredNetworkMonitor(); wrappedMonitor.notifyNetworkConnected(TEST_LINK_PROPERTIES, METERED_CAPABILITIES); WrappedNetworkMonitor wrappedMonitor = makeCellNotMeteredNetworkMonitor(); wrappedMonitor.notifyNetworkConnected(TEST_LINK_PROPERTIES, CELL_METERED_CAPABILITIES); verifyNetworkTested(NETWORK_VALIDATION_RESULT_VALID, NETWORK_VALIDATION_PROBE_DNS | NETWORK_VALIDATION_PROBE_HTTPS); // Setup no data stall dns signal. Loading @@ -1773,7 +1774,7 @@ public class NetworkMonitorTest { @Test public void testCollectDataStallMetrics() { WrappedNetworkMonitor wrappedMonitor = makeNotMeteredNetworkMonitor(); WrappedNetworkMonitor wrappedMonitor = makeCellNotMeteredNetworkMonitor(); when(mTelephony.getDataNetworkType()).thenReturn(TelephonyManager.NETWORK_TYPE_LTE); when(mTelephony.getNetworkOperator()).thenReturn(TEST_MCCMNC); Loading Loading @@ -1848,7 +1849,7 @@ public class NetworkMonitorTest { @Test public void testSendDnsProbeWithTimeout() throws Exception { WrappedNetworkMonitor wnm = makeNotMeteredNetworkMonitor(); WrappedNetworkMonitor wnm = makeCellNotMeteredNetworkMonitor(); final int shortTimeoutMs = 200; // v6 only. String[] expected = new String[]{"2001:db8::"}; Loading Loading @@ -1909,8 +1910,8 @@ public class NetworkMonitorTest { // Trigger Network validation setStatus(mHttpsConnection, 204); setStatus(mHttpConnection, 204); final NetworkMonitor nm = makeMonitor(METERED_CAPABILITIES); nm.notifyNetworkConnected(TEST_LINK_PROPERTIES, METERED_CAPABILITIES); final NetworkMonitor nm = makeMonitor(CELL_METERED_CAPABILITIES); nm.notifyNetworkConnected(TEST_LINK_PROPERTIES, CELL_METERED_CAPABILITIES); verify(mCallbacks, timeout(HANDLER_TIMEOUT_MS)) .notifyNetworkTested(eq(NETWORK_VALIDATION_RESULT_VALID Loading @@ -1935,8 +1936,8 @@ public class NetworkMonitorTest { setSslException(mHttpsConnection); setPortal302(mHttpConnection); when(mHttpConnection.getHeaderField(eq("location"))).thenReturn(TEST_LOGIN_URL); final NetworkMonitor nm = makeMonitor(METERED_CAPABILITIES); notifyNetworkConnected(nm, METERED_CAPABILITIES); final NetworkMonitor nm = makeMonitor(CELL_METERED_CAPABILITIES); notifyNetworkConnected(nm, CELL_METERED_CAPABILITIES); verify(mCallbacks, timeout(HANDLER_TIMEOUT_MS).times(1)) .showProvisioningNotification(any(), any()); Loading Loading @@ -2067,7 +2068,7 @@ public class NetworkMonitorTest { @Test public void testReadAsString_StreamShorterThanLimit() throws Exception { final WrappedNetworkMonitor wnm = makeNotMeteredNetworkMonitor(); final WrappedNetworkMonitor wnm = makeCellNotMeteredNetworkMonitor(); final byte[] content = "The HTTP response code is 200 but it is not a captive portal." .getBytes(StandardCharsets.UTF_8); assertEquals(new String(content), wnm.readAsString(new ByteArrayInputStream(content), Loading Loading @@ -2241,7 +2242,7 @@ public class NetworkMonitorTest { private NetworkMonitor runNetworkTest(int testResult, int probesSucceeded, String redirectUrl) throws RemoteException { return runNetworkTest(TEST_LINK_PROPERTIES, METERED_CAPABILITIES, testResult, return runNetworkTest(TEST_LINK_PROPERTIES, CELL_METERED_CAPABILITIES, testResult, probesSucceeded, redirectUrl); } Loading Loading
tests/unit/src/com/android/server/connectivity/NetworkMonitorTest.java +61 −60 Original line number Diff line number Diff line Loading @@ -276,17 +276,18 @@ public class NetworkMonitorTest { return lp; } private static final NetworkCapabilities METERED_CAPABILITIES = new NetworkCapabilities() private static final NetworkCapabilities CELL_METERED_CAPABILITIES = new NetworkCapabilities() .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR) .addCapability(NET_CAPABILITY_INTERNET); private static final NetworkCapabilities NOT_METERED_CAPABILITIES = new NetworkCapabilities() private static final NetworkCapabilities CELL_NOT_METERED_CAPABILITIES = new NetworkCapabilities() .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR) .addCapability(NET_CAPABILITY_INTERNET) .addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_METERED); private static final NetworkCapabilities NO_INTERNET_CAPABILITIES = new NetworkCapabilities() .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR); private static final NetworkCapabilities CELL_NO_INTERNET_CAPABILITIES = new NetworkCapabilities().addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR); /** * Fakes DNS responses. Loading Loading @@ -609,13 +610,13 @@ public class NetworkMonitorTest { return nm; } private WrappedNetworkMonitor makeMeteredNetworkMonitor() { final WrappedNetworkMonitor nm = makeMonitor(METERED_CAPABILITIES); private WrappedNetworkMonitor makeCellMeteredNetworkMonitor() { final WrappedNetworkMonitor nm = makeMonitor(CELL_METERED_CAPABILITIES); return nm; } private WrappedNetworkMonitor makeNotMeteredNetworkMonitor() { final WrappedNetworkMonitor nm = makeMonitor(NOT_METERED_CAPABILITIES); private WrappedNetworkMonitor makeCellNotMeteredNetworkMonitor() { final WrappedNetworkMonitor nm = makeMonitor(CELL_NOT_METERED_CAPABILITIES); return nm; } Loading @@ -626,7 +627,7 @@ public class NetworkMonitorTest { @Test public void testOnlyWifiTransport() { final WrappedNetworkMonitor wnm = makeMeteredNetworkMonitor(); final WrappedNetworkMonitor wnm = makeCellMeteredNetworkMonitor(); final NetworkCapabilities nc = new NetworkCapabilities() .addTransportType(TRANSPORT_WIFI) .addTransportType(TRANSPORT_VPN); Loading @@ -641,7 +642,7 @@ public class NetworkMonitorTest { public void testNeedEvaluatingBandwidth() throws Exception { // Make metered network first, the transport type is TRANSPORT_CELLULAR. That means the // test cannot pass the condition check in needEvaluatingBandwidth(). final WrappedNetworkMonitor wnm1 = makeMeteredNetworkMonitor(); final WrappedNetworkMonitor wnm1 = makeCellMeteredNetworkMonitor(); // Don't set the config_evaluating_bandwidth_url to make // the condition check fail in needEvaluatingBandwidth(). assertFalse(wnm1.needEvaluatingBandwidth()); Loading @@ -659,7 +660,7 @@ public class NetworkMonitorTest { // All configurations are set correctly. doReturn(TEST_SPEED_TEST_URL).when(mResources).getString( R.string.config_evaluating_bandwidth_url); final WrappedNetworkMonitor wnm2 = makeMeteredNetworkMonitor(); final WrappedNetworkMonitor wnm2 = makeCellMeteredNetworkMonitor(); setNetworkCapabilities(wnm2, nc); assertTrue(wnm2.needEvaluatingBandwidth()); // Set mIsBandwidthCheckPassedOrIgnored to true and expect needEvaluatingBandwidth() will Loading Loading @@ -721,7 +722,7 @@ public class NetworkMonitorTest { @Test public void testMatchesHttpContent() throws Exception { final WrappedNetworkMonitor wnm = makeNotMeteredNetworkMonitor(); final WrappedNetworkMonitor wnm = makeCellNotMeteredNetworkMonitor(); doReturn("[\\s\\S]*line2[\\s\\S]*").when(mResources).getString( R.string.config_network_validation_failed_content_regexp); assertTrue(wnm.matchesHttpContent("This is line1\nThis is line2\nThis is line3", Loading @@ -738,7 +739,7 @@ public class NetworkMonitorTest { @Test public void testMatchesHttpContentLength() throws Exception { final WrappedNetworkMonitor wnm = makeNotMeteredNetworkMonitor(); final WrappedNetworkMonitor wnm = makeCellNotMeteredNetworkMonitor(); // Set the range of content length. doReturn(100).when(mResources).getInteger(R.integer.config_min_matches_http_content_length); doReturn(1000).when(mResources).getInteger( Loading @@ -765,7 +766,7 @@ public class NetworkMonitorTest { @Test public void testGetResStringConfig() throws Exception { final WrappedNetworkMonitor wnm = makeNotMeteredNetworkMonitor(); final WrappedNetworkMonitor wnm = makeCellNotMeteredNetworkMonitor(); // Set the config and expect to get the customized value. final String regExp = ".*HTTP.*200.*not a captive portal.*"; doReturn(regExp).when(mResources).getString( Loading @@ -781,7 +782,7 @@ public class NetworkMonitorTest { @Test public void testGetResIntConfig() throws Exception { final WrappedNetworkMonitor wnm = makeNotMeteredNetworkMonitor(); final WrappedNetworkMonitor wnm = makeCellNotMeteredNetworkMonitor(); // Set the config and expect to get the customized value. doReturn(100).when(mResources).getInteger(R.integer.config_min_matches_http_content_length); doReturn(1000).when(mResources).getInteger( Loading @@ -804,7 +805,7 @@ public class NetworkMonitorTest { @Test public void testGetHttpProbeUrl() { final WrappedNetworkMonitor wnm = makeNotMeteredNetworkMonitor(); final WrappedNetworkMonitor wnm = makeCellNotMeteredNetworkMonitor(); // If config_captive_portal_http_url is set and the global setting is set, the config is // used. doReturn(TEST_HTTP_URL).when(mResources).getString(R.string.config_captive_portal_http_url); Loading @@ -826,7 +827,7 @@ public class NetworkMonitorTest { @Test public void testGetLocationMcc() throws Exception { final WrappedNetworkMonitor wnm = makeNotMeteredNetworkMonitor(); final WrappedNetworkMonitor wnm = makeCellNotMeteredNetworkMonitor(); doReturn(PackageManager.PERMISSION_DENIED).when(mContext).checkPermission( eq(android.Manifest.permission.ACCESS_FINE_LOCATION), anyInt(), anyInt()); assertNull(wnm.getLocationMcc()); Loading Loading @@ -854,7 +855,7 @@ public class NetworkMonitorTest { @Test public void testGetMccMncOverrideInfo() { final WrappedNetworkMonitor wnm = makeNotMeteredNetworkMonitor(); final WrappedNetworkMonitor wnm = makeCellNotMeteredNetworkMonitor(); doReturn(new ContextWrapper(mContext)).when(mContext).createConfigurationContext(any()); // 1839 is VZW's carrier id. doReturn(1839).when(mTelephony).getSimCarrierId(); Loading Loading @@ -891,7 +892,7 @@ public class NetworkMonitorTest { @Test public void testMakeFallbackUrls() throws Exception { final WrappedNetworkMonitor wnm = makeNotMeteredNetworkMonitor(); final WrappedNetworkMonitor wnm = makeCellNotMeteredNetworkMonitor(); // Value exist in setting provider. URL[] urls = wnm.makeCaptivePortalFallbackUrls(); assertEquals(urls[0].toString(), TEST_FALLBACK_URL); Loading Loading @@ -963,7 +964,7 @@ public class NetworkMonitorTest { @Test public void testGetIntSetting() throws Exception { WrappedNetworkMonitor wnm = makeNotMeteredNetworkMonitor(); WrappedNetworkMonitor wnm = makeCellNotMeteredNetworkMonitor(); // No config resource, no device config. Expect to get default resource. doThrow(new Resources.NotFoundException()) Loading Loading @@ -1124,7 +1125,7 @@ public class NetworkMonitorTest { + "'bytes-remaining': " + bytesRemaining + "," + "'seconds-remaining': " + secondsRemaining + "}"); runNetworkTest(makeCapportLPs(), METERED_CAPABILITIES, VALIDATION_RESULT_PORTAL, runNetworkTest(makeCapportLPs(), CELL_METERED_CAPABILITIES, VALIDATION_RESULT_PORTAL, 0 /* probesSucceeded*/, TEST_LOGIN_URL); verify(mHttpConnection, never()).getResponseCode(); Loading Loading @@ -1173,7 +1174,7 @@ public class NetworkMonitorTest { setStatus(mHttpConnection, 500); setApiContent(mCapportApiConnection, "{'captive': false," + "'venue-info-url': '" + TEST_VENUE_INFO_URL + "'}"); runNetworkTest(makeCapportLPs(), METERED_CAPABILITIES, VALIDATION_RESULT_INVALID, runNetworkTest(makeCapportLPs(), CELL_METERED_CAPABILITIES, VALIDATION_RESULT_INVALID, 0 /* probesSucceeded */, null /* redirectUrl */); final ArgumentCaptor<CaptivePortalData> capportCaptor = ArgumentCaptor.forClass( Loading @@ -1189,7 +1190,7 @@ public class NetworkMonitorTest { setStatus(mHttpConnection, 204); setApiContent(mCapportApiConnection, "{'captive': false," + "'venue-info-url': '" + TEST_VENUE_INFO_URL + "'}"); runNetworkTest(makeCapportLPs(), METERED_CAPABILITIES, runNetworkTest(makeCapportLPs(), CELL_METERED_CAPABILITIES, NETWORK_VALIDATION_RESULT_PARTIAL, NETWORK_VALIDATION_PROBE_DNS | NETWORK_VALIDATION_PROBE_HTTP, null /* redirectUrl */); Loading @@ -1207,7 +1208,7 @@ public class NetworkMonitorTest { setStatus(mHttpConnection, 204); setApiContent(mCapportApiConnection, "{'captive': false," + "'venue-info-url': '" + TEST_VENUE_INFO_URL + "'}"); runNetworkTest(makeCapportLPs(), METERED_CAPABILITIES, runNetworkTest(makeCapportLPs(), CELL_METERED_CAPABILITIES, NETWORK_VALIDATION_RESULT_VALID, NETWORK_VALIDATION_PROBE_DNS | NETWORK_VALIDATION_PROBE_HTTP | NETWORK_VALIDATION_PROBE_HTTPS, Loading @@ -1225,7 +1226,7 @@ public class NetworkMonitorTest { setStatus(mHttpsConnection, 204); setPortal302(mHttpConnection); setApiContent(mCapportApiConnection, "{SomeInvalidText"); runNetworkTest(makeCapportLPs(), METERED_CAPABILITIES, runNetworkTest(makeCapportLPs(), CELL_METERED_CAPABILITIES, VALIDATION_RESULT_PORTAL, 0 /* probesSucceeded */, TEST_LOGIN_URL); Loading @@ -1242,7 +1243,7 @@ public class NetworkMonitorTest { setPortal302(mHttpConnection); setApiContent(mCapportApiConnection, "{'captive': false," + "'venue-info-url': '" + TEST_VENUE_INFO_URL + "'}"); runNetworkTest(makeCapportLPs(), METERED_CAPABILITIES, VALIDATION_RESULT_PORTAL, runNetworkTest(makeCapportLPs(), CELL_METERED_CAPABILITIES, VALIDATION_RESULT_PORTAL, 0 /* probesSucceeded */, TEST_LOGIN_URL); Loading Loading @@ -1404,14 +1405,14 @@ public class NetworkMonitorTest { @Test public void testIsDataStall_EvaluationDisabled() { setDataStallEvaluationType(0); WrappedNetworkMonitor wrappedMonitor = makeMeteredNetworkMonitor(); WrappedNetworkMonitor wrappedMonitor = makeCellMeteredNetworkMonitor(); wrappedMonitor.setLastProbeTime(SystemClock.elapsedRealtime() - 100); assertFalse(wrappedMonitor.isDataStall()); } @Test public void testIsDataStall_EvaluationDnsOnNotMeteredNetwork() throws Exception { WrappedNetworkMonitor wrappedMonitor = makeNotMeteredNetworkMonitor(); WrappedNetworkMonitor wrappedMonitor = makeCellNotMeteredNetworkMonitor(); wrappedMonitor.setLastProbeTime(SystemClock.elapsedRealtime() - 100); makeDnsTimeoutEvent(wrappedMonitor, DEFAULT_DNS_TIMEOUT_THRESHOLD); assertTrue(wrappedMonitor.isDataStall()); Loading @@ -1421,7 +1422,7 @@ public class NetworkMonitorTest { @Test public void testIsDataStall_EvaluationDnsOnMeteredNetwork() throws Exception { WrappedNetworkMonitor wrappedMonitor = makeMeteredNetworkMonitor(); WrappedNetworkMonitor wrappedMonitor = makeCellMeteredNetworkMonitor(); wrappedMonitor.setLastProbeTime(SystemClock.elapsedRealtime() - 100); assertFalse(wrappedMonitor.isDataStall()); Loading @@ -1434,7 +1435,7 @@ public class NetworkMonitorTest { @Test public void testIsDataStall_EvaluationDnsWithDnsTimeoutCount() throws Exception { WrappedNetworkMonitor wrappedMonitor = makeMeteredNetworkMonitor(); WrappedNetworkMonitor wrappedMonitor = makeCellMeteredNetworkMonitor(); wrappedMonitor.setLastProbeTime(SystemClock.elapsedRealtime() - 1000); makeDnsTimeoutEvent(wrappedMonitor, 3); assertFalse(wrappedMonitor.isDataStall()); Loading @@ -1452,7 +1453,7 @@ public class NetworkMonitorTest { // Set the value to larger than the default dns log size. setConsecutiveDnsTimeoutThreshold(51); wrappedMonitor = makeMeteredNetworkMonitor(); wrappedMonitor = makeCellMeteredNetworkMonitor(); wrappedMonitor.setLastProbeTime(SystemClock.elapsedRealtime() - 1000); makeDnsTimeoutEvent(wrappedMonitor, 50); assertFalse(wrappedMonitor.isDataStall()); Loading @@ -1472,7 +1473,7 @@ public class NetworkMonitorTest { when(mTstDependencies.isTcpInfoParsingSupported()).thenReturn(true); when(mTst.getLatestReceivedCount()).thenReturn(0); when(mTst.isDataStallSuspected()).thenReturn(true); final WrappedNetworkMonitor nm = makeMonitor(NO_INTERNET_CAPABILITIES); final WrappedNetworkMonitor nm = makeMonitor(CELL_NO_INTERNET_CAPABILITIES); nm.setLastProbeTime(SystemClock.elapsedRealtime() - 1000); makeDnsTimeoutEvent(nm, DEFAULT_DNS_TIMEOUT_THRESHOLD); assertFalse(nm.isDataStall()); Loading @@ -1481,7 +1482,7 @@ public class NetworkMonitorTest { @Test public void testIsDataStall_EvaluationDnsWithDnsTimeThreshold() throws Exception { // Test dns events happened in valid dns time threshold. WrappedNetworkMonitor wrappedMonitor = makeMeteredNetworkMonitor(); WrappedNetworkMonitor wrappedMonitor = makeCellMeteredNetworkMonitor(); wrappedMonitor.setLastProbeTime(SystemClock.elapsedRealtime() - 100); makeDnsTimeoutEvent(wrappedMonitor, DEFAULT_DNS_TIMEOUT_THRESHOLD); assertFalse(wrappedMonitor.isDataStall()); Loading @@ -1492,7 +1493,7 @@ public class NetworkMonitorTest { // Test dns events happened before valid dns time threshold. setValidDataStallDnsTimeThreshold(0); wrappedMonitor = makeMeteredNetworkMonitor(); wrappedMonitor = makeCellMeteredNetworkMonitor(); wrappedMonitor.setLastProbeTime(SystemClock.elapsedRealtime() - 100); makeDnsTimeoutEvent(wrappedMonitor, DEFAULT_DNS_TIMEOUT_THRESHOLD); assertFalse(wrappedMonitor.isDataStall()); Loading @@ -1504,7 +1505,7 @@ public class NetworkMonitorTest { public void testIsDataStall_EvaluationTcp() throws Exception { // Evaluate TCP only. Expect ignoring DNS signal. setDataStallEvaluationType(DATA_STALL_EVALUATION_TYPE_TCP); WrappedNetworkMonitor wrappedMonitor = makeMonitor(METERED_CAPABILITIES); WrappedNetworkMonitor wrappedMonitor = makeMonitor(CELL_METERED_CAPABILITIES); assertFalse(wrappedMonitor.isDataStall()); // Packet received. when(mTstDependencies.isTcpInfoParsingSupported()).thenReturn(true); Loading @@ -1529,7 +1530,7 @@ public class NetworkMonitorTest { public void testIsDataStall_DisableTcp() { // Disable tcp detection with only DNS detect. keep the tcp signal but set to no DNS signal. setDataStallEvaluationType(DATA_STALL_EVALUATION_TYPE_DNS); WrappedNetworkMonitor wrappedMonitor = makeMonitor(METERED_CAPABILITIES); WrappedNetworkMonitor wrappedMonitor = makeMonitor(CELL_METERED_CAPABILITIES); makeDnsSuccessEvent(wrappedMonitor, 1); wrappedMonitor.sendTcpPollingEvent(); HandlerUtilsKt.waitForIdle(wrappedMonitor.getHandler(), HANDLER_TIMEOUT_MS); Loading @@ -1549,7 +1550,7 @@ public class NetworkMonitorTest { @Test public void testNoInternetCapabilityValidated() throws Exception { runNetworkTest(TEST_LINK_PROPERTIES, NO_INTERNET_CAPABILITIES, runNetworkTest(TEST_LINK_PROPERTIES, CELL_NO_INTERNET_CAPABILITIES, NETWORK_VALIDATION_RESULT_VALID, 0 /* probesSucceeded */, null /* redirectUrl */); verify(mCleartextDnsNetwork, never()).openConnection(any()); } Loading @@ -1559,8 +1560,8 @@ public class NetworkMonitorTest { setSslException(mHttpsConnection); setPortal302(mHttpConnection); when(mHttpConnection.getHeaderField(eq("location"))).thenReturn(TEST_LOGIN_URL); final NetworkMonitor nm = makeMonitor(METERED_CAPABILITIES); notifyNetworkConnected(nm, METERED_CAPABILITIES); final NetworkMonitor nm = makeMonitor(CELL_METERED_CAPABILITIES); notifyNetworkConnected(nm, CELL_METERED_CAPABILITIES); verify(mCallbacks, timeout(HANDLER_TIMEOUT_MS).times(1)) .showProvisioningNotification(any(), any()); Loading Loading @@ -1606,10 +1607,10 @@ public class NetworkMonitorTest { // Verify dns query only get v6 address. mFakeDns.setAnswer("dns6.google", new String[]{"2001:db8::53"}, TYPE_AAAA); WrappedNetworkMonitor wnm = makeNotMeteredNetworkMonitor(); WrappedNetworkMonitor wnm = makeCellNotMeteredNetworkMonitor(); wnm.notifyPrivateDnsSettingsChanged(new PrivateDnsConfig("dns6.google", new InetAddress[0])); notifyNetworkConnected(wnm, NOT_METERED_CAPABILITIES); notifyNetworkConnected(wnm, CELL_NOT_METERED_CAPABILITIES); verifyNetworkTested(NETWORK_VALIDATION_RESULT_VALID, PROBES_PRIVDNS_VALID); verify(mCallbacks, timeout(HANDLER_TIMEOUT_MS).times(1)).notifyProbeStatusChanged( eq(PROBES_PRIVDNS_VALID), eq(PROBES_PRIVDNS_VALID)); Loading Loading @@ -1641,9 +1642,9 @@ public class NetworkMonitorTest { setStatus(mHttpsConnection, 204); setStatus(mHttpConnection, 204); WrappedNetworkMonitor wnm = makeNotMeteredNetworkMonitor(); WrappedNetworkMonitor wnm = makeCellNotMeteredNetworkMonitor(); wnm.notifyPrivateDnsSettingsChanged(new PrivateDnsConfig("dns.google", new InetAddress[0])); wnm.notifyNetworkConnected(TEST_LINK_PROPERTIES, NOT_METERED_CAPABILITIES); wnm.notifyNetworkConnected(TEST_LINK_PROPERTIES, CELL_NOT_METERED_CAPABILITIES); verifyNetworkTested(VALIDATION_RESULT_INVALID, NETWORK_VALIDATION_PROBE_DNS | NETWORK_VALIDATION_PROBE_HTTPS); verify(mCallbacks, timeout(HANDLER_TIMEOUT_MS)).notifyProbeStatusChanged( Loading @@ -1668,9 +1669,9 @@ public class NetworkMonitorTest { setStatus(mHttpsConnection, 204); setStatus(mHttpConnection, 204); WrappedNetworkMonitor wnm = makeNotMeteredNetworkMonitor(); WrappedNetworkMonitor wnm = makeCellNotMeteredNetworkMonitor(); wnm.notifyPrivateDnsSettingsChanged(new PrivateDnsConfig("dns.google", new InetAddress[0])); wnm.notifyNetworkConnected(TEST_LINK_PROPERTIES, NOT_METERED_CAPABILITIES); wnm.notifyNetworkConnected(TEST_LINK_PROPERTIES, CELL_NOT_METERED_CAPABILITIES); verifyNetworkTested(VALIDATION_RESULT_INVALID, NETWORK_VALIDATION_PROBE_DNS | NETWORK_VALIDATION_PROBE_HTTPS); verify(mCallbacks, timeout(HANDLER_TIMEOUT_MS).times(1)).notifyProbeStatusChanged( Loading Loading @@ -1729,8 +1730,8 @@ public class NetworkMonitorTest { // Connect a VALID network to simulate the data stall detection because data stall // evaluation will only start from validated state. setStatus(mHttpsConnection, 204); WrappedNetworkMonitor wrappedMonitor = makeNotMeteredNetworkMonitor(); wrappedMonitor.notifyNetworkConnected(TEST_LINK_PROPERTIES, METERED_CAPABILITIES); WrappedNetworkMonitor wrappedMonitor = makeCellNotMeteredNetworkMonitor(); wrappedMonitor.notifyNetworkConnected(TEST_LINK_PROPERTIES, CELL_METERED_CAPABILITIES); verifyNetworkTested(NETWORK_VALIDATION_RESULT_VALID, NETWORK_VALIDATION_PROBE_DNS | NETWORK_VALIDATION_PROBE_HTTPS); // Setup dns data stall signal. Loading Loading @@ -1758,8 +1759,8 @@ public class NetworkMonitorTest { // Connect a VALID network to simulate the data stall detection because data stall // evaluation will only start from validated state. setStatus(mHttpsConnection, 204); WrappedNetworkMonitor wrappedMonitor = makeNotMeteredNetworkMonitor(); wrappedMonitor.notifyNetworkConnected(TEST_LINK_PROPERTIES, METERED_CAPABILITIES); WrappedNetworkMonitor wrappedMonitor = makeCellNotMeteredNetworkMonitor(); wrappedMonitor.notifyNetworkConnected(TEST_LINK_PROPERTIES, CELL_METERED_CAPABILITIES); verifyNetworkTested(NETWORK_VALIDATION_RESULT_VALID, NETWORK_VALIDATION_PROBE_DNS | NETWORK_VALIDATION_PROBE_HTTPS); // Setup no data stall dns signal. Loading @@ -1773,7 +1774,7 @@ public class NetworkMonitorTest { @Test public void testCollectDataStallMetrics() { WrappedNetworkMonitor wrappedMonitor = makeNotMeteredNetworkMonitor(); WrappedNetworkMonitor wrappedMonitor = makeCellNotMeteredNetworkMonitor(); when(mTelephony.getDataNetworkType()).thenReturn(TelephonyManager.NETWORK_TYPE_LTE); when(mTelephony.getNetworkOperator()).thenReturn(TEST_MCCMNC); Loading Loading @@ -1848,7 +1849,7 @@ public class NetworkMonitorTest { @Test public void testSendDnsProbeWithTimeout() throws Exception { WrappedNetworkMonitor wnm = makeNotMeteredNetworkMonitor(); WrappedNetworkMonitor wnm = makeCellNotMeteredNetworkMonitor(); final int shortTimeoutMs = 200; // v6 only. String[] expected = new String[]{"2001:db8::"}; Loading Loading @@ -1909,8 +1910,8 @@ public class NetworkMonitorTest { // Trigger Network validation setStatus(mHttpsConnection, 204); setStatus(mHttpConnection, 204); final NetworkMonitor nm = makeMonitor(METERED_CAPABILITIES); nm.notifyNetworkConnected(TEST_LINK_PROPERTIES, METERED_CAPABILITIES); final NetworkMonitor nm = makeMonitor(CELL_METERED_CAPABILITIES); nm.notifyNetworkConnected(TEST_LINK_PROPERTIES, CELL_METERED_CAPABILITIES); verify(mCallbacks, timeout(HANDLER_TIMEOUT_MS)) .notifyNetworkTested(eq(NETWORK_VALIDATION_RESULT_VALID Loading @@ -1935,8 +1936,8 @@ public class NetworkMonitorTest { setSslException(mHttpsConnection); setPortal302(mHttpConnection); when(mHttpConnection.getHeaderField(eq("location"))).thenReturn(TEST_LOGIN_URL); final NetworkMonitor nm = makeMonitor(METERED_CAPABILITIES); notifyNetworkConnected(nm, METERED_CAPABILITIES); final NetworkMonitor nm = makeMonitor(CELL_METERED_CAPABILITIES); notifyNetworkConnected(nm, CELL_METERED_CAPABILITIES); verify(mCallbacks, timeout(HANDLER_TIMEOUT_MS).times(1)) .showProvisioningNotification(any(), any()); Loading Loading @@ -2067,7 +2068,7 @@ public class NetworkMonitorTest { @Test public void testReadAsString_StreamShorterThanLimit() throws Exception { final WrappedNetworkMonitor wnm = makeNotMeteredNetworkMonitor(); final WrappedNetworkMonitor wnm = makeCellNotMeteredNetworkMonitor(); final byte[] content = "The HTTP response code is 200 but it is not a captive portal." .getBytes(StandardCharsets.UTF_8); assertEquals(new String(content), wnm.readAsString(new ByteArrayInputStream(content), Loading Loading @@ -2241,7 +2242,7 @@ public class NetworkMonitorTest { private NetworkMonitor runNetworkTest(int testResult, int probesSucceeded, String redirectUrl) throws RemoteException { return runNetworkTest(TEST_LINK_PROPERTIES, METERED_CAPABILITIES, testResult, return runNetworkTest(TEST_LINK_PROPERTIES, CELL_METERED_CAPABILITIES, testResult, probesSucceeded, redirectUrl); } Loading