diff options
Diffstat (limited to 'common/testutils')
4 files changed, 21 insertions, 7 deletions
diff --git a/common/testutils/Android.bp b/common/testutils/Android.bp index 1a7b4375..d29c1cd9 100644 --- a/common/testutils/Android.bp +++ b/common/testutils/Android.bp @@ -35,6 +35,7 @@ java_library { "libnanohttpd", "net-tests-utils-host-device-common", "net-utils-device-common", + "modules-utils-build_system", ], } diff --git a/common/testutils/devicetests/com/android/testutils/TestHttpServer.kt b/common/testutils/devicetests/com/android/testutils/TestHttpServer.kt index 7aae8e3b..39ce4872 100644 --- a/common/testutils/devicetests/com/android/testutils/TestHttpServer.kt +++ b/common/testutils/devicetests/com/android/testutils/TestHttpServer.kt @@ -54,12 +54,12 @@ class TestHttpServer(host: String? = null) : NanoHTTPD(host, 0 /* auto-select th fun addResponse( uri: Uri, statusCode: Response.IStatus, - locationHeader: String? = null, + headers: Map<String, String>? = null, content: String = "" ) { addResponse(Request(uri.path ?: "", Method.GET, uri.query ?: ""), - statusCode, locationHeader, content) + statusCode, headers, content) } /** @@ -68,11 +68,13 @@ class TestHttpServer(host: String? = null) : NanoHTTPD(host, 0 /* auto-select th fun addResponse( request: Request, statusCode: Response.IStatus, - locationHeader: String? = null, + headers: Map<String, String>? = null, content: String = "" ) { val response = newFixedLengthResponse(statusCode, "text/plain", content) - locationHeader?.let { response.addHeader("Location", it) } + headers?.forEach { + (key, value) -> response.addHeader(key, value) + } responses[request] = response } diff --git a/common/testutils/devicetests/com/android/testutils/TestNetworkTracker.kt b/common/testutils/devicetests/com/android/testutils/TestNetworkTracker.kt index d8dd67a3..36c09ce6 100644 --- a/common/testutils/devicetests/com/android/testutils/TestNetworkTracker.kt +++ b/common/testutils/devicetests/com/android/testutils/TestNetworkTracker.kt @@ -26,6 +26,7 @@ import android.net.NetworkRequest import android.net.TestNetworkInterface import android.net.TestNetworkManager import android.os.Binder +import com.android.modules.utils.build.SdkLevel.isAtLeastS import java.util.concurrent.CompletableFuture import java.util.concurrent.TimeUnit @@ -39,7 +40,8 @@ import java.util.concurrent.TimeUnit fun initTestNetwork(context: Context, interfaceAddr: LinkAddress, setupTimeoutMs: Long = 10_000L): TestNetworkTracker { val tnm = context.getSystemService(TestNetworkManager::class.java) - val iface = tnm.createTunInterface(arrayOf(interfaceAddr)) + val iface = if (isAtLeastS()) tnm.createTunInterface(listOf(interfaceAddr)) + else tnm.createTunInterface(arrayOf(interfaceAddr)) return TestNetworkTracker(context, iface, tnm, setupTimeoutMs) } diff --git a/common/testutils/devicetests/com/android/testutils/TestableNetworkStatsProvider.kt b/common/testutils/devicetests/com/android/testutils/TestableNetworkStatsProvider.kt index d034a7d5..8477151b 100644 --- a/common/testutils/devicetests/com/android/testutils/TestableNetworkStatsProvider.kt +++ b/common/testutils/devicetests/com/android/testutils/TestableNetworkStatsProvider.kt @@ -30,7 +30,12 @@ open class TestableNetworkStatsProvider( ) : NetworkStatsProvider() { sealed class CallbackType { data class OnRequestStatsUpdate(val token: Int) : CallbackType() - data class OnSetLimit(val iface: String?, val quotaBytes: Long) : CallbackType() + data class OnSetWarningAndLimit( + val iface: String?, + val warningBytes: Long, + val limitBytes: Long + ) : CallbackType() + data class OnSetLimit(val iface: String?, val limitBytes: Long) : CallbackType() data class OnSetAlert(val quotaBytes: Long) : CallbackType() } @@ -42,6 +47,10 @@ open class TestableNetworkStatsProvider( history.add(CallbackType.OnRequestStatsUpdate(token)) } + override fun onSetWarningAndLimit(iface: String, warningBytes: Long, limitBytes: Long) { + history.add(CallbackType.OnSetWarningAndLimit(iface, warningBytes, limitBytes)) + } + override fun onSetLimit(iface: String, quotaBytes: Long) { history.add(CallbackType.OnSetLimit(iface, quotaBytes)) } @@ -56,7 +65,7 @@ open class TestableNetworkStatsProvider( if (token != TOKEN_ANY) { assertEquals(token, event.token) } - return token + return event.token } fun expectOnSetLimit(iface: String?, quotaBytes: Long, timeout: Long = defaultTimeoutMs) { |