Merge "Create NetworkAgent CTS for NET_CAP_TEMP_NOT_METERED" am: 7dde88274a
Original change: https://android-review.googlesource.com/c/platform/cts/+/1316376 Change-Id: Ia81dbc1a8a1c16daf6b82ef93014d6a4f75a969a
This commit is contained in:
@@ -592,4 +592,50 @@ class NetworkAgentTest {
|
||||
assertNull(it.uri)
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testTemporarilyUnmeteredCapability() {
|
||||
// This test will create a networks with/without NET_CAPABILITY_TEMPORARILY_NOT_METERED
|
||||
// and check that the callback reflects the capability changes.
|
||||
// First create a request to make sure the network is kept up
|
||||
val request1 = NetworkRequest.Builder()
|
||||
.clearCapabilities()
|
||||
.addTransportType(NetworkCapabilities.TRANSPORT_TEST)
|
||||
.build()
|
||||
val callback1 = TestableNetworkCallback(DEFAULT_TIMEOUT_MS).also {
|
||||
registerNetworkCallback(request1, it)
|
||||
}
|
||||
requestNetwork(request1, callback1)
|
||||
|
||||
// Then file the interesting request
|
||||
val request = NetworkRequest.Builder()
|
||||
.clearCapabilities()
|
||||
.addTransportType(NetworkCapabilities.TRANSPORT_TEST)
|
||||
.build()
|
||||
val callback = TestableNetworkCallback()
|
||||
requestNetwork(request, callback)
|
||||
|
||||
// Connect the network
|
||||
createConnectedNetworkAgent().let { (agent, _) ->
|
||||
callback.expectAvailableThenValidatedCallbacks(agent.network)
|
||||
|
||||
// Send TEMP_NOT_METERED and check that the callback is called appropriately.
|
||||
val nc1 = NetworkCapabilities(agent.nc)
|
||||
.addCapability(NetworkCapabilities.NET_CAPABILITY_TEMPORARILY_NOT_METERED)
|
||||
agent.sendNetworkCapabilities(nc1)
|
||||
callback.expectCapabilitiesThat(agent.network) {
|
||||
it.hasCapability(NetworkCapabilities.NET_CAPABILITY_TEMPORARILY_NOT_METERED)
|
||||
}
|
||||
|
||||
// Remove TEMP_NOT_METERED and check that the callback is called appropriately.
|
||||
val nc2 = NetworkCapabilities(agent.nc)
|
||||
.removeCapability(NetworkCapabilities.NET_CAPABILITY_TEMPORARILY_NOT_METERED)
|
||||
agent.sendNetworkCapabilities(nc2)
|
||||
callback.expectCapabilitiesThat(agent.network) {
|
||||
!it.hasCapability(NetworkCapabilities.NET_CAPABILITY_TEMPORARILY_NOT_METERED)
|
||||
}
|
||||
}
|
||||
|
||||
// tearDown() will unregister the requests and agents
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user