Add a test for NetworkIdentity.getMetered() am: eaca5b1982
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1779526 Change-Id: Ia958a25ef14d416dbdf8e26f18c6ab2b785105dd
This commit is contained in:
@@ -16,20 +16,38 @@
|
|||||||
|
|
||||||
package android.net
|
package android.net
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import android.net.ConnectivityManager.TYPE_MOBILE
|
||||||
import android.net.NetworkIdentity.OEM_NONE
|
import android.net.NetworkIdentity.OEM_NONE
|
||||||
import android.net.NetworkIdentity.OEM_PAID
|
import android.net.NetworkIdentity.OEM_PAID
|
||||||
import android.net.NetworkIdentity.OEM_PRIVATE
|
import android.net.NetworkIdentity.OEM_PRIVATE
|
||||||
import android.net.NetworkIdentity.getOemBitfield
|
import android.net.NetworkIdentity.getOemBitfield
|
||||||
|
import android.telephony.TelephonyManager
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import com.android.testutils.DevSdkIgnoreRule
|
import com.android.testutils.DevSdkIgnoreRule
|
||||||
import com.android.testutils.DevSdkIgnoreRunner
|
import com.android.testutils.DevSdkIgnoreRunner
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
import org.junit.runner.RunWith
|
import org.junit.runner.RunWith
|
||||||
|
import org.mockito.Mockito.mock
|
||||||
import kotlin.test.assertEquals
|
import kotlin.test.assertEquals
|
||||||
|
import kotlin.test.assertFalse
|
||||||
|
import kotlin.test.assertTrue
|
||||||
|
|
||||||
|
private const val TEST_IMSI = "testimsi"
|
||||||
|
|
||||||
@RunWith(DevSdkIgnoreRunner::class)
|
@RunWith(DevSdkIgnoreRunner::class)
|
||||||
@DevSdkIgnoreRule.IgnoreUpTo(Build.VERSION_CODES.R)
|
@DevSdkIgnoreRule.IgnoreUpTo(Build.VERSION_CODES.R)
|
||||||
class NetworkIdentityTest {
|
class NetworkIdentityTest {
|
||||||
|
private val mockContext = mock(Context::class.java)
|
||||||
|
|
||||||
|
private fun buildMobileNetworkStateSnapshot(
|
||||||
|
caps: NetworkCapabilities,
|
||||||
|
subscriberId: String
|
||||||
|
): NetworkStateSnapshot {
|
||||||
|
return NetworkStateSnapshot(mock(Network::class.java), caps,
|
||||||
|
LinkProperties(), subscriberId, TYPE_MOBILE)
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun testGetOemBitfield() {
|
fun testGetOemBitfield() {
|
||||||
val oemNone = NetworkCapabilities().apply {
|
val oemNone = NetworkCapabilities().apply {
|
||||||
@@ -54,4 +72,32 @@ class NetworkIdentityTest {
|
|||||||
assertEquals(getOemBitfield(oemPrivate), OEM_PRIVATE)
|
assertEquals(getOemBitfield(oemPrivate), OEM_PRIVATE)
|
||||||
assertEquals(getOemBitfield(oemAll), OEM_PAID or OEM_PRIVATE)
|
assertEquals(getOemBitfield(oemAll), OEM_PAID or OEM_PRIVATE)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testGetMetered() {
|
||||||
|
// Verify network is metered.
|
||||||
|
val netIdent1 = NetworkIdentity.buildNetworkIdentity(mockContext,
|
||||||
|
buildMobileNetworkStateSnapshot(NetworkCapabilities(), TEST_IMSI),
|
||||||
|
false /* defaultNetwork */, TelephonyManager.NETWORK_TYPE_UMTS)
|
||||||
|
assertTrue(netIdent1.getMetered())
|
||||||
|
|
||||||
|
// Verify network is not metered because it has NET_CAPABILITY_NOT_METERED capability.
|
||||||
|
val capsNotMetered = NetworkCapabilities.Builder().apply {
|
||||||
|
addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_METERED)
|
||||||
|
}.build()
|
||||||
|
val netIdent2 = NetworkIdentity.buildNetworkIdentity(mockContext,
|
||||||
|
buildMobileNetworkStateSnapshot(capsNotMetered, TEST_IMSI),
|
||||||
|
false /* defaultNetwork */, TelephonyManager.NETWORK_TYPE_UMTS)
|
||||||
|
assertFalse(netIdent2.getMetered())
|
||||||
|
|
||||||
|
// Verify network is not metered because it has NET_CAPABILITY_TEMPORARILY_NOT_METERED
|
||||||
|
// capability .
|
||||||
|
val capsTempNotMetered = NetworkCapabilities().apply {
|
||||||
|
setCapability(NetworkCapabilities.NET_CAPABILITY_TEMPORARILY_NOT_METERED, true)
|
||||||
|
}
|
||||||
|
val netIdent3 = NetworkIdentity.buildNetworkIdentity(mockContext,
|
||||||
|
buildMobileNetworkStateSnapshot(capsTempNotMetered, TEST_IMSI),
|
||||||
|
false /* defaultNetwork */, TelephonyManager.NETWORK_TYPE_UMTS)
|
||||||
|
assertFalse(netIdent3.getMetered())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user