diff options
| -rw-r--r-- | wifi/java/src/android/net/wifi/sharedconnectivity/app/HotspotNetwork.java | 9 | ||||
| -rw-r--r-- | wifi/tests/src/android/net/wifi/sharedconnectivity/app/HotspotNetworkTest.java | 46 |
2 files changed, 37 insertions, 18 deletions
diff --git a/wifi/java/src/android/net/wifi/sharedconnectivity/app/HotspotNetwork.java b/wifi/java/src/android/net/wifi/sharedconnectivity/app/HotspotNetwork.java index d3b7b12e5387..9bfeb6308d13 100644 --- a/wifi/java/src/android/net/wifi/sharedconnectivity/app/HotspotNetwork.java +++ b/wifi/java/src/android/net/wifi/sharedconnectivity/app/HotspotNetwork.java @@ -207,10 +207,14 @@ public final class HotspotNetwork implements Parcelable { } } - private static void validate(long deviceId, @NetworkType int networkType, String networkName) { + private static void validate(long deviceId, @NetworkType int networkType, String networkName, + NetworkProviderInfo networkProviderInfo) { if (deviceId < 0) { throw new IllegalArgumentException("DeviceId must be set"); } + if (Objects.isNull(networkProviderInfo)) { + throw new IllegalArgumentException("NetworkProviderInfo must be set"); + } if (networkType != NETWORK_TYPE_CELLULAR && networkType != NETWORK_TYPE_WIFI && networkType != NETWORK_TYPE_ETHERNET && networkType != NETWORK_TYPE_UNKNOWN) { throw new IllegalArgumentException("Illegal network type"); @@ -230,7 +234,8 @@ public final class HotspotNetwork implements Parcelable { @Nullable @SecurityType ArraySet<Integer> hotspotSecurityTypes) { validate(deviceId, networkType, - networkName); + networkName, + networkProviderInfo); mDeviceId = deviceId; mNetworkProviderInfo = networkProviderInfo; mNetworkType = networkType; diff --git a/wifi/tests/src/android/net/wifi/sharedconnectivity/app/HotspotNetworkTest.java b/wifi/tests/src/android/net/wifi/sharedconnectivity/app/HotspotNetworkTest.java index 8e396b68ad3a..8302094b1c34 100644 --- a/wifi/tests/src/android/net/wifi/sharedconnectivity/app/HotspotNetworkTest.java +++ b/wifi/tests/src/android/net/wifi/sharedconnectivity/app/HotspotNetworkTest.java @@ -26,12 +26,16 @@ import static android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.DEVICE import static com.google.common.truth.Truth.assertThat; +import static org.junit.Assert.assertThrows; + 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; @@ -39,6 +43,7 @@ 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 = @@ -67,7 +72,7 @@ public class HotspotNetworkTest { */ @Test public void testParcelOperation() { - HotspotNetwork network = buildHotspotNetworkBuilder().build(); + HotspotNetwork network = buildHotspotNetworkBuilder(true).build(); Parcel parcelW = Parcel.obtain(); network.writeToParcel(parcelW, 0); @@ -88,30 +93,30 @@ public class HotspotNetworkTest { */ @Test public void testEqualsOperation() { - HotspotNetwork network1 = buildHotspotNetworkBuilder().build(); - HotspotNetwork network2 = buildHotspotNetworkBuilder().build(); + HotspotNetwork network1 = buildHotspotNetworkBuilder(true).build(); + HotspotNetwork network2 = buildHotspotNetworkBuilder(true).build(); assertThat(network1).isEqualTo(network2); - HotspotNetwork.Builder builder = buildHotspotNetworkBuilder().setDeviceId(DEVICE_ID_1); + HotspotNetwork.Builder builder = buildHotspotNetworkBuilder(true).setDeviceId(DEVICE_ID_1); assertThat(builder.build()).isNotEqualTo(network1); - builder = buildHotspotNetworkBuilder().setNetworkProviderInfo(NETWORK_PROVIDER_INFO1); + builder = buildHotspotNetworkBuilder(true).setNetworkProviderInfo(NETWORK_PROVIDER_INFO1); assertThat(builder.build()).isNotEqualTo(network1); - builder = buildHotspotNetworkBuilder().setHostNetworkType(NETWORK_TYPE_1); + builder = buildHotspotNetworkBuilder(true).setHostNetworkType(NETWORK_TYPE_1); assertThat(builder.build()).isNotEqualTo(network1); - builder = buildHotspotNetworkBuilder().setNetworkName(NETWORK_NAME_1); + builder = buildHotspotNetworkBuilder(true).setNetworkName(NETWORK_NAME_1); assertThat(builder.build()).isNotEqualTo(network1); - builder = buildHotspotNetworkBuilder().setHotspotSsid(HOTSPOT_SSID_1); + builder = buildHotspotNetworkBuilder(true).setHotspotSsid(HOTSPOT_SSID_1); assertThat(builder.build()).isNotEqualTo(network1); - builder = buildHotspotNetworkBuilder().setHotspotBssid(HOTSPOT_BSSID_1); + builder = buildHotspotNetworkBuilder(true).setHotspotBssid(HOTSPOT_BSSID_1); assertThat(builder.build()).isNotEqualTo(network1); - builder = buildHotspotNetworkBuilder(); - HotspotNetwork.Builder builder1 = buildHotspotNetworkBuilder(); + builder = buildHotspotNetworkBuilder(true); + HotspotNetwork.Builder builder1 = buildHotspotNetworkBuilder(true); Arrays.stream(HOTSPOT_SECURITY_TYPES_1).forEach(builder1::addHotspotSecurityType); assertThat(builder1.build()).isNotEqualTo(builder.build()); @@ -122,7 +127,7 @@ public class HotspotNetworkTest { */ @Test public void testGetMethods() { - HotspotNetwork network = buildHotspotNetworkBuilder().build(); + HotspotNetwork network = buildHotspotNetworkBuilder(true).build(); ArraySet<Integer> securityTypes = new ArraySet<>(); Arrays.stream(HOTSPOT_SECURITY_TYPES).forEach(securityTypes::add); @@ -137,21 +142,30 @@ public class HotspotNetworkTest { @Test public void testHashCode() { - HotspotNetwork network1 = buildHotspotNetworkBuilder().build(); - HotspotNetwork network2 = buildHotspotNetworkBuilder().build(); + HotspotNetwork network1 = buildHotspotNetworkBuilder(true).build(); + HotspotNetwork network2 = buildHotspotNetworkBuilder(true).build(); assertThat(network1.hashCode()).isEqualTo(network2.hashCode()); } - private HotspotNetwork.Builder buildHotspotNetworkBuilder() { + @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) - .setNetworkProviderInfo(NETWORK_PROVIDER_INFO) .setHostNetworkType(NETWORK_TYPE) .setNetworkName(NETWORK_NAME) .setHotspotSsid(HOTSPOT_SSID) .setHotspotBssid(HOTSPOT_BSSID); Arrays.stream(HOTSPOT_SECURITY_TYPES).forEach(builder::addHotspotSecurityType); + if (withNetworkProviderInfo) { + builder.setNetworkProviderInfo(NETWORK_PROVIDER_INFO); + } return builder; } } |