diff options
| author | 2024-08-20 21:49:01 +0000 | |
|---|---|---|
| committer | 2024-08-20 21:49:01 +0000 | |
| commit | b5bd57a19aba2bdbc0a3c8bcdec6d3d1f8de5e8f (patch) | |
| tree | 4760bc3d53b695ff48337ee988a63a8618606b64 | |
| parent | 5e6ac8e779c5f5ae121d92941afe7182296ceed5 (diff) | |
| parent | 066963741ded9df06353b3d73dddf03c35258da4 (diff) | |
Merge "Add unit test for fromPublicNetworkStats" into main am: 8542185715 am: 066963741d
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3227662
Change-Id: Ia631b97cf436c796331700b1bff46826b119e3ea
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | services/tests/servicestests/src/com/android/server/stats/pull/netstats/NetworkStatsUtilsTest.kt | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/services/tests/servicestests/src/com/android/server/stats/pull/netstats/NetworkStatsUtilsTest.kt b/services/tests/servicestests/src/com/android/server/stats/pull/netstats/NetworkStatsUtilsTest.kt index f42954a55e66..c560c04e72cd 100644 --- a/services/tests/servicestests/src/com/android/server/stats/pull/netstats/NetworkStatsUtilsTest.kt +++ b/services/tests/servicestests/src/com/android/server/stats/pull/netstats/NetworkStatsUtilsTest.kt @@ -17,12 +17,23 @@ package com.android.server.stats.pull.netstats import android.net.NetworkStats +import android.net.NetworkStats.DEFAULT_NETWORK_NO +import android.net.NetworkStats.DEFAULT_NETWORK_YES +import android.net.NetworkStats.Entry +import android.net.NetworkStats.METERED_NO +import android.net.NetworkStats.ROAMING_NO +import android.net.NetworkStats.ROAMING_YES +import android.net.NetworkStats.SET_DEFAULT +import android.net.NetworkStats.TAG_NONE import androidx.test.ext.junit.runners.AndroidJUnit4 import com.android.testutils.assertEntryEquals +import com.android.testutils.assertNetworkStatsEquals +import com.android.testutils.makePublicStatsFromAndroidNetStats import org.junit.Test import org.junit.runner.RunWith import org.mockito.Mockito.doReturn import org.mockito.Mockito.mock +import org.mockito.Mockito.`when` /** * Build/Install/Run: @@ -48,6 +59,37 @@ class NetworkStatsUtilsTest { assertEntryEquals(expectedEntry, entry) } + @Test + fun testPublicStatsToAndroidNetStats() { + val uid1 = 10001 + val uid2 = 10002 + val testIface = "wlan0" + val testAndroidNetStats = NetworkStats(0L, 3) + .addEntry(Entry(testIface, uid1, SET_DEFAULT, TAG_NONE, + METERED_NO, ROAMING_NO, DEFAULT_NETWORK_YES, 20, 3, 57, 40, 3)) + .addEntry(Entry( + testIface, uid2, SET_DEFAULT, TAG_NONE, + METERED_NO, ROAMING_YES, DEFAULT_NETWORK_NO, 2, 7, 2, 5, 7)) + .addEntry(Entry(testIface, uid2, SET_DEFAULT, TAG_NONE, + METERED_NO, ROAMING_YES, DEFAULT_NETWORK_NO, 4, 5, 3, 1, 8)) + val publicStats: android.app.usage.NetworkStats = + makePublicStatsFromAndroidNetStats(testAndroidNetStats) + val androidNetStats: NetworkStats = + NetworkStatsUtils.fromPublicNetworkStats(publicStats) + + // 1. The public `NetworkStats` class does not include interface information. + // Interface details must be removed and items with duplicated + // keys need to be merged before making any comparisons. + // 2. The public `NetworkStats` class lacks an operations field. + // Thus, the information will not be preserved during the conversion. + val expectedStats = NetworkStats(0L, 2) + .addEntry(Entry(null, uid1, SET_DEFAULT, TAG_NONE, + METERED_NO, ROAMING_NO, DEFAULT_NETWORK_YES, 20, 3, 57, 40, 0)) + .addEntry(Entry(null, uid2, SET_DEFAULT, TAG_NONE, + METERED_NO, ROAMING_YES, DEFAULT_NETWORK_NO, 6, 12, 5, 6, 0)) + assertNetworkStatsEquals(expectedStats, androidNetStats) + } + private fun makeMockBucket( uid: Int, tag: Int, |