Merge "Add NetworkInfo CTS tests"

This commit is contained in:
Paul Hu
2020-03-25 08:06:00 +00:00
committed by Gerrit Code Review

View File

@@ -16,16 +16,24 @@
package android.net.cts
import android.os.Build
import android.content.Context
import android.net.ConnectivityManager
import android.net.NetworkInfo
import android.net.NetworkInfo.DetailedState
import android.net.NetworkInfo.State
import android.telephony.TelephonyManager
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.runner.AndroidJUnit4
import com.android.testutils.DevSdkIgnoreRule
import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNotNull
import org.junit.Assert.assertNull
import org.junit.Assert.assertTrue
import org.junit.Assert.fail
import org.junit.Rule
import org.junit.runner.RunWith
import org.junit.Test
@@ -33,10 +41,14 @@ const val TYPE_MOBILE = ConnectivityManager.TYPE_MOBILE
const val TYPE_WIFI = ConnectivityManager.TYPE_WIFI
const val MOBILE_TYPE_NAME = "mobile"
const val WIFI_TYPE_NAME = "WIFI"
const val LTE_SUBTYPE_NAME = "LTE"
@SmallTest
@RunWith(AndroidJUnit4::class)
class NetworkInfoTest {
@Rule @JvmField
val ignoreRule = DevSdkIgnoreRule()
@Test
fun testAccessNetworkInfoProperties() {
val cm = InstrumentationRegistry.getInstrumentation().context
@@ -70,4 +82,41 @@ class NetworkInfoTest {
DetailedState.AUTHENTICATING == netInfo.getDetailedState() ||
DetailedState.CONNECTED == netInfo.getDetailedState())
}
@Test @IgnoreUpTo(Build.VERSION_CODES.Q)
fun testConstructor() {
val networkInfo = NetworkInfo(TYPE_MOBILE, TelephonyManager.NETWORK_TYPE_LTE,
MOBILE_TYPE_NAME, LTE_SUBTYPE_NAME)
assertEquals(TYPE_MOBILE, networkInfo.type)
assertEquals(TelephonyManager.NETWORK_TYPE_LTE, networkInfo.subtype)
assertEquals(MOBILE_TYPE_NAME, networkInfo.typeName)
assertEquals(LTE_SUBTYPE_NAME, networkInfo.subtypeName)
assertEquals(DetailedState.IDLE, networkInfo.detailedState)
assertEquals(State.UNKNOWN, networkInfo.state)
assertNull(networkInfo.reason)
assertNull(networkInfo.extraInfo)
try {
NetworkInfo(ConnectivityManager.MAX_NETWORK_TYPE + 1,
TelephonyManager.NETWORK_TYPE_LTE, MOBILE_TYPE_NAME, LTE_SUBTYPE_NAME)
fail("Unexpected behavior. Network type is invalid.")
} catch (e: IllegalArgumentException) {
// Expected behavior.
}
}
@Test
fun testSetDetailedState() {
val networkInfo = NetworkInfo(TYPE_MOBILE, TelephonyManager.NETWORK_TYPE_LTE,
MOBILE_TYPE_NAME, LTE_SUBTYPE_NAME)
val reason = "TestNetworkInfo"
val extraReason = "setDetailedState test"
networkInfo.setDetailedState(DetailedState.CONNECTED, reason, extraReason)
assertEquals(DetailedState.CONNECTED, networkInfo.detailedState)
assertEquals(State.CONNECTED, networkInfo.state)
assertEquals(reason, networkInfo.reason)
assertEquals(extraReason, networkInfo.extraInfo)
}
}