From 8d2f514530b9a4127e8b5a7dde60073a8f6632e6 Mon Sep 17 00:00:00 2001 From: Aaron Huang Date: Fri, 17 Apr 2020 14:23:31 +0800 Subject: [PATCH] Add network agent to enhance NetworkProvider test Add network agent to test more situation that could get the onNetworkRequested callback. Bug: 153614605 Bug: 153613690 Bug: 153612373 Test: atest CtsNetTestCasesLatestSdk:android.net.NetworkProviderTest Change-Id: Id494a1697cc1b73e8e56ae585a69faec31c59f52 --- .../java/android/net/NetworkProviderTest.kt | 37 +++++++++++++++++-- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/tests/net/common/java/android/net/NetworkProviderTest.kt b/tests/net/common/java/android/net/NetworkProviderTest.kt index 4601c4bf4a..b7c47c2bc2 100644 --- a/tests/net/common/java/android/net/NetworkProviderTest.kt +++ b/tests/net/common/java/android/net/NetworkProviderTest.kt @@ -105,14 +105,43 @@ class NetworkProviderTest { .build() val cb = ConnectivityManager.NetworkCallback() mCm.requestNetwork(nr, cb) - provider.expectCallback() { - callback -> callback.request.getNetworkSpecifier() == specifier && + provider.expectCallback() { callback -> + callback.request.getNetworkSpecifier() == specifier && callback.request.hasTransport(TRANSPORT_TEST) } + val initialScore = 40 + val updatedScore = 60 + val nc = NetworkCapabilities().apply { + addTransportType(NetworkCapabilities.TRANSPORT_TEST) + removeCapability(NetworkCapabilities.NET_CAPABILITY_TRUSTED) + removeCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) + addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_SUSPENDED) + addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING) + addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VPN) + setNetworkSpecifier(specifier) + } + val lp = LinkProperties() + val config = NetworkAgentConfig.Builder().build() + val agent = object : NetworkAgent(context, mHandlerThread.looper, "TestAgent", nc, lp, + initialScore, config, provider) {} + + provider.expectCallback() { callback -> + callback.request.getNetworkSpecifier() == specifier && + callback.score == initialScore && + callback.id == agent.providerId + } + + agent.sendNetworkScore(updatedScore) + provider.expectCallback() { callback -> + callback.request.getNetworkSpecifier() == specifier && + callback.score == updatedScore && + callback.id == agent.providerId + } + mCm.unregisterNetworkCallback(cb) - provider.expectCallback() { - callback -> callback.request.getNetworkSpecifier() == specifier && + provider.expectCallback() { callback -> + callback.request.getNetworkSpecifier() == specifier && callback.request.hasTransport(TRANSPORT_TEST) } mCm.unregisterNetworkProvider(provider)