summaryrefslogtreecommitdiff
path: root/common/tests/unit/src/com/android/net/module/util/NetworkCapabilitiesUtilsTest.kt
diff options
context:
space:
mode:
Diffstat (limited to 'common/tests/unit/src/com/android/net/module/util/NetworkCapabilitiesUtilsTest.kt')
-rw-r--r--common/tests/unit/src/com/android/net/module/util/NetworkCapabilitiesUtilsTest.kt127
1 files changed, 0 insertions, 127 deletions
diff --git a/common/tests/unit/src/com/android/net/module/util/NetworkCapabilitiesUtilsTest.kt b/common/tests/unit/src/com/android/net/module/util/NetworkCapabilitiesUtilsTest.kt
deleted file mode 100644
index 958f45f4..00000000
--- a/common/tests/unit/src/com/android/net/module/util/NetworkCapabilitiesUtilsTest.kt
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * 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.net.module.util
-
-import android.annotation.TargetApi
-import android.net.NetworkCapabilities
-import android.net.NetworkCapabilities.NET_CAPABILITY_BIP
-import android.net.NetworkCapabilities.NET_CAPABILITY_CBS
-import android.net.NetworkCapabilities.NET_CAPABILITY_EIMS
-import android.net.NetworkCapabilities.NET_CAPABILITY_INTERNET
-import android.net.NetworkCapabilities.NET_CAPABILITY_OEM_PAID
-import android.net.NetworkCapabilities.TRANSPORT_BLUETOOTH
-import android.net.NetworkCapabilities.TRANSPORT_CELLULAR
-import android.net.NetworkCapabilities.TRANSPORT_ETHERNET
-import android.net.NetworkCapabilities.TRANSPORT_TEST
-import android.net.NetworkCapabilities.TRANSPORT_VPN
-import android.net.NetworkCapabilities.TRANSPORT_WIFI
-import android.net.NetworkCapabilities.TRANSPORT_WIFI_AWARE
-import android.os.Build
-import androidx.test.filters.SmallTest
-import androidx.test.runner.AndroidJUnit4
-import com.android.modules.utils.build.SdkLevel
-import com.android.net.module.util.NetworkCapabilitiesUtils.RESTRICTED_CAPABILITIES
-import com.android.net.module.util.NetworkCapabilitiesUtils.UNRESTRICTED_CAPABILITIES
-import com.android.net.module.util.NetworkCapabilitiesUtils.getDisplayTransport
-import org.junit.Test
-import org.junit.runner.RunWith
-import java.lang.IllegalArgumentException
-import kotlin.test.assertEquals
-import kotlin.test.assertFailsWith
-import kotlin.test.assertFalse
-import kotlin.test.assertTrue
-
-@RunWith(AndroidJUnit4::class)
-@SmallTest
-class NetworkCapabilitiesUtilsTest {
-
- @Test
- fun testGetAccountingTransport() {
- assertEquals(TRANSPORT_WIFI, getDisplayTransport(intArrayOf(TRANSPORT_WIFI)))
- assertEquals(TRANSPORT_CELLULAR, getDisplayTransport(intArrayOf(TRANSPORT_CELLULAR)))
- assertEquals(TRANSPORT_BLUETOOTH, getDisplayTransport(intArrayOf(TRANSPORT_BLUETOOTH)))
- assertEquals(TRANSPORT_ETHERNET, getDisplayTransport(intArrayOf(TRANSPORT_ETHERNET)))
- assertEquals(TRANSPORT_WIFI_AWARE, getDisplayTransport(intArrayOf(TRANSPORT_WIFI_AWARE)))
-
- assertEquals(TRANSPORT_VPN, getDisplayTransport(
- intArrayOf(TRANSPORT_VPN, TRANSPORT_WIFI)))
- assertEquals(TRANSPORT_VPN, getDisplayTransport(
- intArrayOf(TRANSPORT_CELLULAR, TRANSPORT_VPN)))
-
- assertEquals(TRANSPORT_WIFI, getDisplayTransport(
- intArrayOf(TRANSPORT_ETHERNET, TRANSPORT_WIFI)))
- assertEquals(TRANSPORT_ETHERNET, getDisplayTransport(
- intArrayOf(TRANSPORT_ETHERNET, TRANSPORT_TEST)))
-
- assertFailsWith(IllegalArgumentException::class) {
- getDisplayTransport(intArrayOf())
- }
- }
-
- // NetworkCapabilities constructor and Builder are not available until R. Mark TargetApi to
- // ignore the linter error since it's used in only unit test.
- @Test @TargetApi(Build.VERSION_CODES.R)
- fun testInferRestrictedCapability() {
- val nc = NetworkCapabilities()
- // Default capabilities don't have restricted capability.
- assertFalse(NetworkCapabilitiesUtils.inferRestrictedCapability(nc))
- // If there is a force restricted capability, then the network capabilities is restricted.
- nc.addCapability(NET_CAPABILITY_OEM_PAID)
- nc.addCapability(NET_CAPABILITY_INTERNET)
- assertTrue(NetworkCapabilitiesUtils.inferRestrictedCapability(nc))
- // Except for the force restricted capability, if there is any unrestricted capability in
- // capabilities, then the network capabilities is not restricted.
- nc.removeCapability(NET_CAPABILITY_OEM_PAID)
- nc.addCapability(NET_CAPABILITY_CBS)
- assertFalse(NetworkCapabilitiesUtils.inferRestrictedCapability(nc))
- // Except for the force restricted capability, the network capabilities will only be treated
- // as restricted when there is no any unrestricted capability.
- nc.removeCapability(NET_CAPABILITY_INTERNET)
- assertTrue(NetworkCapabilitiesUtils.inferRestrictedCapability(nc))
- if (!SdkLevel.isAtLeastS()) return
- // BIP deserves its specific test because it's the first capability over 30, meaning the
- // shift will overflow
- nc.removeCapability(NET_CAPABILITY_CBS)
- nc.addCapability(NET_CAPABILITY_BIP)
- assertTrue(NetworkCapabilitiesUtils.inferRestrictedCapability(nc))
- }
-
- @Test
- fun testRestrictedUnrestrictedCapabilities() {
- // verify EIMS is restricted
- assertEquals((1 shl NET_CAPABILITY_EIMS).toLong() and RESTRICTED_CAPABILITIES,
- (1 shl NET_CAPABILITY_EIMS).toLong())
-
- // verify CBS is also restricted
- assertEquals((1 shl NET_CAPABILITY_CBS).toLong() and RESTRICTED_CAPABILITIES,
- (1 shl NET_CAPABILITY_CBS).toLong())
-
- // verify BIP is also restricted
- // BIP is not available in R and before, but the BIP constant is inlined so
- // this test can still run on R.
- assertEquals((1L shl NET_CAPABILITY_BIP) and RESTRICTED_CAPABILITIES,
- (1L shl NET_CAPABILITY_BIP))
-
- // verify default is not restricted
- assertEquals((1 shl NET_CAPABILITY_INTERNET).toLong() and RESTRICTED_CAPABILITIES, 0)
-
- assertTrue(RESTRICTED_CAPABILITIES > 0)
-
- // just to see
- assertEquals(RESTRICTED_CAPABILITIES and UNRESTRICTED_CAPABILITIES, 0)
- }
-}