Merge "Unify the verification for unregister a NetworkAgent" into sc-dev

This commit is contained in:
Chiachang Wang
2021-06-01 02:09:37 +00:00
committed by Android (Google) Code Review

View File

@@ -306,6 +306,11 @@ class NetworkAgentTest {
return foundCallback return foundCallback
} }
inline fun <reified T : CallbackEntry> eventuallyExpect() =
history.poll(DEFAULT_TIMEOUT_MS) { it is T }.also {
assertNotNull(it, "Callback ${T::class} not received")
} as T
fun assertNoCallback() { fun assertNoCallback() {
assertTrue(waitForIdle(DEFAULT_TIMEOUT_MS), assertTrue(waitForIdle(DEFAULT_TIMEOUT_MS),
"Handler didn't became idle after ${DEFAULT_TIMEOUT_MS}ms") "Handler didn't became idle after ${DEFAULT_TIMEOUT_MS}ms")
@@ -383,13 +388,12 @@ class NetworkAgentTest {
callback.expectAvailableThenValidatedCallbacks(agent.network) callback.expectAvailableThenValidatedCallbacks(agent.network)
agent.expectEmptySignalStrengths() agent.expectEmptySignalStrengths()
agent.expectNoInternetValidationStatus() agent.expectNoInternetValidationStatus()
agent.unregister()
unregister(agent)
callback.expectCallback<Lost>(agent.network) callback.expectCallback<Lost>(agent.network)
agent.expectCallback<OnNetworkUnwanted>()
assertFailsWith<IllegalStateException>("Must not be able to register an agent twice") { assertFailsWith<IllegalStateException>("Must not be able to register an agent twice") {
agent.register() agent.register()
} }
agent.expectCallback<OnNetworkDestroyed>()
} }
@Test @Test
@@ -400,7 +404,7 @@ class NetworkAgentTest {
agent.expectNoInternetValidationStatus() agent.expectNoInternetValidationStatus()
mCM.requestBandwidthUpdate(agent.network) mCM.requestBandwidthUpdate(agent.network)
agent.expectCallback<OnBandwidthUpdateRequested>() agent.expectCallback<OnBandwidthUpdateRequested>()
agent.unregister() unregister(agent)
} }
@Test @Test
@@ -648,10 +652,16 @@ class NetworkAgentTest {
} }
} }
agent.unregister() unregister(agent)
callback.expectCallback<Lost>(agent.network) callback.expectCallback<Lost>(agent.network)
} }
private fun unregister(agent: TestableNetworkAgent) {
agent.unregister()
agent.eventuallyExpect<OnNetworkUnwanted>()
agent.eventuallyExpect<OnNetworkDestroyed>()
}
@Test @Test
@IgnoreUpTo(Build.VERSION_CODES.R) @IgnoreUpTo(Build.VERSION_CODES.R)
fun testAgentStartsInConnecting() { fun testAgentStartsInConnecting() {