Rename isStrictMode to better names
"isStrictMode" is a poor name to set whether the private DNS probe succeeded. Test: ConnectivityServiceTest Change-Id: I5d0d7ebabc5791b4b6cb7c1cce54b515d2e7e9d9
This commit is contained in:
committed by
Jean Chalard
parent
a5f1a27069
commit
d8ba034066
@@ -1058,15 +1058,30 @@ public class ConnectivityServiceTest {
|
||||
* @param validated Indicate if network should pretend to be validated.
|
||||
*/
|
||||
public void connect(boolean validated) {
|
||||
connect(validated, true, false /* isStrictMode */);
|
||||
connect(validated, true, false /* privateDnsProbeSent */);
|
||||
}
|
||||
|
||||
/**
|
||||
* Transition this NetworkAgent to CONNECTED state.
|
||||
*
|
||||
* @param validated Indicate if network should pretend to be validated.
|
||||
* Note that if this is true, this method will mock the NetworkMonitor
|
||||
* probes to pretend the network is invalid after it validated once,
|
||||
* so that subsequent attempts (with mNetworkMonitor.forceReevaluation)
|
||||
* will fail unless setNetworkValid is called again manually.
|
||||
* @param hasInternet Indicate if network should pretend to have NET_CAPABILITY_INTERNET.
|
||||
* @param privateDnsProbeSent whether the private DNS probe should be considered to have
|
||||
* been sent, assuming |validated| is true.
|
||||
* If |validated| is false, |privateDnsProbeSent| is not used.
|
||||
* If |validated| is true and |privateDnsProbeSent| is false,
|
||||
* the probe has not been sent.
|
||||
* If |validated| is true and |privateDnsProbeSent| is true,
|
||||
* the probe has been sent and has succeeded. When the NM probes
|
||||
* are mocked to be invalid, private DNS is the reason this
|
||||
* network is invalid ; see @param |validated|.
|
||||
*/
|
||||
public void connect(boolean validated, boolean hasInternet, boolean isStrictMode) {
|
||||
public void connect(boolean validated, boolean hasInternet,
|
||||
boolean privateDnsProbeSent) {
|
||||
final ConditionVariable validatedCv = new ConditionVariable();
|
||||
final ConditionVariable capsChangedCv = new ConditionVariable();
|
||||
final NetworkRequest request = new NetworkRequest.Builder()
|
||||
@@ -1074,7 +1089,7 @@ public class ConnectivityServiceTest {
|
||||
.clearCapabilities()
|
||||
.build();
|
||||
if (validated) {
|
||||
setNetworkValid(isStrictMode);
|
||||
setNetworkValid(privateDnsProbeSent);
|
||||
}
|
||||
final NetworkCallback callback = new NetworkCallback() {
|
||||
public void onCapabilitiesChanged(Network network,
|
||||
@@ -1099,14 +1114,15 @@ public class ConnectivityServiceTest {
|
||||
if (validated) {
|
||||
// Wait for network to validate.
|
||||
waitFor(validatedCv);
|
||||
setNetworkInvalid(isStrictMode);
|
||||
setNetworkInvalid(privateDnsProbeSent);
|
||||
}
|
||||
mCm.unregisterNetworkCallback(callback);
|
||||
}
|
||||
|
||||
public void connectWithCaptivePortal(String redirectUrl, boolean isStrictMode) {
|
||||
setNetworkPortal(redirectUrl, isStrictMode);
|
||||
connect(false, true /* hasInternet */, isStrictMode);
|
||||
public void connectWithCaptivePortal(String redirectUrl,
|
||||
boolean privateDnsProbeSent) {
|
||||
setNetworkPortal(redirectUrl, privateDnsProbeSent);
|
||||
connect(false, true /* hasInternet */, privateDnsProbeSent);
|
||||
}
|
||||
|
||||
public void connectWithPartialConnectivity() {
|
||||
@@ -1114,16 +1130,16 @@ public class ConnectivityServiceTest {
|
||||
connect(false);
|
||||
}
|
||||
|
||||
public void connectWithPartialValidConnectivity(boolean isStrictMode) {
|
||||
setNetworkPartialValid(isStrictMode);
|
||||
connect(false, true /* hasInternet */, isStrictMode);
|
||||
public void connectWithPartialValidConnectivity(boolean privateDnsProbeSent) {
|
||||
setNetworkPartialValid(privateDnsProbeSent);
|
||||
connect(false, true /* hasInternet */, privateDnsProbeSent);
|
||||
}
|
||||
|
||||
void setNetworkValid(boolean isStrictMode) {
|
||||
void setNetworkValid(boolean privateDnsProbeSent) {
|
||||
mNmValidationResult = NETWORK_VALIDATION_RESULT_VALID;
|
||||
mNmValidationRedirectUrl = null;
|
||||
int probesSucceeded = NETWORK_VALIDATION_PROBE_DNS | NETWORK_VALIDATION_PROBE_HTTPS;
|
||||
if (isStrictMode) {
|
||||
if (privateDnsProbeSent) {
|
||||
probesSucceeded |= NETWORK_VALIDATION_PROBE_PRIVDNS;
|
||||
}
|
||||
// The probesCompleted equals to probesSucceeded for the case of valid network, so put
|
||||
@@ -1131,15 +1147,16 @@ public class ConnectivityServiceTest {
|
||||
setProbesStatus(probesSucceeded, probesSucceeded);
|
||||
}
|
||||
|
||||
void setNetworkInvalid(boolean isStrictMode) {
|
||||
void setNetworkInvalid(boolean invalidBecauseOfPrivateDns) {
|
||||
mNmValidationResult = VALIDATION_RESULT_INVALID;
|
||||
mNmValidationRedirectUrl = null;
|
||||
int probesCompleted = NETWORK_VALIDATION_PROBE_DNS | NETWORK_VALIDATION_PROBE_HTTPS
|
||||
| NETWORK_VALIDATION_PROBE_HTTP;
|
||||
int probesSucceeded = 0;
|
||||
// If the isStrictMode is true, it means the network is invalid when NetworkMonitor
|
||||
// tried to validate the private DNS but failed.
|
||||
if (isStrictMode) {
|
||||
// If |invalidBecauseOfPrivateDns| is true, it means the network is invalid because
|
||||
// NetworkMonitor tried to validate the private DNS but failed. Therefore it
|
||||
// didn't get a chance to try the HTTP probe.
|
||||
if (invalidBecauseOfPrivateDns) {
|
||||
probesCompleted &= ~NETWORK_VALIDATION_PROBE_HTTP;
|
||||
probesSucceeded = probesCompleted;
|
||||
probesCompleted |= NETWORK_VALIDATION_PROBE_PRIVDNS;
|
||||
@@ -1147,14 +1164,14 @@ public class ConnectivityServiceTest {
|
||||
setProbesStatus(probesCompleted, probesSucceeded);
|
||||
}
|
||||
|
||||
void setNetworkPortal(String redirectUrl, boolean isStrictMode) {
|
||||
setNetworkInvalid(isStrictMode);
|
||||
void setNetworkPortal(String redirectUrl, boolean privateDnsProbeSent) {
|
||||
setNetworkInvalid(privateDnsProbeSent);
|
||||
mNmValidationRedirectUrl = redirectUrl;
|
||||
// Suppose the portal is found when NetworkMonitor probes NETWORK_VALIDATION_PROBE_HTTP
|
||||
// in the beginning, so the NETWORK_VALIDATION_PROBE_HTTPS hasn't probed yet.
|
||||
int probesCompleted = NETWORK_VALIDATION_PROBE_DNS | NETWORK_VALIDATION_PROBE_HTTP;
|
||||
int probesSucceeded = VALIDATION_RESULT_INVALID;
|
||||
if (isStrictMode) {
|
||||
if (privateDnsProbeSent) {
|
||||
probesCompleted |= NETWORK_VALIDATION_PROBE_PRIVDNS;
|
||||
}
|
||||
setProbesStatus(probesCompleted, probesSucceeded);
|
||||
@@ -1169,7 +1186,7 @@ public class ConnectivityServiceTest {
|
||||
setProbesStatus(probesCompleted, probesSucceeded);
|
||||
}
|
||||
|
||||
void setNetworkPartialValid(boolean isStrictMode) {
|
||||
void setNetworkPartialValid(boolean privateDnsProbeSent) {
|
||||
setNetworkPartial();
|
||||
mNmValidationResult |= NETWORK_VALIDATION_RESULT_VALID;
|
||||
mNmValidationRedirectUrl = null;
|
||||
@@ -1178,7 +1195,7 @@ public class ConnectivityServiceTest {
|
||||
int probesSucceeded = NETWORK_VALIDATION_PROBE_DNS | NETWORK_VALIDATION_PROBE_HTTP;
|
||||
// Assume the partial network cannot pass the private DNS validation as well, so only
|
||||
// add NETWORK_VALIDATION_PROBE_DNS in probesCompleted but not probesSucceeded.
|
||||
if (isStrictMode) {
|
||||
if (privateDnsProbeSent) {
|
||||
probesCompleted |= NETWORK_VALIDATION_PROBE_PRIVDNS;
|
||||
}
|
||||
setProbesStatus(probesCompleted, probesSucceeded);
|
||||
@@ -1473,8 +1490,9 @@ public class ConnectivityServiceTest {
|
||||
registerAgent(false /* isAlwaysMetered */, uids, makeLinkProperties());
|
||||
}
|
||||
|
||||
private void connect(boolean validated, boolean hasInternet, boolean isStrictMode) {
|
||||
mMockNetworkAgent.connect(validated, hasInternet, isStrictMode);
|
||||
private void connect(boolean validated, boolean hasInternet,
|
||||
boolean privateDnsProbeSent) {
|
||||
mMockNetworkAgent.connect(validated, hasInternet, privateDnsProbeSent);
|
||||
}
|
||||
|
||||
private void connect(boolean validated) {
|
||||
@@ -1491,10 +1509,10 @@ public class ConnectivityServiceTest {
|
||||
}
|
||||
|
||||
public void establish(LinkProperties lp, int uid, Set<UidRange> ranges, boolean validated,
|
||||
boolean hasInternet, boolean isStrictMode) throws Exception {
|
||||
boolean hasInternet, boolean privateDnsProbeSent) throws Exception {
|
||||
setOwnerAndAdminUid(uid);
|
||||
registerAgent(false, ranges, lp);
|
||||
connect(validated, hasInternet, isStrictMode);
|
||||
connect(validated, hasInternet, privateDnsProbeSent);
|
||||
waitForIdle();
|
||||
}
|
||||
|
||||
@@ -1507,11 +1525,11 @@ public class ConnectivityServiceTest {
|
||||
establish(lp, uid, uidRangesForUids(uid), true, true, false);
|
||||
}
|
||||
|
||||
public void establishForMyUid(boolean validated, boolean hasInternet, boolean isStrictMode)
|
||||
throws Exception {
|
||||
public void establishForMyUid(boolean validated, boolean hasInternet,
|
||||
boolean privateDnsProbeSent) throws Exception {
|
||||
final int uid = Process.myUid();
|
||||
establish(makeLinkProperties(), uid, uidRangesForUids(uid), validated, hasInternet,
|
||||
isStrictMode);
|
||||
privateDnsProbeSent);
|
||||
}
|
||||
|
||||
public void establishForMyUid() throws Exception {
|
||||
@@ -4219,7 +4237,7 @@ public class ConnectivityServiceTest {
|
||||
|
||||
// With HTTPS probe disabled, NetworkMonitor should pass the network validation with http
|
||||
// probe.
|
||||
mWiFiNetworkAgent.setNetworkPartialValid(false /* isStrictMode */);
|
||||
mWiFiNetworkAgent.setNetworkPartialValid(false /* privateDnsProbeSent */);
|
||||
// If the user chooses yes to use this partial connectivity wifi, switch the default
|
||||
// network to wifi and check if wifi becomes valid or not.
|
||||
mCm.setAcceptPartialConnectivity(mWiFiNetworkAgent.getNetwork(), true /* accept */,
|
||||
@@ -4306,7 +4324,7 @@ public class ConnectivityServiceTest {
|
||||
callback.expectCapabilitiesWith(NET_CAPABILITY_PARTIAL_CONNECTIVITY, mWiFiNetworkAgent);
|
||||
expectUnvalidationCheckWillNotNotify(mWiFiNetworkAgent);
|
||||
|
||||
mWiFiNetworkAgent.setNetworkValid(false /* isStrictMode */);
|
||||
mWiFiNetworkAgent.setNetworkValid(false /* privateDnsProbeSent */);
|
||||
|
||||
// Need a trigger point to let NetworkMonitor tell ConnectivityService that the network is
|
||||
// validated.
|
||||
@@ -4324,7 +4342,8 @@ public class ConnectivityServiceTest {
|
||||
// NetworkMonitor will immediately (once the HTTPS probe fails...) report the network as
|
||||
// valid, because ConnectivityService calls setAcceptPartialConnectivity before it calls
|
||||
// notifyNetworkConnected.
|
||||
mWiFiNetworkAgent.connectWithPartialValidConnectivity(false /* isStrictMode */);
|
||||
mWiFiNetworkAgent.connectWithPartialValidConnectivity(
|
||||
false /* privateDnsProbeSent */);
|
||||
callback.expectAvailableCallbacksUnvalidated(mWiFiNetworkAgent);
|
||||
verify(mWiFiNetworkAgent.mNetworkMonitor, times(1)).setAcceptPartialConnectivity();
|
||||
callback.expectLosing(mCellNetworkAgent);
|
||||
@@ -4353,7 +4372,8 @@ public class ConnectivityServiceTest {
|
||||
// Expect onAvailable callback of listen for NET_CAPABILITY_CAPTIVE_PORTAL.
|
||||
mWiFiNetworkAgent = new TestNetworkAgentWrapper(TRANSPORT_WIFI);
|
||||
String redirectUrl = "http://android.com/path";
|
||||
mWiFiNetworkAgent.connectWithCaptivePortal(redirectUrl, false /* isStrictMode */);
|
||||
mWiFiNetworkAgent.connectWithCaptivePortal(redirectUrl,
|
||||
false /* privateDnsProbeSent */);
|
||||
wifiCallback.expectAvailableCallbacksUnvalidated(mWiFiNetworkAgent);
|
||||
assertEquals(mWiFiNetworkAgent.waitForRedirectUrl(), redirectUrl);
|
||||
|
||||
@@ -4378,7 +4398,7 @@ public class ConnectivityServiceTest {
|
||||
&& !nc.hasCapability(NET_CAPABILITY_CAPTIVE_PORTAL));
|
||||
|
||||
// Report partial connectivity is accepted.
|
||||
mWiFiNetworkAgent.setNetworkPartialValid(false /* isStrictMode */);
|
||||
mWiFiNetworkAgent.setNetworkPartialValid(false /* privateDnsProbeSent */);
|
||||
mCm.setAcceptPartialConnectivity(mWiFiNetworkAgent.getNetwork(), true /* accept */,
|
||||
false /* always */);
|
||||
waitForIdle();
|
||||
@@ -4408,7 +4428,8 @@ public class ConnectivityServiceTest {
|
||||
// Expect onAvailable callback of listen for NET_CAPABILITY_CAPTIVE_PORTAL.
|
||||
mWiFiNetworkAgent = new TestNetworkAgentWrapper(TRANSPORT_WIFI);
|
||||
String firstRedirectUrl = "http://example.com/firstPath";
|
||||
mWiFiNetworkAgent.connectWithCaptivePortal(firstRedirectUrl, false /* isStrictMode */);
|
||||
mWiFiNetworkAgent.connectWithCaptivePortal(firstRedirectUrl,
|
||||
false /* privateDnsProbeSent */);
|
||||
captivePortalCallback.expectAvailableCallbacksUnvalidated(mWiFiNetworkAgent);
|
||||
assertEquals(mWiFiNetworkAgent.waitForRedirectUrl(), firstRedirectUrl);
|
||||
|
||||
@@ -4421,13 +4442,14 @@ public class ConnectivityServiceTest {
|
||||
// Expect onAvailable callback of listen for NET_CAPABILITY_CAPTIVE_PORTAL.
|
||||
mWiFiNetworkAgent = new TestNetworkAgentWrapper(TRANSPORT_WIFI);
|
||||
String secondRedirectUrl = "http://example.com/secondPath";
|
||||
mWiFiNetworkAgent.connectWithCaptivePortal(secondRedirectUrl, false /* isStrictMode */);
|
||||
mWiFiNetworkAgent.connectWithCaptivePortal(secondRedirectUrl,
|
||||
false /* privateDnsProbeSent */);
|
||||
captivePortalCallback.expectAvailableCallbacksUnvalidated(mWiFiNetworkAgent);
|
||||
assertEquals(mWiFiNetworkAgent.waitForRedirectUrl(), secondRedirectUrl);
|
||||
|
||||
// Make captive portal disappear then revalidate.
|
||||
// Expect onLost callback because network no longer provides NET_CAPABILITY_CAPTIVE_PORTAL.
|
||||
mWiFiNetworkAgent.setNetworkValid(false /* isStrictMode */);
|
||||
mWiFiNetworkAgent.setNetworkValid(false /* privateDnsProbeSent */);
|
||||
mCm.reportNetworkConnectivity(mWiFiNetworkAgent.getNetwork(), true);
|
||||
captivePortalCallback.expect(CallbackEntry.LOST, mWiFiNetworkAgent);
|
||||
|
||||
@@ -4436,7 +4458,7 @@ public class ConnectivityServiceTest {
|
||||
|
||||
// Break network connectivity.
|
||||
// Expect NET_CAPABILITY_VALIDATED onLost callback.
|
||||
mWiFiNetworkAgent.setNetworkInvalid(false /* isStrictMode */);
|
||||
mWiFiNetworkAgent.setNetworkInvalid(false /* invalidBecauseOfPrivateDns */);
|
||||
mCm.reportNetworkConnectivity(mWiFiNetworkAgent.getNetwork(), false);
|
||||
validatedCallback.expect(CallbackEntry.LOST, mWiFiNetworkAgent);
|
||||
}
|
||||
@@ -4488,7 +4510,8 @@ public class ConnectivityServiceTest {
|
||||
mServiceContext.expectNoStartActivityIntent(fastTimeoutMs);
|
||||
|
||||
// Turn into a captive portal.
|
||||
mWiFiNetworkAgent.setNetworkPortal("http://example.com", false /* isStrictMode */);
|
||||
mWiFiNetworkAgent.setNetworkPortal("http://example.com",
|
||||
false /* privateDnsProbeSent */);
|
||||
mCm.reportNetworkConnectivity(wifiNetwork, false);
|
||||
captivePortalCallback.expectAvailableCallbacksUnvalidated(mWiFiNetworkAgent);
|
||||
validatedCallback.expect(CallbackEntry.LOST, mWiFiNetworkAgent);
|
||||
@@ -4501,7 +4524,7 @@ public class ConnectivityServiceTest {
|
||||
startCaptivePortalApp(mWiFiNetworkAgent);
|
||||
|
||||
// Report that the captive portal is dismissed, and check that callbacks are fired
|
||||
mWiFiNetworkAgent.setNetworkValid(false /* isStrictMode */);
|
||||
mWiFiNetworkAgent.setNetworkValid(false /* privateDnsProbeSent */);
|
||||
mWiFiNetworkAgent.mNetworkMonitor.forceReevaluation(Process.myUid());
|
||||
validatedCallback.expectAvailableCallbacksValidated(mWiFiNetworkAgent);
|
||||
captivePortalCallback.expect(CallbackEntry.LOST, mWiFiNetworkAgent);
|
||||
@@ -4559,7 +4582,8 @@ public class ConnectivityServiceTest {
|
||||
mWiFiNetworkAgent = new TestNetworkAgentWrapper(TRANSPORT_WIFI);
|
||||
String firstRedirectUrl = "http://example.com/firstPath";
|
||||
|
||||
mWiFiNetworkAgent.connectWithCaptivePortal(firstRedirectUrl, false /* isStrictMode */);
|
||||
mWiFiNetworkAgent.connectWithCaptivePortal(firstRedirectUrl,
|
||||
false /* privateDnsProbeSent */);
|
||||
mWiFiNetworkAgent.expectDisconnected();
|
||||
mWiFiNetworkAgent.expectPreventReconnectReceived();
|
||||
|
||||
@@ -4578,7 +4602,8 @@ public class ConnectivityServiceTest {
|
||||
mWiFiNetworkAgent = new TestNetworkAgentWrapper(TRANSPORT_WIFI);
|
||||
final String redirectUrl = "http://example.com/firstPath";
|
||||
|
||||
mWiFiNetworkAgent.connectWithCaptivePortal(redirectUrl, false /* isStrictMode */);
|
||||
mWiFiNetworkAgent.connectWithCaptivePortal(redirectUrl,
|
||||
false /* privateDnsProbeSent */);
|
||||
captivePortalCallback.expectAvailableCallbacksUnvalidated(mWiFiNetworkAgent);
|
||||
|
||||
final CaptivePortalData testData = new CaptivePortalData.Builder()
|
||||
@@ -4611,7 +4636,8 @@ public class ConnectivityServiceTest {
|
||||
|
||||
mWiFiNetworkAgent = new TestNetworkAgentWrapper(TRANSPORT_WIFI);
|
||||
|
||||
mWiFiNetworkAgent.connectWithCaptivePortal(TEST_REDIRECT_URL, false /* isStrictMode */);
|
||||
mWiFiNetworkAgent.connectWithCaptivePortal(TEST_REDIRECT_URL,
|
||||
false /* privateDnsProbeSent */);
|
||||
captivePortalCallback.expectAvailableCallbacksUnvalidated(mWiFiNetworkAgent);
|
||||
return captivePortalCallback;
|
||||
}
|
||||
@@ -5812,7 +5838,7 @@ public class ConnectivityServiceTest {
|
||||
wifiCallback.assertNoCallback();
|
||||
|
||||
// Wifi validates. Cell is no longer needed, because it's outscored.
|
||||
mWiFiNetworkAgent.setNetworkValid(true /* isStrictMode */);
|
||||
mWiFiNetworkAgent.setNetworkValid(true /* privateDnsProbeSent */);
|
||||
// Have CS reconsider the network (see testPartialConnectivity)
|
||||
mCm.reportNetworkConnectivity(mWiFiNetworkAgent.getNetwork(), true);
|
||||
wifiNetworkCallback.expectCapabilitiesWith(NET_CAPABILITY_VALIDATED, mWiFiNetworkAgent);
|
||||
@@ -5820,7 +5846,7 @@ public class ConnectivityServiceTest {
|
||||
wifiCallback.assertNoCallback();
|
||||
|
||||
// Wifi is no longer validated. Cell is needed again.
|
||||
mWiFiNetworkAgent.setNetworkInvalid(true /* isStrictMode */);
|
||||
mWiFiNetworkAgent.setNetworkInvalid(true /* invalidBecauseOfPrivateDns */);
|
||||
mCm.reportNetworkConnectivity(mWiFiNetworkAgent.getNetwork(), false);
|
||||
wifiNetworkCallback.expectCapabilitiesWithout(NET_CAPABILITY_VALIDATED, mWiFiNetworkAgent);
|
||||
cellCallback.expectOnNetworkNeeded(defaultCaps);
|
||||
@@ -5842,7 +5868,7 @@ public class ConnectivityServiceTest {
|
||||
wifiNetworkCallback.expectAvailableCallbacksUnvalidated(mWiFiNetworkAgent);
|
||||
cellCallback.assertNoCallback();
|
||||
wifiCallback.assertNoCallback();
|
||||
mWiFiNetworkAgent.setNetworkValid(true /* isStrictMode */);
|
||||
mWiFiNetworkAgent.setNetworkValid(true /* privateDnsProbeSent */);
|
||||
mCm.reportNetworkConnectivity(mWiFiNetworkAgent.getNetwork(), true);
|
||||
wifiNetworkCallback.expectCapabilitiesWith(NET_CAPABILITY_VALIDATED, mWiFiNetworkAgent);
|
||||
cellCallback.expectOnNetworkUnneeded(defaultCaps);
|
||||
@@ -5850,7 +5876,7 @@ public class ConnectivityServiceTest {
|
||||
|
||||
// Wifi loses validation. Because the device doesn't avoid bad wifis, cell is
|
||||
// not needed.
|
||||
mWiFiNetworkAgent.setNetworkInvalid(true /* isStrictMode */);
|
||||
mWiFiNetworkAgent.setNetworkInvalid(true /* invalidBecauseOfPrivateDns */);
|
||||
mCm.reportNetworkConnectivity(mWiFiNetworkAgent.getNetwork(), false);
|
||||
wifiNetworkCallback.expectCapabilitiesWithout(NET_CAPABILITY_VALIDATED, mWiFiNetworkAgent);
|
||||
cellCallback.assertNoCallback();
|
||||
@@ -5945,7 +5971,7 @@ public class ConnectivityServiceTest {
|
||||
Network wifiNetwork = mWiFiNetworkAgent.getNetwork();
|
||||
|
||||
// Fail validation on wifi.
|
||||
mWiFiNetworkAgent.setNetworkInvalid(false /* isStrictMode */);
|
||||
mWiFiNetworkAgent.setNetworkInvalid(false /* invalidBecauseOfPrivateDns */);
|
||||
mCm.reportNetworkConnectivity(wifiNetwork, false);
|
||||
defaultCallback.expectCapabilitiesWithout(NET_CAPABILITY_VALIDATED, mWiFiNetworkAgent);
|
||||
validatedWifiCallback.expect(CallbackEntry.LOST, mWiFiNetworkAgent);
|
||||
@@ -5996,7 +6022,7 @@ public class ConnectivityServiceTest {
|
||||
wifiNetwork = mWiFiNetworkAgent.getNetwork();
|
||||
|
||||
// Fail validation on wifi and expect the dialog to appear.
|
||||
mWiFiNetworkAgent.setNetworkInvalid(false /* isStrictMode */);
|
||||
mWiFiNetworkAgent.setNetworkInvalid(false /* invalidBecauseOfPrivateDns */);
|
||||
mCm.reportNetworkConnectivity(wifiNetwork, false);
|
||||
defaultCallback.expectCapabilitiesWithout(NET_CAPABILITY_VALIDATED, mWiFiNetworkAgent);
|
||||
validatedWifiCallback.expect(CallbackEntry.LOST, mWiFiNetworkAgent);
|
||||
@@ -7155,7 +7181,7 @@ public class ConnectivityServiceTest {
|
||||
mCm.registerNetworkCallback(request, callback);
|
||||
|
||||
// Bring up wifi aware network.
|
||||
wifiAware.connect(false, false, false /* isStrictMode */);
|
||||
wifiAware.connect(false, false, false /* privateDnsProbeSent */);
|
||||
callback.expectAvailableCallbacksUnvalidated(wifiAware);
|
||||
|
||||
assertNull(mCm.getActiveNetworkInfo());
|
||||
@@ -7733,7 +7759,7 @@ public class ConnectivityServiceTest {
|
||||
mWiFiNetworkAgent.connect(false);
|
||||
callback.expectAvailableCallbacksUnvalidated(mWiFiNetworkAgent);
|
||||
// Private DNS resolution failed, checking if the notification will be shown or not.
|
||||
mWiFiNetworkAgent.setNetworkInvalid(true /* isStrictMode */);
|
||||
mWiFiNetworkAgent.setNetworkInvalid(true /* invalidBecauseOfPrivateDns */);
|
||||
mWiFiNetworkAgent.mNetworkMonitor.forceReevaluation(Process.myUid());
|
||||
waitForIdle();
|
||||
// If network validation failed, NetworkMonitor will re-evaluate the network.
|
||||
@@ -7745,14 +7771,14 @@ public class ConnectivityServiceTest {
|
||||
eq(NotificationType.PRIVATE_DNS_BROKEN.eventId), any());
|
||||
// If private DNS resolution successful, the PRIVATE_DNS_BROKEN notification shouldn't be
|
||||
// shown.
|
||||
mWiFiNetworkAgent.setNetworkValid(true /* isStrictMode */);
|
||||
mWiFiNetworkAgent.setNetworkValid(true /* privateDnsProbeSent */);
|
||||
mWiFiNetworkAgent.mNetworkMonitor.forceReevaluation(Process.myUid());
|
||||
waitForIdle();
|
||||
verify(mNotificationManager, timeout(TIMEOUT_MS).times(1)).cancel(anyString(),
|
||||
eq(NotificationType.PRIVATE_DNS_BROKEN.eventId));
|
||||
// If private DNS resolution failed again, the PRIVATE_DNS_BROKEN notification should be
|
||||
// shown again.
|
||||
mWiFiNetworkAgent.setNetworkInvalid(true /* isStrictMode */);
|
||||
mWiFiNetworkAgent.setNetworkInvalid(true /* invalidBecauseOfPrivateDns */);
|
||||
mWiFiNetworkAgent.mNetworkMonitor.forceReevaluation(Process.myUid());
|
||||
waitForIdle();
|
||||
verify(mNotificationManager, timeout(TIMEOUT_MS).times(2)).notify(anyString(),
|
||||
@@ -8214,7 +8240,7 @@ public class ConnectivityServiceTest {
|
||||
|
||||
// Connect a VPN.
|
||||
mMockVpn.establishForMyUid(false /* validated */, true /* hasInternet */,
|
||||
false /* isStrictMode */);
|
||||
false /* privateDnsProbeSent */);
|
||||
callback.expectAvailableCallbacksUnvalidated(mMockVpn);
|
||||
|
||||
// Connect cellular data.
|
||||
@@ -8370,7 +8396,7 @@ public class ConnectivityServiceTest {
|
||||
NetworkAgentConfigShimImpl.newInstance(mMockVpn.getNetworkAgentConfig())
|
||||
.isVpnValidationRequired(),
|
||||
mMockVpn.getAgent().getNetworkCapabilities()));
|
||||
mMockVpn.getAgent().setNetworkValid(false /* isStrictMode */);
|
||||
mMockVpn.getAgent().setNetworkValid(false /* privateDnsProbeSent */);
|
||||
|
||||
mMockVpn.connect(false);
|
||||
|
||||
@@ -8453,7 +8479,7 @@ public class ConnectivityServiceTest {
|
||||
assertEquals(defaultCallback.getLastAvailableNetwork(), mCm.getActiveNetwork());
|
||||
|
||||
mMockVpn.establishForMyUid(true /* validated */, false /* hasInternet */,
|
||||
false /* isStrictMode */);
|
||||
false /* privateDnsProbeSent */);
|
||||
assertUidRangesUpdatedForMyUid(true);
|
||||
|
||||
defaultCallback.assertNoCallback();
|
||||
@@ -8479,7 +8505,7 @@ public class ConnectivityServiceTest {
|
||||
assertEquals(defaultCallback.getLastAvailableNetwork(), mCm.getActiveNetwork());
|
||||
|
||||
mMockVpn.establishForMyUid(true /* validated */, true /* hasInternet */,
|
||||
false /* isStrictMode */);
|
||||
false /* privateDnsProbeSent */);
|
||||
assertUidRangesUpdatedForMyUid(true);
|
||||
|
||||
defaultCallback.expectAvailableThenValidatedCallbacks(mMockVpn);
|
||||
@@ -8505,7 +8531,7 @@ public class ConnectivityServiceTest {
|
||||
|
||||
// Bring up a VPN that has the INTERNET capability, initially unvalidated.
|
||||
mMockVpn.establishForMyUid(false /* validated */, true /* hasInternet */,
|
||||
false /* isStrictMode */);
|
||||
false /* privateDnsProbeSent */);
|
||||
assertUidRangesUpdatedForMyUid(true);
|
||||
|
||||
// Even though the VPN is unvalidated, it becomes the default network for our app.
|
||||
@@ -8527,7 +8553,7 @@ public class ConnectivityServiceTest {
|
||||
mMockVpn.getAgent().getNetworkCapabilities()));
|
||||
|
||||
// Pretend that the VPN network validates.
|
||||
mMockVpn.getAgent().setNetworkValid(false /* isStrictMode */);
|
||||
mMockVpn.getAgent().setNetworkValid(false /* privateDnsProbeSent */);
|
||||
mMockVpn.getAgent().mNetworkMonitor.forceReevaluation(Process.myUid());
|
||||
// Expect to see the validated capability, but no other changes, because the VPN is already
|
||||
// the default network for the app.
|
||||
@@ -8558,7 +8584,7 @@ public class ConnectivityServiceTest {
|
||||
mCellNetworkAgent.connect(true);
|
||||
|
||||
mMockVpn.establishForMyUid(true /* validated */, false /* hasInternet */,
|
||||
false /* isStrictMode */);
|
||||
false /* privateDnsProbeSent */);
|
||||
assertUidRangesUpdatedForMyUid(true);
|
||||
|
||||
vpnNetworkCallback.expectAvailableCallbacks(mMockVpn.getNetwork(),
|
||||
@@ -8602,7 +8628,7 @@ public class ConnectivityServiceTest {
|
||||
vpnNetworkCallback.assertNoCallback();
|
||||
|
||||
mMockVpn.establishForMyUid(true /* validated */, false /* hasInternet */,
|
||||
false /* isStrictMode */);
|
||||
false /* privateDnsProbeSent */);
|
||||
assertUidRangesUpdatedForMyUid(true);
|
||||
|
||||
vpnNetworkCallback.expectAvailableThenValidatedCallbacks(mMockVpn);
|
||||
@@ -8767,7 +8793,7 @@ public class ConnectivityServiceTest {
|
||||
vpnNetworkCallback.assertNoCallback();
|
||||
|
||||
mMockVpn.establishForMyUid(true /* validated */, false /* hasInternet */,
|
||||
false /* isStrictMode */);
|
||||
false /* privateDnsProbeSent */);
|
||||
assertUidRangesUpdatedForMyUid(true);
|
||||
|
||||
vpnNetworkCallback.expectAvailableThenValidatedCallbacks(mMockVpn);
|
||||
@@ -12312,7 +12338,8 @@ public class ConnectivityServiceTest {
|
||||
b1.expectNoBroadcast(500);
|
||||
|
||||
final ExpectedBroadcast b2 = registerPacProxyBroadcast();
|
||||
mMockVpn.connect(true /* validated */, true /* hasInternet */, false /* isStrictMode */);
|
||||
mMockVpn.connect(true /* validated */, true /* hasInternet */,
|
||||
false /* privateDnsProbeSent */);
|
||||
waitForIdle();
|
||||
assertVpnUidRangesUpdated(true, vpnRanges, VPN_UID);
|
||||
// Vpn is connected with proxy, so the proxy broadcast will be sent to inform the apps to
|
||||
@@ -14810,7 +14837,7 @@ public class ConnectivityServiceTest {
|
||||
|
||||
// Make sure changes to the work agent send callbacks to the app in the work profile, but
|
||||
// not to the other apps.
|
||||
workAgent.setNetworkValid(true /* isStrictMode */);
|
||||
workAgent.setNetworkValid(true /* privateDnsProbeSent */);
|
||||
workAgent.mNetworkMonitor.forceReevaluation(Process.myUid());
|
||||
profileDefaultNetworkCallback.expectCapabilitiesThat(workAgent,
|
||||
nc -> nc.hasCapability(NET_CAPABILITY_VALIDATED)
|
||||
@@ -14923,7 +14950,7 @@ public class ConnectivityServiceTest {
|
||||
workAgent2.getNetwork().netId,
|
||||
uidRangeFor(testHandle, profileNetworkPreference), PREFERENCE_ORDER_PROFILE));
|
||||
|
||||
workAgent2.setNetworkValid(true /* isStrictMode */);
|
||||
workAgent2.setNetworkValid(true /* privateDnsProbeSent */);
|
||||
workAgent2.mNetworkMonitor.forceReevaluation(Process.myUid());
|
||||
profileDefaultNetworkCallback.expectCapabilitiesThat(workAgent2,
|
||||
nc -> nc.hasCapability(NET_CAPABILITY_ENTERPRISE)
|
||||
@@ -16923,7 +16950,8 @@ public class ConnectivityServiceTest {
|
||||
mWiFiNetworkAgent);
|
||||
mDefaultNetworkCallback.expect(CallbackEntry.NETWORK_CAPS_UPDATED,
|
||||
mWiFiNetworkAgent);
|
||||
mWiFiNetworkAgent.setNetworkPortal(TEST_REDIRECT_URL, false /* isStrictMode */);
|
||||
mWiFiNetworkAgent.setNetworkPortal(TEST_REDIRECT_URL,
|
||||
false /* privateDnsProbeSent */);
|
||||
mCm.reportNetworkConnectivity(mWiFiNetworkAgent.getNetwork(), false);
|
||||
// Wi-Fi is now detected to have a portal : cell should become the default network.
|
||||
mDefaultNetworkCallback.expectAvailableCallbacksValidated(mCellNetworkAgent);
|
||||
@@ -16933,7 +16961,7 @@ public class ConnectivityServiceTest {
|
||||
mWiFiNetworkAgent);
|
||||
|
||||
// Wi-Fi becomes valid again. The default network goes back to Wi-Fi.
|
||||
mWiFiNetworkAgent.setNetworkValid(false /* isStrictMode */);
|
||||
mWiFiNetworkAgent.setNetworkValid(false /* privateDnsProbeSent */);
|
||||
mCm.reportNetworkConnectivity(mWiFiNetworkAgent.getNetwork(), true);
|
||||
mDefaultNetworkCallback.expectAvailableCallbacksValidated(mWiFiNetworkAgent);
|
||||
wifiNetworkCallback.expectCapabilitiesWithout(NET_CAPABILITY_CAPTIVE_PORTAL,
|
||||
@@ -16954,7 +16982,7 @@ public class ConnectivityServiceTest {
|
||||
mWiFiNetworkAgent);
|
||||
|
||||
// Wi-Fi becomes valid again. The default network goes back to Wi-Fi.
|
||||
mWiFiNetworkAgent.setNetworkValid(false /* isStrictMode */);
|
||||
mWiFiNetworkAgent.setNetworkValid(false /* privateDnsProbeSent */);
|
||||
mCm.reportNetworkConnectivity(mWiFiNetworkAgent.getNetwork(), true);
|
||||
mDefaultNetworkCallback.expectAvailableCallbacksValidated(mWiFiNetworkAgent);
|
||||
wifiNetworkCallback.expectCapabilitiesWithout(NET_CAPABILITY_PARTIAL_CONNECTIVITY,
|
||||
@@ -16968,7 +16996,7 @@ public class ConnectivityServiceTest {
|
||||
mWiFiNetworkAgent.setNetworkCapabilities(wifiNc2, true);
|
||||
mDefaultNetworkCallback.expect(CallbackEntry.NETWORK_CAPS_UPDATED,
|
||||
mWiFiNetworkAgent);
|
||||
mWiFiNetworkAgent.setNetworkInvalid(false /* isStrictMode */);
|
||||
mWiFiNetworkAgent.setNetworkInvalid(false /* invalidBecauseOfPrivateDns */);
|
||||
mCm.reportNetworkConnectivity(mWiFiNetworkAgent.getNetwork(), false);
|
||||
|
||||
if (enabled) {
|
||||
|
||||
Reference in New Issue
Block a user