Merge "Validate NetworkDeviceInfo is not null in HotspotNetwork" into udc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
a37d81bf0e
@@ -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) {
|
if (deviceId < 0) {
|
||||||
throw new IllegalArgumentException("DeviceId must be set");
|
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
|
if (networkType != NETWORK_TYPE_CELLULAR && networkType != NETWORK_TYPE_WIFI
|
||||||
&& networkType != NETWORK_TYPE_ETHERNET && networkType != NETWORK_TYPE_UNKNOWN) {
|
&& networkType != NETWORK_TYPE_ETHERNET && networkType != NETWORK_TYPE_UNKNOWN) {
|
||||||
throw new IllegalArgumentException("Illegal network type");
|
throw new IllegalArgumentException("Illegal network type");
|
||||||
@@ -230,7 +234,8 @@ public final class HotspotNetwork implements Parcelable {
|
|||||||
@Nullable @SecurityType ArraySet<Integer> hotspotSecurityTypes) {
|
@Nullable @SecurityType ArraySet<Integer> hotspotSecurityTypes) {
|
||||||
validate(deviceId,
|
validate(deviceId,
|
||||||
networkType,
|
networkType,
|
||||||
networkName);
|
networkName,
|
||||||
|
networkProviderInfo);
|
||||||
mDeviceId = deviceId;
|
mDeviceId = deviceId;
|
||||||
mNetworkProviderInfo = networkProviderInfo;
|
mNetworkProviderInfo = networkProviderInfo;
|
||||||
mNetworkType = networkType;
|
mNetworkType = networkType;
|
||||||
|
|||||||
@@ -26,12 +26,16 @@ import static android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.DEVICE
|
|||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertThrows;
|
||||||
|
|
||||||
import android.os.Parcel;
|
import android.os.Parcel;
|
||||||
import android.util.ArraySet;
|
import android.util.ArraySet;
|
||||||
|
|
||||||
import androidx.test.filters.SmallTest;
|
import androidx.test.filters.SmallTest;
|
||||||
|
import androidx.test.runner.AndroidJUnit4;
|
||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
||||||
@@ -39,6 +43,7 @@ import java.util.Arrays;
|
|||||||
* Unit tests for {@link HotspotNetwork}.
|
* Unit tests for {@link HotspotNetwork}.
|
||||||
*/
|
*/
|
||||||
@SmallTest
|
@SmallTest
|
||||||
|
@RunWith(AndroidJUnit4.class)
|
||||||
public class HotspotNetworkTest {
|
public class HotspotNetworkTest {
|
||||||
private static final long DEVICE_ID = 11L;
|
private static final long DEVICE_ID = 11L;
|
||||||
private static final NetworkProviderInfo NETWORK_PROVIDER_INFO =
|
private static final NetworkProviderInfo NETWORK_PROVIDER_INFO =
|
||||||
@@ -67,7 +72,7 @@ public class HotspotNetworkTest {
|
|||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testParcelOperation() {
|
public void testParcelOperation() {
|
||||||
HotspotNetwork network = buildHotspotNetworkBuilder().build();
|
HotspotNetwork network = buildHotspotNetworkBuilder(true).build();
|
||||||
|
|
||||||
Parcel parcelW = Parcel.obtain();
|
Parcel parcelW = Parcel.obtain();
|
||||||
network.writeToParcel(parcelW, 0);
|
network.writeToParcel(parcelW, 0);
|
||||||
@@ -88,30 +93,30 @@ public class HotspotNetworkTest {
|
|||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testEqualsOperation() {
|
public void testEqualsOperation() {
|
||||||
HotspotNetwork network1 = buildHotspotNetworkBuilder().build();
|
HotspotNetwork network1 = buildHotspotNetworkBuilder(true).build();
|
||||||
HotspotNetwork network2 = buildHotspotNetworkBuilder().build();
|
HotspotNetwork network2 = buildHotspotNetworkBuilder(true).build();
|
||||||
assertThat(network1).isEqualTo(network2);
|
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);
|
assertThat(builder.build()).isNotEqualTo(network1);
|
||||||
|
|
||||||
builder = buildHotspotNetworkBuilder().setNetworkProviderInfo(NETWORK_PROVIDER_INFO1);
|
builder = buildHotspotNetworkBuilder(true).setNetworkProviderInfo(NETWORK_PROVIDER_INFO1);
|
||||||
assertThat(builder.build()).isNotEqualTo(network1);
|
assertThat(builder.build()).isNotEqualTo(network1);
|
||||||
|
|
||||||
builder = buildHotspotNetworkBuilder().setHostNetworkType(NETWORK_TYPE_1);
|
builder = buildHotspotNetworkBuilder(true).setHostNetworkType(NETWORK_TYPE_1);
|
||||||
assertThat(builder.build()).isNotEqualTo(network1);
|
assertThat(builder.build()).isNotEqualTo(network1);
|
||||||
|
|
||||||
builder = buildHotspotNetworkBuilder().setNetworkName(NETWORK_NAME_1);
|
builder = buildHotspotNetworkBuilder(true).setNetworkName(NETWORK_NAME_1);
|
||||||
assertThat(builder.build()).isNotEqualTo(network1);
|
assertThat(builder.build()).isNotEqualTo(network1);
|
||||||
|
|
||||||
builder = buildHotspotNetworkBuilder().setHotspotSsid(HOTSPOT_SSID_1);
|
builder = buildHotspotNetworkBuilder(true).setHotspotSsid(HOTSPOT_SSID_1);
|
||||||
assertThat(builder.build()).isNotEqualTo(network1);
|
assertThat(builder.build()).isNotEqualTo(network1);
|
||||||
|
|
||||||
builder = buildHotspotNetworkBuilder().setHotspotBssid(HOTSPOT_BSSID_1);
|
builder = buildHotspotNetworkBuilder(true).setHotspotBssid(HOTSPOT_BSSID_1);
|
||||||
assertThat(builder.build()).isNotEqualTo(network1);
|
assertThat(builder.build()).isNotEqualTo(network1);
|
||||||
|
|
||||||
builder = buildHotspotNetworkBuilder();
|
builder = buildHotspotNetworkBuilder(true);
|
||||||
HotspotNetwork.Builder builder1 = buildHotspotNetworkBuilder();
|
HotspotNetwork.Builder builder1 = buildHotspotNetworkBuilder(true);
|
||||||
Arrays.stream(HOTSPOT_SECURITY_TYPES_1).forEach(builder1::addHotspotSecurityType);
|
Arrays.stream(HOTSPOT_SECURITY_TYPES_1).forEach(builder1::addHotspotSecurityType);
|
||||||
|
|
||||||
assertThat(builder1.build()).isNotEqualTo(builder.build());
|
assertThat(builder1.build()).isNotEqualTo(builder.build());
|
||||||
@@ -122,7 +127,7 @@ public class HotspotNetworkTest {
|
|||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testGetMethods() {
|
public void testGetMethods() {
|
||||||
HotspotNetwork network = buildHotspotNetworkBuilder().build();
|
HotspotNetwork network = buildHotspotNetworkBuilder(true).build();
|
||||||
ArraySet<Integer> securityTypes = new ArraySet<>();
|
ArraySet<Integer> securityTypes = new ArraySet<>();
|
||||||
Arrays.stream(HOTSPOT_SECURITY_TYPES).forEach(securityTypes::add);
|
Arrays.stream(HOTSPOT_SECURITY_TYPES).forEach(securityTypes::add);
|
||||||
|
|
||||||
@@ -137,21 +142,30 @@ public class HotspotNetworkTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testHashCode() {
|
public void testHashCode() {
|
||||||
HotspotNetwork network1 = buildHotspotNetworkBuilder().build();
|
HotspotNetwork network1 = buildHotspotNetworkBuilder(true).build();
|
||||||
HotspotNetwork network2 = buildHotspotNetworkBuilder().build();
|
HotspotNetwork network2 = buildHotspotNetworkBuilder(true).build();
|
||||||
|
|
||||||
assertThat(network1.hashCode()).isEqualTo(network2.hashCode());
|
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()
|
HotspotNetwork.Builder builder = new HotspotNetwork.Builder()
|
||||||
.setDeviceId(DEVICE_ID)
|
.setDeviceId(DEVICE_ID)
|
||||||
.setNetworkProviderInfo(NETWORK_PROVIDER_INFO)
|
|
||||||
.setHostNetworkType(NETWORK_TYPE)
|
.setHostNetworkType(NETWORK_TYPE)
|
||||||
.setNetworkName(NETWORK_NAME)
|
.setNetworkName(NETWORK_NAME)
|
||||||
.setHotspotSsid(HOTSPOT_SSID)
|
.setHotspotSsid(HOTSPOT_SSID)
|
||||||
.setHotspotBssid(HOTSPOT_BSSID);
|
.setHotspotBssid(HOTSPOT_BSSID);
|
||||||
Arrays.stream(HOTSPOT_SECURITY_TYPES).forEach(builder::addHotspotSecurityType);
|
Arrays.stream(HOTSPOT_SECURITY_TYPES).forEach(builder::addHotspotSecurityType);
|
||||||
|
if (withNetworkProviderInfo) {
|
||||||
|
builder.setNetworkProviderInfo(NETWORK_PROVIDER_INFO);
|
||||||
|
}
|
||||||
return builder;
|
return builder;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user