diff options
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.kt | 127 |
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) - } -} |