Merge "Add tests for callback visibility"
This commit is contained in:
@@ -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
|
@Test
|
||||||
public void testStateChangeNetworkCallbacks() throws Exception {
|
public void testStateChangeNetworkCallbacks() throws Exception {
|
||||||
final TestNetworkCallback genericNetworkCallback = new TestNetworkCallback();
|
final TestNetworkCallback genericNetworkCallback = new TestNetworkCallback();
|
||||||
|
|||||||
Reference in New Issue
Block a user