summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjunyulai <junyulai@google.com>2020-03-30 15:25:03 +0800
committerjunyulai <junyulai@google.com>2020-04-08 17:37:02 +0800
commit28ec299332dba38257e9bbc16a3e68a03fc625a3 (patch)
tree29d4a32b7f7addbe1c7612732ecfc83e4244545e
parenta8782392d4950627a141da6451c25eeb161fd26c (diff)
[SP27.2] Rename TestableNetworkStatsProvider
Currently, TestableNetworkStatsProvider is a subclass of INetworkStatsProvider. This is not very accurate naming after API council review feedback since now we have NetworkStatsProvider as a system api interface. Thus, this change rename it to TestableNetworkStatsProviderBinder and create another TestableNetworkStatsProvider to support subsequent test of NetworkStatsProvider. Test: atest FrameworksNetTests TetheringTests Bug: 150643374 Change-Id: I6c359dc718c24c384b827a465980b1c1c24075a0
-rw-r--r--tests/lib/src/com/android/testutils/TestableNetworkStatsProvider.kt6
-rw-r--r--tests/lib/src/com/android/testutils/TestableNetworkStatsProviderBinder.kt63
2 files changed, 66 insertions, 3 deletions
diff --git a/tests/lib/src/com/android/testutils/TestableNetworkStatsProvider.kt b/tests/lib/src/com/android/testutils/TestableNetworkStatsProvider.kt
index bd4a63e..25fe38e 100644
--- a/tests/lib/src/com/android/testutils/TestableNetworkStatsProvider.kt
+++ b/tests/lib/src/com/android/testutils/TestableNetworkStatsProvider.kt
@@ -16,13 +16,13 @@
package com.android.testutils
-import android.net.netstats.provider.INetworkStatsProvider
+import android.net.netstats.provider.NetworkStatsProvider
import kotlin.test.assertEquals
import kotlin.test.fail
private const val DEFAULT_TIMEOUT_MS = 200L
-open class TestableNetworkStatsProvider : INetworkStatsProvider.Stub() {
+open class TestableNetworkStatsProvider : NetworkStatsProvider() {
sealed class CallbackType {
data class OnRequestStatsUpdate(val token: Int) : CallbackType()
data class OnSetLimit(val iface: String?, val quotaBytes: Long) : CallbackType()
@@ -35,7 +35,7 @@ open class TestableNetworkStatsProvider : INetworkStatsProvider.Stub() {
history.add(CallbackType.OnRequestStatsUpdate(token))
}
- override fun onSetLimit(iface: String?, quotaBytes: Long) {
+ override fun onSetLimit(iface: String, quotaBytes: Long) {
history.add(CallbackType.OnSetLimit(iface, quotaBytes))
}
diff --git a/tests/lib/src/com/android/testutils/TestableNetworkStatsProviderBinder.kt b/tests/lib/src/com/android/testutils/TestableNetworkStatsProviderBinder.kt
new file mode 100644
index 0000000..4d9f884
--- /dev/null
+++ b/tests/lib/src/com/android/testutils/TestableNetworkStatsProviderBinder.kt
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.testutils
+
+import android.net.netstats.provider.INetworkStatsProvider
+import kotlin.test.assertEquals
+import kotlin.test.fail
+
+private const val DEFAULT_TIMEOUT_MS = 200L
+
+open class TestableNetworkStatsProviderBinder : INetworkStatsProvider.Stub() {
+ sealed class CallbackType {
+ data class OnRequestStatsUpdate(val token: Int) : CallbackType()
+ data class OnSetLimit(val iface: String?, val quotaBytes: Long) : CallbackType()
+ data class OnSetAlert(val quotaBytes: Long) : CallbackType()
+ }
+
+ private val history = ArrayTrackRecord<CallbackType>().ReadHead()
+
+ override fun onRequestStatsUpdate(token: Int) {
+ history.add(CallbackType.OnRequestStatsUpdate(token))
+ }
+
+ override fun onSetLimit(iface: String?, quotaBytes: Long) {
+ history.add(CallbackType.OnSetLimit(iface, quotaBytes))
+ }
+
+ override fun onSetAlert(quotaBytes: Long) {
+ history.add(CallbackType.OnSetAlert(quotaBytes))
+ }
+
+ fun expectOnRequestStatsUpdate(token: Int) {
+ assertEquals(CallbackType.OnRequestStatsUpdate(token), history.poll(DEFAULT_TIMEOUT_MS))
+ }
+
+ fun expectOnSetLimit(iface: String?, quotaBytes: Long) {
+ assertEquals(CallbackType.OnSetLimit(iface, quotaBytes), history.poll(DEFAULT_TIMEOUT_MS))
+ }
+
+ fun expectOnSetAlert(quotaBytes: Long) {
+ assertEquals(CallbackType.OnSetAlert(quotaBytes), history.poll(DEFAULT_TIMEOUT_MS))
+ }
+
+ @JvmOverloads
+ fun assertNoCallback(timeout: Long = DEFAULT_TIMEOUT_MS) {
+ val cb = history.poll(timeout)
+ cb?.let { fail("Expected no callback but got $cb") }
+ }
+}