[MS65.4] Address comments at aosp/1954383

Test: atest NetworkIdentityTest#testBuilder
Bug: 204830222
Change-Id: I3d0f8175ee782c76839cbbdb5eb8a1219a61d874
This commit is contained in:
Junyu Lai 2022-01-21 14:44:28 +00:00 • committed by junyulai
commit 84413a92c3

View file

@ -17,7 +17,11 @@
package android.net
import android.content.Context
import android.net.ConnectivityManager.MAX_NETWORK_TYPE
import android.net.ConnectivityManager.TYPE_ETHERNET
import android.net.ConnectivityManager.TYPE_MOBILE
import android.net.ConnectivityManager.TYPE_NONE
import android.net.ConnectivityManager.TYPE_WIFI
import android.net.NetworkIdentity.OEM_NONE
import android.net.NetworkIdentity.OEM_PAID
import android.net.NetworkIdentity.OEM_PRIVATE
@ -30,10 +34,12 @@ import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.Mockito.mock
import kotlin.test.assertEquals
import kotlin.test.assertFailsWith
import kotlin.test.assertFalse
import kotlin.test.assertTrue
private const val TEST_IMSI = "testimsi"
private const val TEST_WIFI_KEY = "testwifikey"
@RunWith(DevSdkIgnoreRunner::class)
@DevSdkIgnoreRule.IgnoreUpTo(Build.VERSION_CODES.R)
@ -126,6 +132,92 @@ class NetworkIdentityTest {
assertEquals(identFromLegacyBuild, identFromSnapshot)
assertEquals(identFromConstructor, identFromSnapshot)
// TODO: Add test cases for wifiNetworkKey and ratType.
// Assert non-wifi can't have wifi network key.
assertFailsWith<IllegalArgumentException> {
NetworkIdentity.Builder()
.setType(TYPE_ETHERNET)
.setWifiNetworkKey(TEST_WIFI_KEY)
.build()
}
// Assert non-mobile can't have ratType.
assertFailsWith<IllegalArgumentException> {
NetworkIdentity.Builder()
.setType(TYPE_WIFI)
.setRatType(TelephonyManager.NETWORK_TYPE_LTE)
.build()
}
}
@Test
fun testBuilder_type() {
// Assert illegal type values cannot make an identity.
listOf(Integer.MIN_VALUE, TYPE_NONE - 1, MAX_NETWORK_TYPE + 1, Integer.MAX_VALUE)
.forEach { type ->
assertFailsWith<IllegalArgumentException> {
NetworkIdentity.Builder().setType(type).build()
}
}
// Verify legitimate type values can make an identity.
for (type in TYPE_NONE..MAX_NETWORK_TYPE) {
NetworkIdentity.Builder().setType(type).build().also {
assertEquals(it.type, type)
}
}
}
@Test
fun testBuilder_ratType() {
// Assert illegal ratTypes cannot make an identity.
listOf(Integer.MIN_VALUE, NetworkTemplate.NETWORK_TYPE_ALL,
TelephonyManager.NETWORK_TYPE_UNKNOWN - 1, Integer.MAX_VALUE)
.forEach {
assertFailsWith<IllegalArgumentException> {
NetworkIdentity.Builder()
.setType(TYPE_MOBILE)
.setRatType(it)
.build()
}
}
// Verify legitimate ratTypes can make an identity.
TelephonyManager.getAllNetworkTypes().toMutableList().also {
it.add(TelephonyManager.NETWORK_TYPE_UNKNOWN)
}.forEach { rat ->
NetworkIdentity.Builder()
.setType(TYPE_MOBILE)
.setRatType(rat)
.build().also {
assertEquals(it.ratType, rat)
}
}
}
@Test
fun testBuilder_oemManaged() {
// Assert illegal oemManage values cannot make an identity.
listOf(Integer.MIN_VALUE, NetworkTemplate.OEM_MANAGED_ALL, NetworkTemplate.OEM_MANAGED_YES,
Integer.MAX_VALUE)
.forEach {
assertFailsWith<IllegalArgumentException> {
NetworkIdentity.Builder()
.setType(TYPE_MOBILE)
.setRatType(it)
.build()
}
}
// Verify legitimate oem managed values can make an identity.
listOf(NetworkTemplate.OEM_MANAGED_NO, NetworkTemplate.OEM_MANAGED_PAID,
NetworkTemplate.OEM_MANAGED_PRIVATE, NetworkTemplate.OEM_MANAGED_PAID or
NetworkTemplate.OEM_MANAGED_PRIVATE)
.forEach { oemManaged ->
NetworkIdentity.Builder()
.setOemManaged(oemManaged)
.build().also {
assertEquals(it.oemManaged, oemManaged)
}
}
}
}