diff options
author | Andrew Sapperstein <asapperstein@google.com> | 2023-04-26 22:33:11 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2023-04-26 22:33:11 +0000 |
commit | c71388f1529a26e59bc4a56fbc4f3b1769d690ff (patch) | |
tree | fa08a724756f429e755bfda4947966e3fec56193 /wifi | |
parent | 53a95919cec5ab81b7bd05a0c5a0e9477f13f748 (diff) | |
parent | 5e28a2c76808bf659f53c5ef6f0e5548aafb0dd1 (diff) | |
download | base-c71388f1529a26e59bc4a56fbc4f3b1769d690ff.tar.gz |
Merge "Remove tests that are duplicated in CTS." into udc-dev am: 9cb6c27097 am: 5e28a2c768
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/22866996
Change-Id: Ic0180cc1d0bab61003e43023886fd764dd0bd0ea
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'wifi')
8 files changed, 1 insertions, 1411 deletions
diff --git a/wifi/java/src/android/net/wifi/sharedconnectivity/app/NetworkProviderInfo.java b/wifi/java/src/android/net/wifi/sharedconnectivity/app/NetworkProviderInfo.java index 638791953fde..01f15916f244 100644 --- a/wifi/java/src/android/net/wifi/sharedconnectivity/app/NetworkProviderInfo.java +++ b/wifi/java/src/android/net/wifi/sharedconnectivity/app/NetworkProviderInfo.java @@ -193,6 +193,7 @@ public final class NetworkProviderInfo implements Parcelable { */ @NonNull public Builder setExtras(@NonNull Bundle extras) { + Objects.requireNonNull(extras); mExtras = extras; return this; } diff --git a/wifi/tests/src/android/net/wifi/sharedconnectivity/app/HotspotNetworkConnectionStatusTest.java b/wifi/tests/src/android/net/wifi/sharedconnectivity/app/HotspotNetworkConnectionStatusTest.java deleted file mode 100644 index b18ab5060924..000000000000 --- a/wifi/tests/src/android/net/wifi/sharedconnectivity/app/HotspotNetworkConnectionStatusTest.java +++ /dev/null @@ -1,139 +0,0 @@ -/* - * Copyright (C) 2023 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 android.net.wifi.sharedconnectivity.app; - -import static android.net.wifi.WifiInfo.SECURITY_TYPE_EAP; -import static android.net.wifi.WifiInfo.SECURITY_TYPE_WEP; -import static android.net.wifi.sharedconnectivity.app.HotspotNetwork.NETWORK_TYPE_CELLULAR; -import static android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus.CONNECTION_STATUS_ENABLING_HOTSPOT; -import static android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus.CONNECTION_STATUS_TETHERING_TIMEOUT; -import static android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.DEVICE_TYPE_TABLET; - -import static com.google.common.truth.Truth.assertThat; - -import android.os.Bundle; -import android.os.Parcel; - -import androidx.test.filters.SmallTest; - -import org.junit.Test; - -import java.util.Arrays; - -/** - * Unit tests for {@link HotspotNetworkConnectionStatus}. - */ -@SmallTest -public class HotspotNetworkConnectionStatusTest { - private static final long DEVICE_ID = 11L; - private static final NetworkProviderInfo NETWORK_PROVIDER_INFO = - new NetworkProviderInfo.Builder("TEST_NAME", "TEST_MODEL") - .setDeviceType(DEVICE_TYPE_TABLET).setConnectionStrength(2) - .setBatteryPercentage(50).build(); - private static final int NETWORK_TYPE = NETWORK_TYPE_CELLULAR; - private static final String NETWORK_NAME = "TEST_NETWORK"; - private static final String HOTSPOT_SSID = "TEST_SSID"; - private static final String HOTSPOT_BSSID = "TEST _BSSID"; - private static final int[] HOTSPOT_SECURITY_TYPES = {SECURITY_TYPE_WEP, SECURITY_TYPE_EAP}; - private static final long DEVICE_ID_1 = 111L; - private static final String BUNDLE_KEY = "INT-KEY"; - private static final int BUNDLE_VALUE = 1; - - /** - * Verifies parcel serialization/deserialization. - */ - @Test - public void testParcelOperation() { - HotspotNetworkConnectionStatus status = buildConnectionStatusBuilder().build(); - - Parcel parcelW = Parcel.obtain(); - status.writeToParcel(parcelW, 0); - byte[] bytes = parcelW.marshall(); - parcelW.recycle(); - - Parcel parcelR = Parcel.obtain(); - parcelR.unmarshall(bytes, 0, bytes.length); - parcelR.setDataPosition(0); - HotspotNetworkConnectionStatus fromParcel = - HotspotNetworkConnectionStatus.CREATOR.createFromParcel(parcelR); - - assertThat(fromParcel).isEqualTo(status); - assertThat(fromParcel.hashCode()).isEqualTo(status.hashCode()); - } - - /** - * Verifies the Equals operation - */ - @Test - public void testEqualsOperation() { - HotspotNetworkConnectionStatus status1 = buildConnectionStatusBuilder().build(); - HotspotNetworkConnectionStatus status2 = buildConnectionStatusBuilder().build(); - assertThat(status1).isEqualTo(status2); - - HotspotNetworkConnectionStatus.Builder builder = buildConnectionStatusBuilder() - .setStatus(CONNECTION_STATUS_TETHERING_TIMEOUT); - assertThat(builder.build()).isNotEqualTo(status1); - - builder = buildConnectionStatusBuilder() - .setHotspotNetwork(buildHotspotNetworkBuilder().setDeviceId(DEVICE_ID_1).build()); - assertThat(builder.build()).isNotEqualTo(status1); - } - - /** - * Verifies the get methods return the expected data. - */ - @Test - public void testGetMethods() { - HotspotNetworkConnectionStatus status = buildConnectionStatusBuilder().build(); - assertThat(status.getStatus()).isEqualTo(CONNECTION_STATUS_ENABLING_HOTSPOT); - assertThat(status.getHotspotNetwork()).isEqualTo(buildHotspotNetworkBuilder().build()); - assertThat(status.getExtras().getInt(BUNDLE_KEY)).isEqualTo(BUNDLE_VALUE); - } - - @Test - public void testHashCode() { - HotspotNetworkConnectionStatus status1 = buildConnectionStatusBuilder().build(); - HotspotNetworkConnectionStatus status2 = buildConnectionStatusBuilder().build(); - - assertThat(status1.hashCode()).isEqualTo(status2.hashCode()); - } - - private HotspotNetworkConnectionStatus.Builder buildConnectionStatusBuilder() { - return new HotspotNetworkConnectionStatus.Builder() - .setStatus(CONNECTION_STATUS_ENABLING_HOTSPOT) - .setHotspotNetwork(buildHotspotNetworkBuilder().build()) - .setExtras(buildBundle()); - } - - private Bundle buildBundle() { - Bundle bundle = new Bundle(); - bundle.putInt(BUNDLE_KEY, BUNDLE_VALUE); - return bundle; - } - - private HotspotNetwork.Builder buildHotspotNetworkBuilder() { - HotspotNetwork.Builder builder = new HotspotNetwork.Builder() - .setDeviceId(DEVICE_ID) - .setNetworkProviderInfo(NETWORK_PROVIDER_INFO) - .setHostNetworkType(NETWORK_TYPE) - .setNetworkName(NETWORK_NAME) - .setHotspotSsid(HOTSPOT_SSID) - .setHotspotBssid(HOTSPOT_BSSID); - Arrays.stream(HOTSPOT_SECURITY_TYPES).forEach(builder::addHotspotSecurityType); - return builder; - } -} diff --git a/wifi/tests/src/android/net/wifi/sharedconnectivity/app/HotspotNetworkTest.java b/wifi/tests/src/android/net/wifi/sharedconnectivity/app/HotspotNetworkTest.java deleted file mode 100644 index 0827ffaea482..000000000000 --- a/wifi/tests/src/android/net/wifi/sharedconnectivity/app/HotspotNetworkTest.java +++ /dev/null @@ -1,182 +0,0 @@ -/* - * Copyright (C) 2023 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 android.net.wifi.sharedconnectivity.app; - -import static android.net.wifi.WifiInfo.SECURITY_TYPE_EAP; -import static android.net.wifi.WifiInfo.SECURITY_TYPE_PSK; -import static android.net.wifi.WifiInfo.SECURITY_TYPE_WEP; -import static android.net.wifi.sharedconnectivity.app.HotspotNetwork.NETWORK_TYPE_CELLULAR; -import static android.net.wifi.sharedconnectivity.app.HotspotNetwork.NETWORK_TYPE_WIFI; -import static android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.DEVICE_TYPE_PHONE; -import static android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.DEVICE_TYPE_TABLET; - -import static com.google.common.truth.Truth.assertThat; - -import static org.junit.Assert.assertThrows; - -import android.os.Bundle; -import android.os.Parcel; -import android.util.ArraySet; - -import androidx.test.filters.SmallTest; -import androidx.test.runner.AndroidJUnit4; - -import org.junit.Test; -import org.junit.runner.RunWith; - -import java.util.Arrays; - -/** - * Unit tests for {@link HotspotNetwork}. - */ -@SmallTest -@RunWith(AndroidJUnit4.class) -public class HotspotNetworkTest { - private static final long DEVICE_ID = 11L; - private static final NetworkProviderInfo NETWORK_PROVIDER_INFO = - new NetworkProviderInfo.Builder("TEST_NAME", "TEST_MODEL") - .setDeviceType(DEVICE_TYPE_TABLET).setConnectionStrength(2) - .setBatteryPercentage(50).build(); - private static final int NETWORK_TYPE = NETWORK_TYPE_CELLULAR; - private static final String NETWORK_NAME = "TEST_NETWORK"; - private static final String HOTSPOT_SSID = "TEST_SSID"; - private static final String HOTSPOT_BSSID = "TEST _BSSID"; - private static final int[] HOTSPOT_SECURITY_TYPES = {SECURITY_TYPE_WEP, SECURITY_TYPE_EAP}; - private static final String BUNDLE_KEY = "INT-KEY"; - private static final int BUNDLE_VALUE = 1; - - private static final long DEVICE_ID_1 = 111L; - private static final NetworkProviderInfo NETWORK_PROVIDER_INFO1 = - new NetworkProviderInfo.Builder("TEST_NAME", "TEST_MODEL") - .setDeviceType(DEVICE_TYPE_PHONE).setConnectionStrength(2) - .setBatteryPercentage(50).build(); - private static final int NETWORK_TYPE_1 = NETWORK_TYPE_WIFI; - private static final String NETWORK_NAME_1 = "TEST_NETWORK1"; - private static final String HOTSPOT_SSID_1 = "TEST_SSID1"; - private static final String HOTSPOT_BSSID_1 = "TEST _BSSID1"; - private static final int[] HOTSPOT_SECURITY_TYPES_1 = {SECURITY_TYPE_PSK, SECURITY_TYPE_EAP}; - - /** - * Verifies parcel serialization/deserialization. - */ - @Test - public void testParcelOperation() { - HotspotNetwork network = buildHotspotNetworkBuilder(true).build(); - - Parcel parcelW = Parcel.obtain(); - network.writeToParcel(parcelW, 0); - byte[] bytes = parcelW.marshall(); - parcelW.recycle(); - - Parcel parcelR = Parcel.obtain(); - parcelR.unmarshall(bytes, 0, bytes.length); - parcelR.setDataPosition(0); - HotspotNetwork fromParcel = HotspotNetwork.CREATOR.createFromParcel(parcelR); - - assertThat(fromParcel).isEqualTo(network); - assertThat(fromParcel.hashCode()).isEqualTo(network.hashCode()); - } - - /** - * Verifies the Equals operation - */ - @Test - public void testEqualsOperation() { - HotspotNetwork network1 = buildHotspotNetworkBuilder(true).build(); - HotspotNetwork network2 = buildHotspotNetworkBuilder(true).build(); - assertThat(network1).isEqualTo(network2); - - HotspotNetwork.Builder builder = buildHotspotNetworkBuilder(true).setDeviceId(DEVICE_ID_1); - assertThat(builder.build()).isNotEqualTo(network1); - - builder = buildHotspotNetworkBuilder(true).setNetworkProviderInfo(NETWORK_PROVIDER_INFO1); - assertThat(builder.build()).isNotEqualTo(network1); - - builder = buildHotspotNetworkBuilder(true).setHostNetworkType(NETWORK_TYPE_1); - assertThat(builder.build()).isNotEqualTo(network1); - - builder = buildHotspotNetworkBuilder(true).setNetworkName(NETWORK_NAME_1); - assertThat(builder.build()).isNotEqualTo(network1); - - builder = buildHotspotNetworkBuilder(true).setHotspotSsid(HOTSPOT_SSID_1); - assertThat(builder.build()).isNotEqualTo(network1); - - builder = buildHotspotNetworkBuilder(true).setHotspotBssid(HOTSPOT_BSSID_1); - assertThat(builder.build()).isNotEqualTo(network1); - - builder = buildHotspotNetworkBuilder(true); - HotspotNetwork.Builder builder1 = buildHotspotNetworkBuilder(true); - Arrays.stream(HOTSPOT_SECURITY_TYPES_1).forEach(builder1::addHotspotSecurityType); - - assertThat(builder1.build()).isNotEqualTo(builder.build()); - } - - /** - * Verifies the get methods return the expected data. - */ - @Test - public void testGetMethods() { - HotspotNetwork network = buildHotspotNetworkBuilder(true).build(); - ArraySet<Integer> securityTypes = new ArraySet<>(); - Arrays.stream(HOTSPOT_SECURITY_TYPES).forEach(securityTypes::add); - - assertThat(network.getDeviceId()).isEqualTo(DEVICE_ID); - assertThat(network.getNetworkProviderInfo()).isEqualTo(NETWORK_PROVIDER_INFO); - assertThat(network.getHostNetworkType()).isEqualTo(NETWORK_TYPE); - assertThat(network.getNetworkName()).isEqualTo(NETWORK_NAME); - assertThat(network.getHotspotSsid()).isEqualTo(HOTSPOT_SSID); - assertThat(network.getHotspotBssid()).isEqualTo(HOTSPOT_BSSID); - assertThat(network.getHotspotSecurityTypes()).containsExactlyElementsIn(securityTypes); - assertThat(network.getExtras().getInt(BUNDLE_KEY)).isEqualTo(BUNDLE_VALUE); - } - - @Test - public void testHashCode() { - HotspotNetwork network1 = buildHotspotNetworkBuilder(true).build(); - HotspotNetwork network2 = buildHotspotNetworkBuilder(true).build(); - - assertThat(network1.hashCode()).isEqualTo(network2.hashCode()); - } - - @Test - public void networkProviderInfoNotSet_shouldThrowException() { - Exception e = assertThrows(IllegalArgumentException.class, - () -> buildHotspotNetworkBuilder(false).build()); - assertThat(e.getMessage()).contains("NetworkProviderInfo"); - } - - private HotspotNetwork.Builder buildHotspotNetworkBuilder(boolean withNetworkProviderInfo) { - HotspotNetwork.Builder builder = new HotspotNetwork.Builder() - .setDeviceId(DEVICE_ID) - .setHostNetworkType(NETWORK_TYPE) - .setNetworkName(NETWORK_NAME) - .setHotspotSsid(HOTSPOT_SSID) - .setHotspotBssid(HOTSPOT_BSSID) - .setExtras(buildBundle()); - Arrays.stream(HOTSPOT_SECURITY_TYPES).forEach(builder::addHotspotSecurityType); - if (withNetworkProviderInfo) { - builder.setNetworkProviderInfo(NETWORK_PROVIDER_INFO); - } - return builder; - } - - private Bundle buildBundle() { - Bundle bundle = new Bundle(); - bundle.putInt(BUNDLE_KEY, BUNDLE_VALUE); - return bundle; - } -} diff --git a/wifi/tests/src/android/net/wifi/sharedconnectivity/app/KnownNetworkConnectionStatusTest.java b/wifi/tests/src/android/net/wifi/sharedconnectivity/app/KnownNetworkConnectionStatusTest.java deleted file mode 100644 index f98a0fcc7574..000000000000 --- a/wifi/tests/src/android/net/wifi/sharedconnectivity/app/KnownNetworkConnectionStatusTest.java +++ /dev/null @@ -1,131 +0,0 @@ -/* - * Copyright (C) 2023 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 android.net.wifi.sharedconnectivity.app; - -import static android.net.wifi.WifiInfo.SECURITY_TYPE_WEP; -import static android.net.wifi.sharedconnectivity.app.KnownNetwork.NETWORK_SOURCE_NEARBY_SELF; -import static android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus.CONNECTION_STATUS_SAVED; -import static android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus.CONNECTION_STATUS_SAVE_FAILED; -import static android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.DEVICE_TYPE_TABLET; - -import static com.google.common.truth.Truth.assertThat; - -import android.os.Bundle; -import android.os.Parcel; - -import androidx.test.filters.SmallTest; - -import org.junit.Test; - -import java.util.Arrays; - -/** - * Unit tests for {@link KnownNetworkConnectionStatus}. - */ -@SmallTest -public class KnownNetworkConnectionStatusTest { - private static final int NETWORK_SOURCE = NETWORK_SOURCE_NEARBY_SELF; - private static final String SSID = "TEST_SSID"; - private static final int[] SECURITY_TYPES = {SECURITY_TYPE_WEP}; - private static final NetworkProviderInfo NETWORK_PROVIDER_INFO = - new NetworkProviderInfo.Builder("TEST_NAME", "TEST_MODEL") - .setDeviceType(DEVICE_TYPE_TABLET).setConnectionStrength(2) - .setBatteryPercentage(50).build(); - private static final String SSID_1 = "TEST_SSID1"; - private static final String BUNDLE_KEY = "INT-KEY"; - private static final int BUNDLE_VALUE = 1; - - /** - * Verifies parcel serialization/deserialization. - */ - @Test - public void testParcelOperation() { - KnownNetworkConnectionStatus status = buildConnectionStatusBuilder().build(); - - Parcel parcelW = Parcel.obtain(); - status.writeToParcel(parcelW, 0); - byte[] bytes = parcelW.marshall(); - parcelW.recycle(); - - Parcel parcelR = Parcel.obtain(); - parcelR.unmarshall(bytes, 0, bytes.length); - parcelR.setDataPosition(0); - KnownNetworkConnectionStatus fromParcel = - KnownNetworkConnectionStatus.CREATOR.createFromParcel(parcelR); - - assertThat(fromParcel).isEqualTo(status); - assertThat(fromParcel.hashCode()).isEqualTo(status.hashCode()); - } - - /** - * Verifies the Equals operation - */ - @Test - public void testEqualsOperation() { - KnownNetworkConnectionStatus status1 = buildConnectionStatusBuilder().build(); - KnownNetworkConnectionStatus status2 = buildConnectionStatusBuilder().build(); - assertThat(status1).isEqualTo(status2); - - KnownNetworkConnectionStatus.Builder builder = buildConnectionStatusBuilder() - .setStatus(CONNECTION_STATUS_SAVE_FAILED); - assertThat(builder.build()).isNotEqualTo(status1); - - builder = buildConnectionStatusBuilder() - .setKnownNetwork(buildKnownNetworkBuilder().setSsid(SSID_1).build()); - assertThat(builder.build()).isNotEqualTo(status1); - } - - /** - * Verifies the get methods return the expected data. - */ - @Test - public void testGetMethods() { - KnownNetworkConnectionStatus status = buildConnectionStatusBuilder().build(); - assertThat(status.getStatus()).isEqualTo(CONNECTION_STATUS_SAVED); - assertThat(status.getKnownNetwork()).isEqualTo(buildKnownNetworkBuilder().build()); - assertThat(status.getExtras().getInt(BUNDLE_KEY)).isEqualTo(BUNDLE_VALUE); - } - - @Test - public void testHashCode() { - KnownNetworkConnectionStatus status1 = buildConnectionStatusBuilder().build(); - KnownNetworkConnectionStatus status2 = buildConnectionStatusBuilder().build(); - - assertThat(status1.hashCode()).isEqualTo(status2.hashCode()); - } - - private KnownNetworkConnectionStatus.Builder buildConnectionStatusBuilder() { - return new KnownNetworkConnectionStatus.Builder() - .setStatus(CONNECTION_STATUS_SAVED) - .setKnownNetwork(buildKnownNetworkBuilder().build()) - .setExtras(buildBundle()); - } - - private Bundle buildBundle() { - Bundle bundle = new Bundle(); - bundle.putInt(BUNDLE_KEY, BUNDLE_VALUE); - return bundle; - } - - private KnownNetwork.Builder buildKnownNetworkBuilder() { - KnownNetwork.Builder builder = new KnownNetwork.Builder().setNetworkSource(NETWORK_SOURCE) - .setSsid(SSID).setNetworkProviderInfo(NETWORK_PROVIDER_INFO); - Arrays.stream(SECURITY_TYPES).forEach(builder::addSecurityType); - return builder; - } - -} diff --git a/wifi/tests/src/android/net/wifi/sharedconnectivity/app/KnownNetworkTest.java b/wifi/tests/src/android/net/wifi/sharedconnectivity/app/KnownNetworkTest.java deleted file mode 100644 index 81d7b44382e0..000000000000 --- a/wifi/tests/src/android/net/wifi/sharedconnectivity/app/KnownNetworkTest.java +++ /dev/null @@ -1,144 +0,0 @@ -/* - * Copyright (C) 2023 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 android.net.wifi.sharedconnectivity.app; - -import static android.net.wifi.WifiInfo.SECURITY_TYPE_PSK; -import static android.net.wifi.WifiInfo.SECURITY_TYPE_WEP; -import static android.net.wifi.sharedconnectivity.app.KnownNetwork.NETWORK_SOURCE_CLOUD_SELF; -import static android.net.wifi.sharedconnectivity.app.KnownNetwork.NETWORK_SOURCE_NEARBY_SELF; -import static android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.DEVICE_TYPE_PHONE; -import static android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.DEVICE_TYPE_TABLET; - -import static com.google.common.truth.Truth.assertThat; - -import android.os.Bundle; -import android.os.Parcel; -import android.util.ArraySet; - -import androidx.test.filters.SmallTest; - -import org.junit.Test; - -import java.util.Arrays; - -/** - * Unit tests for {@link KnownNetwork}. - */ -@SmallTest -public class KnownNetworkTest { - - private static final int NETWORK_SOURCE = NETWORK_SOURCE_NEARBY_SELF; - private static final String SSID = "TEST_SSID"; - private static final int[] SECURITY_TYPES = {SECURITY_TYPE_WEP}; - private static final NetworkProviderInfo NETWORK_PROVIDER_INFO = - new NetworkProviderInfo.Builder("TEST_NAME", "TEST_MODEL") - .setDeviceType(DEVICE_TYPE_TABLET).setConnectionStrength(2) - .setBatteryPercentage(50).build(); - private static final String BUNDLE_KEY = "INT-KEY"; - private static final int BUNDLE_VALUE = 1; - - private static final int NETWORK_SOURCE_1 = NETWORK_SOURCE_CLOUD_SELF; - private static final String SSID_1 = "TEST_SSID1"; - private static final int[] SECURITY_TYPES_1 = {SECURITY_TYPE_PSK}; - private static final NetworkProviderInfo NETWORK_PROVIDER_INFO1 = - new NetworkProviderInfo.Builder("TEST_NAME_1", "TEST_MODEL_1") - .setDeviceType(DEVICE_TYPE_PHONE).setConnectionStrength(3) - .setBatteryPercentage(33).build(); - - /** - * Verifies parcel serialization/deserialization. - */ - @Test - public void testParcelOperation() { - KnownNetwork network = buildKnownNetworkBuilder().build(); - - Parcel parcelW = Parcel.obtain(); - network.writeToParcel(parcelW, 0); - byte[] bytes = parcelW.marshall(); - parcelW.recycle(); - - Parcel parcelR = Parcel.obtain(); - parcelR.unmarshall(bytes, 0, bytes.length); - parcelR.setDataPosition(0); - KnownNetwork fromParcel = KnownNetwork.CREATOR.createFromParcel(parcelR); - - assertThat(fromParcel).isEqualTo(network); - assertThat(fromParcel.hashCode()).isEqualTo(network.hashCode()); - } - - /** - * Verifies the Equals operation - */ - @Test - public void testEqualsOperation() { - KnownNetwork network1 = buildKnownNetworkBuilder().build(); - KnownNetwork network2 = buildKnownNetworkBuilder().build(); - assertThat(network1).isEqualTo(network2); - - KnownNetwork.Builder builder = buildKnownNetworkBuilder() - .setNetworkSource(NETWORK_SOURCE_1); - assertThat(builder.build()).isNotEqualTo(network1); - - builder = buildKnownNetworkBuilder().setSsid(SSID_1); - assertThat(builder.build()).isNotEqualTo(network1); - - builder = buildKnownNetworkBuilder(); - Arrays.stream(SECURITY_TYPES_1).forEach(builder::addSecurityType); - assertThat(builder.build()).isNotEqualTo(network1); - - builder = buildKnownNetworkBuilder().setNetworkProviderInfo(NETWORK_PROVIDER_INFO1); - assertThat(builder.build()).isNotEqualTo(network1); - } - - /** - * Verifies the get methods return the expected data. - */ - @Test - public void testGetMethods() { - KnownNetwork network = buildKnownNetworkBuilder().build(); - ArraySet<Integer> securityTypes = new ArraySet<>(); - Arrays.stream(SECURITY_TYPES).forEach(securityTypes::add); - - assertThat(network.getNetworkSource()).isEqualTo(NETWORK_SOURCE); - assertThat(network.getSsid()).isEqualTo(SSID); - assertThat(network.getSecurityTypes()).containsExactlyElementsIn(securityTypes); - assertThat(network.getNetworkProviderInfo()).isEqualTo(NETWORK_PROVIDER_INFO); - assertThat(network.getExtras().getInt(BUNDLE_KEY)).isEqualTo(BUNDLE_VALUE); - } - - @Test - public void testHashCode() { - KnownNetwork network1 = buildKnownNetworkBuilder().build(); - KnownNetwork network2 = buildKnownNetworkBuilder().build(); - - assertThat(network1.hashCode()).isEqualTo(network2.hashCode()); - } - - private KnownNetwork.Builder buildKnownNetworkBuilder() { - KnownNetwork.Builder builder = new KnownNetwork.Builder().setNetworkSource(NETWORK_SOURCE) - .setSsid(SSID).setNetworkProviderInfo(NETWORK_PROVIDER_INFO) - .setExtras(buildBundle()); - Arrays.stream(SECURITY_TYPES).forEach(builder::addSecurityType); - return builder; - } - - private Bundle buildBundle() { - Bundle bundle = new Bundle(); - bundle.putInt(BUNDLE_KEY, BUNDLE_VALUE); - return bundle; - } -} diff --git a/wifi/tests/src/android/net/wifi/sharedconnectivity/app/NetworkProviderInfoTest.java b/wifi/tests/src/android/net/wifi/sharedconnectivity/app/NetworkProviderInfoTest.java deleted file mode 100644 index 4aa9ca684ad0..000000000000 --- a/wifi/tests/src/android/net/wifi/sharedconnectivity/app/NetworkProviderInfoTest.java +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Copyright (C) 2023 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 android.net.wifi.sharedconnectivity.app; - -import static android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.DEVICE_TYPE_LAPTOP; -import static android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.DEVICE_TYPE_PHONE; - -import static com.google.common.truth.Truth.assertThat; - -import android.os.Bundle; -import android.os.Parcel; - -import androidx.test.filters.SmallTest; - -import org.junit.Test; - -/** - * Unit tests for {@link NetworkProviderInfo}. - */ -@SmallTest -public class NetworkProviderInfoTest { - - private static final int DEVICE_TYPE = DEVICE_TYPE_PHONE; - private static final String DEVICE_NAME = "TEST_NAME"; - private static final String DEVICE_MODEL = "TEST_MODEL"; - private static final int BATTERY_PERCENTAGE = 50; - private static final int CONNECTION_STRENGTH = 2; - private static final String BUNDLE_KEY = "INT-KEY"; - private static final int BUNDLE_VALUE = 1; - - private static final int DEVICE_TYPE_1 = DEVICE_TYPE_LAPTOP; - private static final String DEVICE_NAME_1 = "TEST_NAME1"; - private static final String DEVICE_MODEL_1 = "TEST_MODEL1"; - private static final int BATTERY_PERCENTAGE_1 = 30; - private static final int CONNECTION_STRENGTH_1 = 1; - - /** - * Verifies parcel serialization/deserialization. - */ - @Test - public void testParcelOperation() { - NetworkProviderInfo info = buildNetworkProviderInfoBuilder().build(); - - Parcel parcelW = Parcel.obtain(); - info.writeToParcel(parcelW, 0); - byte[] bytes = parcelW.marshall(); - parcelW.recycle(); - - Parcel parcelR = Parcel.obtain(); - parcelR.unmarshall(bytes, 0, bytes.length); - parcelR.setDataPosition(0); - NetworkProviderInfo fromParcel = NetworkProviderInfo.CREATOR.createFromParcel(parcelR); - - assertThat(fromParcel).isEqualTo(info); - assertThat(fromParcel.hashCode()).isEqualTo(info.hashCode()); - } - - /** - * Verifies the Equals operation - */ - @Test - public void testEqualsOperation() { - NetworkProviderInfo info1 = buildNetworkProviderInfoBuilder().build(); - NetworkProviderInfo info2 = buildNetworkProviderInfoBuilder().build(); - assertThat(info1).isEqualTo(info2); - - NetworkProviderInfo.Builder builder = buildNetworkProviderInfoBuilder().setDeviceType( - DEVICE_TYPE_1); - assertThat(builder.build()).isNotEqualTo(info1); - - builder = buildNetworkProviderInfoBuilder().setDeviceName(DEVICE_NAME_1); - assertThat(builder.build()).isNotEqualTo(info1); - - builder = buildNetworkProviderInfoBuilder().setModelName(DEVICE_MODEL_1); - assertThat(builder.build()).isNotEqualTo(info1); - - builder = buildNetworkProviderInfoBuilder() - .setBatteryPercentage(BATTERY_PERCENTAGE_1); - assertThat(builder.build()).isNotEqualTo(info1); - - builder = buildNetworkProviderInfoBuilder() - .setConnectionStrength(CONNECTION_STRENGTH_1); - assertThat(builder.build()).isNotEqualTo(info1); - } - - /** - * Verifies the get methods return the expected data. - */ - @Test - public void testGetMethods() { - NetworkProviderInfo info = buildNetworkProviderInfoBuilder().build(); - assertThat(info.getDeviceType()).isEqualTo(DEVICE_TYPE); - assertThat(info.getDeviceName()).isEqualTo(DEVICE_NAME); - assertThat(info.getModelName()).isEqualTo(DEVICE_MODEL); - assertThat(info.getBatteryPercentage()).isEqualTo(BATTERY_PERCENTAGE); - assertThat(info.getConnectionStrength()).isEqualTo(CONNECTION_STRENGTH); - assertThat(info.getExtras().getInt(BUNDLE_KEY)).isEqualTo(BUNDLE_VALUE); - } - - @Test - public void testHashCode() { - NetworkProviderInfo info1 = buildNetworkProviderInfoBuilder().build(); - NetworkProviderInfo info2 = buildNetworkProviderInfoBuilder().build(); - - assertThat(info1.hashCode()).isEqualTo(info2.hashCode()); - } - - private NetworkProviderInfo.Builder buildNetworkProviderInfoBuilder() { - return new NetworkProviderInfo.Builder(DEVICE_NAME, DEVICE_MODEL).setDeviceType(DEVICE_TYPE) - .setBatteryPercentage(BATTERY_PERCENTAGE) - .setConnectionStrength(CONNECTION_STRENGTH) - .setExtras(buildBundle()); - } - - private Bundle buildBundle() { - Bundle bundle = new Bundle(); - bundle.putInt(BUNDLE_KEY, BUNDLE_VALUE); - return bundle; - } -} diff --git a/wifi/tests/src/android/net/wifi/sharedconnectivity/app/SharedConnectivityManagerTest.java b/wifi/tests/src/android/net/wifi/sharedconnectivity/app/SharedConnectivityManagerTest.java deleted file mode 100644 index a03a6c2fc673..000000000000 --- a/wifi/tests/src/android/net/wifi/sharedconnectivity/app/SharedConnectivityManagerTest.java +++ /dev/null @@ -1,566 +0,0 @@ -/* - * Copyright (C) 2023 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 android.net.wifi.sharedconnectivity.app; - -import static android.net.wifi.WifiInfo.SECURITY_TYPE_EAP; -import static android.net.wifi.WifiInfo.SECURITY_TYPE_WEP; -import static android.net.wifi.sharedconnectivity.app.HotspotNetwork.NETWORK_TYPE_CELLULAR; -import static android.net.wifi.sharedconnectivity.app.KnownNetwork.NETWORK_SOURCE_NEARBY_SELF; -import static android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.DEVICE_TYPE_TABLET; - -import static com.google.common.truth.Truth.assertThat; - -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.anyInt; -import static org.mockito.Mockito.doThrow; -import static org.mockito.Mockito.never; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -import android.content.ComponentName; -import android.content.Context; -import android.content.Intent; -import android.content.ServiceConnection; -import android.content.res.Resources; -import android.net.wifi.sharedconnectivity.service.ISharedConnectivityService; -import android.os.Bundle; -import android.os.RemoteException; - -import androidx.test.filters.SmallTest; - -import org.junit.Before; -import org.junit.Test; -import org.mockito.Mock; -import org.mockito.MockitoAnnotations; - -import java.util.Arrays; -import java.util.List; -import java.util.concurrent.Executor; - -/** - * Unit tests for {@link SharedConnectivityManager}. - */ -@SmallTest -public class SharedConnectivityManagerTest { - private static final long DEVICE_ID = 11L; - private static final NetworkProviderInfo NETWORK_PROVIDER_INFO = - new NetworkProviderInfo.Builder("TEST_NAME", "TEST_MODEL") - .setDeviceType(DEVICE_TYPE_TABLET).setConnectionStrength(2) - .setBatteryPercentage(50).build(); - private static final int NETWORK_TYPE = NETWORK_TYPE_CELLULAR; - private static final String NETWORK_NAME = "TEST_NETWORK"; - private static final String HOTSPOT_SSID = "TEST_SSID"; - private static final int[] HOTSPOT_SECURITY_TYPES = {SECURITY_TYPE_WEP, SECURITY_TYPE_EAP}; - - private static final int NETWORK_SOURCE = NETWORK_SOURCE_NEARBY_SELF; - private static final String SSID = "TEST_SSID"; - private static final int[] SECURITY_TYPES = {SECURITY_TYPE_WEP}; - - private static final String SERVICE_PACKAGE_NAME = "TEST_PACKAGE"; - private static final String SERVICE_INTENT_ACTION = "TEST_INTENT_ACTION"; - - - @Mock - Context mContext; - @Mock - ISharedConnectivityService mService; - @Mock - Executor mExecutor; - @Mock - SharedConnectivityClientCallback mClientCallback, mClientCallback2; - @Mock - Resources mResources; - @Mock - ISharedConnectivityService.Stub mIBinder; - - private static final ComponentName COMPONENT_NAME = - new ComponentName("dummypkg", "dummycls"); - - @Before - public void setUp() { - MockitoAnnotations.initMocks(this); - setResources(mContext); - } - - @Test - public void resourcesNotDefined_createShouldReturnNull() { - when(mResources.getString(anyInt())).thenThrow(new Resources.NotFoundException()); - - assertThat(SharedConnectivityManager.create(mContext)).isNull(); - } - - @Test - public void resourceStringsAreEmpty_createShouldReturnNull() { - when(mResources.getString(anyInt())).thenReturn(""); - - assertThat(SharedConnectivityManager.create(mContext)).isNull(); - } - - @Test - public void bindingToServiceOnFirstCallbackRegistration() { - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - manager.registerCallback(mExecutor, mClientCallback); - - verify(mContext).bindService(any(Intent.class), any(ServiceConnection.class), anyInt()); - } - - @Test - public void bindIsCalledOnceOnMultipleCallbackRegistrations() throws Exception { - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - - manager.registerCallback(mExecutor, mClientCallback); - verify(mContext, times(1)).bindService(any(Intent.class), any(ServiceConnection.class), - anyInt()); - - manager.registerCallback(mExecutor, mClientCallback2); - verify(mContext, times(1)).bindService(any(Intent.class), any(ServiceConnection.class), - anyInt()); - } - - @Test - public void unbindIsCalledOnLastCallbackUnregistrations() throws Exception { - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - - manager.registerCallback(mExecutor, mClientCallback); - manager.registerCallback(mExecutor, mClientCallback2); - manager.unregisterCallback(mClientCallback); - verify(mContext, never()).unbindService( - any(ServiceConnection.class)); - - manager.unregisterCallback(mClientCallback2); - verify(mContext, times(1)).unbindService( - any(ServiceConnection.class)); - } - - @Test - public void registerCallback_serviceNotConnected_canUnregisterAndReregister() { - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - - manager.registerCallback(mExecutor, mClientCallback); - manager.unregisterCallback(mClientCallback); - manager.registerCallback(mExecutor, mClientCallback); - - verify(mClientCallback, never()).onRegisterCallbackFailed(any(Exception.class)); - } - - @Test - public void registerCallback_serviceConnected() throws Exception { - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - manager.setService(mService); - - manager.registerCallback(mExecutor, mClientCallback); - - verify(mService).registerCallback(any()); - verify(mClientCallback, never()).onRegisterCallbackFailed(any(Exception.class)); - } - - @Test - public void registerCallback_doubleRegistration_shouldFail() throws Exception { - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - manager.setService(mService); - - manager.registerCallback(mExecutor, mClientCallback); - manager.registerCallback(mExecutor, mClientCallback); - - verify(mClientCallback).onRegisterCallbackFailed(any(IllegalStateException.class)); - } - - @Test - public void registerCallback_remoteException_shouldFail() throws Exception { - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - manager.setService(mService); - doThrow(new RemoteException()).when(mService).registerCallback(any()); - - manager.registerCallback(mExecutor, mClientCallback); - - verify(mClientCallback).onRegisterCallbackFailed(any(RemoteException.class)); - } - - @Test - public void unregisterCallback_withoutRegisteringFirst_serviceNotConnected_shouldFail() { - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - manager.setService(null); - - assertThat(manager.unregisterCallback(mClientCallback)).isFalse(); - } - - @Test - public void unregisterCallback_withoutRegisteringFirst_serviceConnected_shouldFail() { - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - manager.setService(mService); - - assertThat(manager.unregisterCallback(mClientCallback)).isFalse(); - } - - @Test - public void unregisterCallback() throws Exception { - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - manager.setService(mService); - - manager.registerCallback(mExecutor, mClientCallback); - - assertThat(manager.unregisterCallback(mClientCallback)).isTrue(); - verify(mService).unregisterCallback(any()); - } - - @Test - public void unregisterCallback_doubleUnregistration_serviceConnected_shouldFail() { - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - manager.setService(mService); - - manager.registerCallback(mExecutor, mClientCallback); - manager.unregisterCallback(mClientCallback); - - assertThat(manager.unregisterCallback(mClientCallback)).isFalse(); - } - - @Test - public void unregisterCallback_doubleUnregistration_serviceNotConnected_shouldFail() { - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - manager.setService(null); - - manager.registerCallback(mExecutor, mClientCallback); - manager.unregisterCallback(mClientCallback); - - assertThat(manager.unregisterCallback(mClientCallback)).isFalse(); - } - - @Test - public void unregisterCallback_remoteException_shouldFail() throws Exception { - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - manager.setService(mService); - - doThrow(new RemoteException()).when(mService).unregisterCallback(any()); - - assertThat(manager.unregisterCallback(mClientCallback)).isFalse(); - } - - @Test - public void onServiceConnected() { - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - - manager.registerCallback(mExecutor, mClientCallback); - manager.getServiceConnection().onServiceConnected(COMPONENT_NAME, mIBinder); - - verify(mClientCallback).onServiceConnected(); - } - - @Test - public void onServiceDisconnected() { - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - - manager.registerCallback(mExecutor, mClientCallback); - manager.getServiceConnection().onServiceConnected(COMPONENT_NAME, mIBinder); - manager.getServiceConnection().onServiceDisconnected(COMPONENT_NAME); - - verify(mClientCallback).onServiceDisconnected(); - } - - - @Test - public void connectHotspotNetwork_serviceNotConnected_shouldFail() { - HotspotNetwork network = buildHotspotNetwork(); - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - manager.setService(null); - - assertThat(manager.connectHotspotNetwork(network)).isFalse(); - } - - @Test - public void connectHotspotNetwork() throws RemoteException { - HotspotNetwork network = buildHotspotNetwork(); - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - manager.setService(mService); - - manager.connectHotspotNetwork(network); - - verify(mService).connectHotspotNetwork(network); - } - - @Test - public void connectHotspotNetwork_remoteException_shouldFail() throws RemoteException { - HotspotNetwork network = buildHotspotNetwork(); - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - manager.setService(mService); - doThrow(new RemoteException()).when(mService).connectHotspotNetwork(network); - - assertThat(manager.connectHotspotNetwork(network)).isFalse(); - } - - @Test - public void disconnectHotspotNetwork_serviceNotConnected_shouldFail() { - HotspotNetwork network = buildHotspotNetwork(); - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - manager.setService(null); - - assertThat(manager.disconnectHotspotNetwork(network)).isFalse(); - } - - @Test - public void disconnectHotspotNetwork() throws RemoteException { - HotspotNetwork network = buildHotspotNetwork(); - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - manager.setService(mService); - - manager.disconnectHotspotNetwork(network); - - verify(mService).disconnectHotspotNetwork(network); - } - - @Test - public void disconnectHotspotNetwork_remoteException_shouldFail() throws RemoteException { - HotspotNetwork network = buildHotspotNetwork(); - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - manager.setService(mService); - doThrow(new RemoteException()).when(mService).disconnectHotspotNetwork(any()); - - assertThat(manager.disconnectHotspotNetwork(network)).isFalse(); - } - - @Test - public void connectKnownNetwork_serviceNotConnected_shouldFail() throws RemoteException { - KnownNetwork network = buildKnownNetwork(); - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - manager.setService(null); - - assertThat(manager.connectKnownNetwork(network)).isFalse(); - } - - @Test - public void connectKnownNetwork() throws RemoteException { - KnownNetwork network = buildKnownNetwork(); - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - manager.setService(mService); - - manager.connectKnownNetwork(network); - - verify(mService).connectKnownNetwork(network); - } - - @Test - public void connectKnownNetwork_remoteException_shouldFail() throws RemoteException { - KnownNetwork network = buildKnownNetwork(); - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - manager.setService(mService); - doThrow(new RemoteException()).when(mService).connectKnownNetwork(network); - - assertThat(manager.connectKnownNetwork(network)).isFalse(); - } - - @Test - public void forgetKnownNetwork_serviceNotConnected_shouldFail() { - KnownNetwork network = buildKnownNetwork(); - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - manager.setService(null); - - assertThat(manager.forgetKnownNetwork(network)).isFalse(); - } - - @Test - public void forgetKnownNetwork_serviceConnected() throws RemoteException { - KnownNetwork network = buildKnownNetwork(); - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - manager.setService(mService); - - manager.forgetKnownNetwork(network); - - verify(mService).forgetKnownNetwork(network); - } - - @Test - public void forgetKnownNetwork_remoteException_shouldFail() throws RemoteException { - KnownNetwork network = buildKnownNetwork(); - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - manager.setService(mService); - doThrow(new RemoteException()).when(mService).forgetKnownNetwork(network); - - assertThat(manager.forgetKnownNetwork(network)).isFalse(); - } - - @Test - public void getHotspotNetworks_serviceNotConnected_shouldReturnNull() { - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - manager.setService(null); - - assertThat(manager.getHotspotNetworks()).isNull(); - } - - @Test - public void getHotspotNetworks_remoteException_shouldReturnNull() throws RemoteException { - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - manager.setService(mService); - doThrow(new RemoteException()).when(mService).getHotspotNetworks(); - - assertThat(manager.getHotspotNetworks()).isNull(); - } - - @Test - public void getHotspotNetworks_shouldReturnNetworksList() throws RemoteException { - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - List<HotspotNetwork> networks = List.of(buildHotspotNetwork()); - manager.setService(mService); - when(mService.getHotspotNetworks()).thenReturn(networks); - - assertThat(manager.getHotspotNetworks()).containsExactly(buildHotspotNetwork()); - } - - @Test - public void getKnownNetworks_serviceNotConnected_shouldReturnNull() - throws RemoteException { - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - manager.setService(null); - - assertThat(manager.getKnownNetworks()).isNull(); - } - - @Test - public void getKnownNetworks_remoteException_shouldReturnNull() throws RemoteException { - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - manager.setService(mService); - doThrow(new RemoteException()).when(mService).getKnownNetworks(); - - assertThat(manager.getKnownNetworks()).isNull(); - } - - @Test - public void getKnownNetworks_shouldReturnNetworksList() throws RemoteException { - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - List<KnownNetwork> networks = List.of(buildKnownNetwork()); - manager.setService(mService); - when(mService.getKnownNetworks()).thenReturn(networks); - - assertThat(manager.getKnownNetworks()).containsExactly(buildKnownNetwork()); - } - - @Test - public void getSettingsState_serviceNotConnected_shouldReturnNull() throws RemoteException { - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - manager.setService(null); - - assertThat(manager.getSettingsState()).isNull(); - } - - @Test - public void getSettingsState_remoteException_shouldReturnNull() throws RemoteException { - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - manager.setService(mService); - doThrow(new RemoteException()).when(mService).getSettingsState(); - - assertThat(manager.getSettingsState()).isNull(); - } - - @Test - public void getSettingsState_serviceConnected_shouldReturnState() throws RemoteException { - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - SharedConnectivitySettingsState state = - new SharedConnectivitySettingsState.Builder().setInstantTetherEnabled(true) - .setExtras(new Bundle()).build(); - manager.setService(mService); - when(mService.getSettingsState()).thenReturn(state); - - assertThat(manager.getSettingsState()).isEqualTo(state); - } - - @Test - public void getHotspotNetworkConnectionStatus_serviceNotConnected_shouldReturnNull() - throws RemoteException { - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - manager.setService(null); - - assertThat(manager.getHotspotNetworkConnectionStatus()).isNull(); - } - - @Test - public void getHotspotNetworkConnectionStatus_remoteException_shouldReturnNull() - throws RemoteException { - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - manager.setService(mService); - doThrow(new RemoteException()).when(mService).getHotspotNetworkConnectionStatus(); - - assertThat(manager.getHotspotNetworkConnectionStatus()).isNull(); - } - - @Test - public void getHotspotNetworkConnectionStatus_serviceConnected_shouldReturnStatus() - throws RemoteException { - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - HotspotNetworkConnectionStatus status = new HotspotNetworkConnectionStatus.Builder() - .setStatus(HotspotNetworkConnectionStatus.CONNECTION_STATUS_ENABLING_HOTSPOT) - .setExtras(new Bundle()).build(); - manager.setService(mService); - when(mService.getHotspotNetworkConnectionStatus()).thenReturn(status); - - assertThat(manager.getHotspotNetworkConnectionStatus()).isEqualTo(status); - } - - @Test - public void getKnownNetworkConnectionStatus_serviceNotConnected_shouldReturnNull() - throws RemoteException { - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - manager.setService(null); - - assertThat(manager.getKnownNetworkConnectionStatus()).isNull(); - } - - @Test - public void getKnownNetworkConnectionStatus_remoteException_shouldReturnNull() - throws RemoteException { - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - manager.setService(mService); - doThrow(new RemoteException()).when(mService).getKnownNetworkConnectionStatus(); - - assertThat(manager.getKnownNetworkConnectionStatus()).isNull(); - } - - @Test - public void getKnownNetworkConnectionStatus_serviceConnected_shouldReturnStatus() - throws RemoteException { - SharedConnectivityManager manager = SharedConnectivityManager.create(mContext); - KnownNetworkConnectionStatus status = new KnownNetworkConnectionStatus.Builder() - .setStatus(KnownNetworkConnectionStatus.CONNECTION_STATUS_SAVED) - .setExtras(new Bundle()).build(); - manager.setService(mService); - when(mService.getKnownNetworkConnectionStatus()).thenReturn(status); - - assertThat(manager.getKnownNetworkConnectionStatus()).isEqualTo(status); - } - - private void setResources(@Mock Context context) { - when(context.getResources()).thenReturn(mResources); - when(mResources.getString(anyInt())) - .thenReturn(SERVICE_PACKAGE_NAME, SERVICE_INTENT_ACTION); - } - - private HotspotNetwork buildHotspotNetwork() { - HotspotNetwork.Builder builder = new HotspotNetwork.Builder() - .setDeviceId(DEVICE_ID) - .setNetworkProviderInfo(NETWORK_PROVIDER_INFO) - .setHostNetworkType(NETWORK_TYPE) - .setNetworkName(NETWORK_NAME) - .setHotspotSsid(HOTSPOT_SSID); - Arrays.stream(HOTSPOT_SECURITY_TYPES).forEach(builder::addHotspotSecurityType); - return builder.build(); - } - - private KnownNetwork buildKnownNetwork() { - KnownNetwork.Builder builder = new KnownNetwork.Builder().setNetworkSource(NETWORK_SOURCE) - .setSsid(SSID).setNetworkProviderInfo(NETWORK_PROVIDER_INFO); - Arrays.stream(SECURITY_TYPES).forEach(builder::addSecurityType); - return builder.build(); - } -} diff --git a/wifi/tests/src/android/net/wifi/sharedconnectivity/app/SharedConnectivitySettingsStateTest.java b/wifi/tests/src/android/net/wifi/sharedconnectivity/app/SharedConnectivitySettingsStateTest.java deleted file mode 100644 index d6e7138dee2c..000000000000 --- a/wifi/tests/src/android/net/wifi/sharedconnectivity/app/SharedConnectivitySettingsStateTest.java +++ /dev/null @@ -1,115 +0,0 @@ -/* - * Copyright (C) 2023 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 android.net.wifi.sharedconnectivity.app; - -import static com.google.common.truth.Truth.assertThat; - -import static org.junit.Assert.assertThrows; - -import android.app.PendingIntent; -import android.content.ComponentName; -import android.content.Intent; -import android.os.Parcel; - -import androidx.test.core.app.ApplicationProvider; -import androidx.test.filters.SmallTest; - -import org.junit.Test; - -/** - * Unit tests for {@link SharedConnectivitySettingsState}. - */ -@SmallTest -public class SharedConnectivitySettingsStateTest { - private static final boolean INSTANT_TETHER_STATE = true; - private static final String INTENT_ACTION = "instant.tether.settings"; - - private static final boolean INSTANT_TETHER_STATE_1 = false; - private static final String INTENT_ACTION_1 = "instant.tether.settings1"; - - @Test - public void pendingIntentMutable_buildShouldThrow() { - SharedConnectivitySettingsState.Builder builder = - new SharedConnectivitySettingsState.Builder() - .setInstantTetherEnabled(INSTANT_TETHER_STATE) - .setInstantTetherSettingsPendingIntent(PendingIntent.getActivity( - ApplicationProvider.getApplicationContext(), 0, - new Intent(INTENT_ACTION).setComponent(new ComponentName( - "com.test.package", "TestClass")), - PendingIntent.FLAG_MUTABLE)); - - Exception e = assertThrows(IllegalArgumentException.class, builder::build); - assertThat(e.getMessage()).contains("Pending intent must be immutable"); - } - - @Test - public void parcelOperation() { - SharedConnectivitySettingsState state = buildSettingsStateBuilder(INTENT_ACTION).build(); - - Parcel parcel = Parcel.obtain(); - state.writeToParcel(parcel, 0); - parcel.setDataPosition(0); - SharedConnectivitySettingsState fromParcel = - SharedConnectivitySettingsState.CREATOR.createFromParcel(parcel); - - assertThat(fromParcel).isEqualTo(state); - assertThat(fromParcel.hashCode()).isEqualTo(state.hashCode()); - } - - @Test - public void equalsOperation() { - SharedConnectivitySettingsState state1 = buildSettingsStateBuilder(INTENT_ACTION).build(); - SharedConnectivitySettingsState state2 = buildSettingsStateBuilder(INTENT_ACTION).build(); - assertThat(state1).isEqualTo(state2); - - SharedConnectivitySettingsState.Builder builder = buildSettingsStateBuilder(INTENT_ACTION) - .setInstantTetherEnabled(INSTANT_TETHER_STATE_1); - assertThat(builder.build()).isNotEqualTo(state1); - - builder = buildSettingsStateBuilder(INTENT_ACTION_1); - assertThat(builder.build()).isNotEqualTo(state1); - } - - @Test - public void getMethods() { - SharedConnectivitySettingsState state = buildSettingsStateBuilder(INTENT_ACTION).build(); - - assertThat(state.isInstantTetherEnabled()).isEqualTo(INSTANT_TETHER_STATE); - assertThat(state.getInstantTetherSettingsPendingIntent()) - .isEqualTo(buildPendingIntent(INTENT_ACTION)); - } - - @Test - public void hashCodeCalculation() { - SharedConnectivitySettingsState state1 = buildSettingsStateBuilder(INTENT_ACTION).build(); - SharedConnectivitySettingsState state2 = buildSettingsStateBuilder(INTENT_ACTION).build(); - - assertThat(state1.hashCode()).isEqualTo(state2.hashCode()); - } - - private SharedConnectivitySettingsState.Builder buildSettingsStateBuilder(String intentAction) { - return new SharedConnectivitySettingsState.Builder() - .setInstantTetherEnabled(INSTANT_TETHER_STATE) - .setInstantTetherSettingsPendingIntent(buildPendingIntent(intentAction)); - } - - private PendingIntent buildPendingIntent(String intentAction) { - return PendingIntent.getActivity( - ApplicationProvider.getApplicationContext(), 0, - new Intent(intentAction), PendingIntent.FLAG_IMMUTABLE); - } -} |