Merge "Add tests for callback visibility"

This commit is contained in:
Jean Chalard
2022-08-24 09:51:36 +00:00
committed by Gerrit Code Review

View File

@@ -3020,6 +3020,43 @@ public class ConnectivityServiceTest {
}
}
@Test
public void testNetworkDoesntMatchRequestsUntilConnected() throws Exception {
final TestNetworkCallback cb = new TestNetworkCallback();
final NetworkRequest wifiRequest = new NetworkRequest.Builder()
.addTransportType(TRANSPORT_WIFI).build();
mCm.requestNetwork(wifiRequest, cb);
mWiFiNetworkAgent = new TestNetworkAgentWrapper(TRANSPORT_WIFI);
// Updating the score triggers a rematch.
mWiFiNetworkAgent.setScore(new NetworkScore.Builder().build());
cb.assertNoCallback();
mWiFiNetworkAgent.connect(false);
cb.expectAvailableCallbacksUnvalidated(mWiFiNetworkAgent);
cb.assertNoCallback();
mCm.unregisterNetworkCallback(cb);
}
@Test
public void testNetworkNotVisibleUntilConnected() throws Exception {
final TestNetworkCallback cb = new TestNetworkCallback();
final NetworkRequest wifiRequest = new NetworkRequest.Builder()
.addTransportType(TRANSPORT_WIFI).build();
mCm.registerNetworkCallback(wifiRequest, cb);
mWiFiNetworkAgent = new TestNetworkAgentWrapper(TRANSPORT_WIFI);
final NetworkCapabilities nc = mWiFiNetworkAgent.getNetworkCapabilities();
nc.addCapability(NET_CAPABILITY_TEMPORARILY_NOT_METERED);
mWiFiNetworkAgent.setNetworkCapabilities(nc, true /* sendToConnectivityService */);
cb.assertNoCallback();
mWiFiNetworkAgent.connect(false);
cb.expectAvailableCallbacksUnvalidated(mWiFiNetworkAgent);
final CallbackEntry found = CollectionUtils.findLast(cb.getHistory(),
it -> it instanceof CallbackEntry.CapabilitiesChanged);
assertTrue(((CallbackEntry.CapabilitiesChanged) found).getCaps()
.hasCapability(NET_CAPABILITY_TEMPORARILY_NOT_METERED));
cb.assertNoCallback();
mCm.unregisterNetworkCallback(cb);
}
@Test
public void testStateChangeNetworkCallbacks() throws Exception {
final TestNetworkCallback genericNetworkCallback = new TestNetworkCallback();