Merge "Change security types arrays to sets in network classes." into udc-dev

This commit is contained in:
Isaac Katzenelson
2023-02-28 05:02:57 +00:00
committed by Android (Google) Code Review
11 changed files with 271 additions and 201 deletions

View File

@@ -10023,7 +10023,7 @@ package android.net.wifi.sharedconnectivity.app {
method public int describeContents();
method @NonNull public android.net.wifi.sharedconnectivity.app.DeviceInfo getDeviceInfo();
method public int getNetworkSource();
method @NonNull public int[] getSecurityTypes();
method @NonNull public java.util.Set<java.lang.Integer> getSecurityTypes();
method @NonNull public String getSsid();
method public void writeToParcel(@NonNull android.os.Parcel, int);
field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.sharedconnectivity.app.KnownNetwork> CREATOR;
@@ -10033,10 +10033,10 @@ package android.net.wifi.sharedconnectivity.app {
public static final class KnownNetwork.Builder {
ctor public KnownNetwork.Builder();
method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork.Builder addSecurityType(int);
method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork build();
method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork.Builder setDeviceInfo(@NonNull android.net.wifi.sharedconnectivity.app.DeviceInfo);
method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork.Builder setNetworkSource(int);
method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork.Builder setSecurityTypes(@NonNull int[]);
method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork.Builder setSsid(@NonNull String);
}
@@ -10105,7 +10105,7 @@ package android.net.wifi.sharedconnectivity.app {
method public long getDeviceId();
method @NonNull public android.net.wifi.sharedconnectivity.app.DeviceInfo getDeviceInfo();
method @Nullable public String getHotspotBssid();
method @Nullable public int[] getHotspotSecurityTypes();
method @NonNull public java.util.Set<java.lang.Integer> getHotspotSecurityTypes();
method @Nullable public String getHotspotSsid();
method @NonNull public String getNetworkName();
method public int getNetworkType();
@@ -10119,11 +10119,11 @@ package android.net.wifi.sharedconnectivity.app {
public static final class TetherNetwork.Builder {
ctor public TetherNetwork.Builder();
method @NonNull public android.net.wifi.sharedconnectivity.app.TetherNetwork.Builder addHotspotSecurityType(int);
method @NonNull public android.net.wifi.sharedconnectivity.app.TetherNetwork build();
method @NonNull public android.net.wifi.sharedconnectivity.app.TetherNetwork.Builder setDeviceId(long);
method @NonNull public android.net.wifi.sharedconnectivity.app.TetherNetwork.Builder setDeviceInfo(@NonNull android.net.wifi.sharedconnectivity.app.DeviceInfo);
method @NonNull public android.net.wifi.sharedconnectivity.app.TetherNetwork.Builder setHotspotBssid(@NonNull String);
method @NonNull public android.net.wifi.sharedconnectivity.app.TetherNetwork.Builder setHotspotSecurityTypes(@NonNull int[]);
method @NonNull public android.net.wifi.sharedconnectivity.app.TetherNetwork.Builder setHotspotSsid(@NonNull String);
method @NonNull public android.net.wifi.sharedconnectivity.app.TetherNetwork.Builder setNetworkName(@NonNull String);
method @NonNull public android.net.wifi.sharedconnectivity.app.TetherNetwork.Builder setNetworkType(int);

View File

@@ -24,11 +24,12 @@ import android.annotation.SystemApi;
import android.os.Parcel;
import android.os.Parcelable;
import android.text.TextUtils;
import android.util.ArraySet;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.Arrays;
import java.util.Objects;
import java.util.Set;
/**
* A data class representing a known Wi-Fi network.
@@ -59,7 +60,7 @@ public final class KnownNetwork implements Parcelable {
@NetworkSource private final int mNetworkSource;
private final String mSsid;
@SecurityType private final int[] mSecurityTypes;
@SecurityType private final ArraySet<Integer> mSecurityTypes;
private final DeviceInfo mDeviceInfo;
/**
@@ -68,11 +69,9 @@ public final class KnownNetwork implements Parcelable {
public static final class Builder {
@NetworkSource private int mNetworkSource = -1;
private String mSsid;
@SecurityType private int[] mSecurityTypes;
@SecurityType private final ArraySet<Integer> mSecurityTypes = new ArraySet<>();
private android.net.wifi.sharedconnectivity.app.DeviceInfo mDeviceInfo;
public Builder() {}
/**
* Sets the indicated source of the known network.
*
@@ -98,14 +97,14 @@ public final class KnownNetwork implements Parcelable {
}
/**
* Sets the security types of the known network.
* Adds a security type of the known network.
*
* @param securityTypes The array of security types supported by the known network.
* @param securityType A security type supported by the known network.
* @return Returns the Builder object.
*/
@NonNull
public Builder setSecurityTypes(@NonNull @SecurityType int[] securityTypes) {
mSecurityTypes = securityTypes;
public Builder addSecurityType(@SecurityType int securityType) {
mSecurityTypes.add(securityType);
return this;
}
@@ -136,7 +135,7 @@ public final class KnownNetwork implements Parcelable {
}
}
private static void validate(int networkSource, String ssid, int [] securityTypes) {
private static void validate(int networkSource, String ssid, Set<Integer> securityTypes) {
if (networkSource != NETWORK_SOURCE_CLOUD_SELF && networkSource
!= NETWORK_SOURCE_NEARBY_SELF) {
throw new IllegalArgumentException("Illegal network source");
@@ -144,7 +143,7 @@ public final class KnownNetwork implements Parcelable {
if (TextUtils.isEmpty(ssid)) {
throw new IllegalArgumentException("SSID must be set");
}
if (securityTypes == null || securityTypes.length == 0) {
if (securityTypes.isEmpty()) {
throw new IllegalArgumentException("SecurityTypes must be set");
}
}
@@ -152,12 +151,12 @@ public final class KnownNetwork implements Parcelable {
private KnownNetwork(
@NetworkSource int networkSource,
@NonNull String ssid,
@NonNull @SecurityType int[] securityTypes,
@NonNull @SecurityType ArraySet<Integer> securityTypes,
@NonNull DeviceInfo deviceInfo) {
validate(networkSource, ssid, securityTypes);
mNetworkSource = networkSource;
mSsid = ssid;
mSecurityTypes = securityTypes;
mSecurityTypes = new ArraySet<>(securityTypes);
mDeviceInfo = deviceInfo;
}
@@ -184,11 +183,11 @@ public final class KnownNetwork implements Parcelable {
/**
* Gets the security types of the known network.
*
* @return Returns the array of security types supported by the known network.
* @return Returns a set with security types supported by the known network.
*/
@NonNull
@SecurityType
public int[] getSecurityTypes() {
public Set<Integer> getSecurityTypes() {
return mSecurityTypes;
}
@@ -208,14 +207,13 @@ public final class KnownNetwork implements Parcelable {
KnownNetwork other = (KnownNetwork) obj;
return mNetworkSource == other.getNetworkSource()
&& Objects.equals(mSsid, other.getSsid())
&& Arrays.equals(mSecurityTypes, other.getSecurityTypes())
&& Objects.equals(mSecurityTypes, other.getSecurityTypes())
&& Objects.equals(mDeviceInfo, other.getDeviceInfo());
}
@Override
public int hashCode() {
return Objects.hash(mNetworkSource, mSsid, Arrays.hashCode(mSecurityTypes),
mDeviceInfo.hashCode());
return Objects.hash(mNetworkSource, mSsid, mSecurityTypes, mDeviceInfo);
}
@Override
@@ -227,7 +225,7 @@ public final class KnownNetwork implements Parcelable {
public void writeToParcel(@NonNull Parcel dest, int flags) {
dest.writeInt(mNetworkSource);
dest.writeString(mSsid);
dest.writeIntArray(mSecurityTypes);
dest.writeArraySet(mSecurityTypes);
mDeviceInfo.writeToParcel(dest, flags);
}
@@ -238,7 +236,8 @@ public final class KnownNetwork implements Parcelable {
*/
@NonNull
public static KnownNetwork readFromParcel(@NonNull Parcel in) {
return new KnownNetwork(in.readInt(), in.readString(), in.createIntArray(),
return new KnownNetwork(in.readInt(), in.readString(),
(ArraySet<Integer>) in.readArraySet(null),
DeviceInfo.readFromParcel(in));
}
@@ -260,7 +259,7 @@ public final class KnownNetwork implements Parcelable {
return new StringBuilder("KnownNetwork[")
.append("NetworkSource=").append(mNetworkSource)
.append(", ssid=").append(mSsid)
.append(", securityTypes=").append(Arrays.toString(mSecurityTypes))
.append(", securityTypes=").append(mSecurityTypes.toString())
.append(", deviceInfo=").append(mDeviceInfo.toString())
.append("]").toString();
}

View File

@@ -25,12 +25,12 @@ import android.annotation.SystemApi;
import android.net.wifi.sharedconnectivity.service.SharedConnectivityService;
import android.os.Parcel;
import android.os.Parcelable;
import android.util.ArraySet;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.Arrays;
import java.util.Objects;
import java.util.Set;
/**
* A data class representing an Instant Tether network.
@@ -79,7 +79,7 @@ public final class TetherNetwork implements Parcelable {
private final String mNetworkName;
@Nullable private final String mHotspotSsid;
@Nullable private final String mHotspotBssid;
@Nullable @SecurityType private final int[] mHotspotSecurityTypes;
@Nullable @SecurityType private final ArraySet<Integer> mHotspotSecurityTypes;
/**
* Builder class for {@link TetherNetwork}.
@@ -91,9 +91,8 @@ public final class TetherNetwork implements Parcelable {
private String mNetworkName;
@Nullable private String mHotspotSsid;
@Nullable private String mHotspotBssid;
@Nullable @SecurityType private int[] mHotspotSecurityTypes;
public Builder() {}
@Nullable @SecurityType private final ArraySet<Integer> mHotspotSecurityTypes =
new ArraySet<>();
/**
* Set the remote device ID.
@@ -168,15 +167,14 @@ public final class TetherNetwork implements Parcelable {
}
/**
* Sets the hotspot security types supported by the remote device, or null if hotspot is
* off.
* Adds a security type supported by the hotspot created by the remote device.
*
* @param hotspotSecurityTypes The array of security types supported by the hotspot.
* @param hotspotSecurityType A security type supported by the hotspot.
* @return Returns the Builder object.
*/
@NonNull
public Builder setHotspotSecurityTypes(@NonNull @SecurityType int[] hotspotSecurityTypes) {
mHotspotSecurityTypes = hotspotSecurityTypes;
public Builder addHotspotSecurityType(@SecurityType int hotspotSecurityType) {
mHotspotSecurityTypes.add(hotspotSecurityType);
return this;
}
@@ -218,7 +216,7 @@ public final class TetherNetwork implements Parcelable {
@NonNull String networkName,
@Nullable String hotspotSsid,
@Nullable String hotspotBssid,
@Nullable @SecurityType int[] hotspotSecurityTypes) {
@Nullable @SecurityType ArraySet<Integer> hotspotSecurityTypes) {
validate(deviceId,
networkType,
networkName);
@@ -228,7 +226,7 @@ public final class TetherNetwork implements Parcelable {
mNetworkName = networkName;
mHotspotSsid = hotspotSsid;
mHotspotBssid = hotspotBssid;
mHotspotSecurityTypes = hotspotSecurityTypes;
mHotspotSecurityTypes = new ArraySet<>(hotspotSecurityTypes);
}
/**
@@ -293,11 +291,11 @@ public final class TetherNetwork implements Parcelable {
/**
* Gets the hotspot security types supported by the remote device.
*
* @return Returns the array of security types supported by the hotspot.
* @return Returns a set of the security types supported by the hotspot.
*/
@Nullable
@NonNull
@SecurityType
public int[] getHotspotSecurityTypes() {
public Set<Integer> getHotspotSecurityTypes() {
return mHotspotSecurityTypes;
}
@@ -311,13 +309,13 @@ public final class TetherNetwork implements Parcelable {
&& Objects.equals(mNetworkName, other.getNetworkName())
&& Objects.equals(mHotspotSsid, other.getHotspotSsid())
&& Objects.equals(mHotspotBssid, other.getHotspotBssid())
&& Arrays.equals(mHotspotSecurityTypes, other.getHotspotSecurityTypes());
&& Objects.equals(mHotspotSecurityTypes, other.getHotspotSecurityTypes());
}
@Override
public int hashCode() {
return Objects.hash(mDeviceId, mDeviceInfo, mNetworkName, mHotspotSsid, mHotspotBssid,
Arrays.hashCode(mHotspotSecurityTypes));
mHotspotSecurityTypes);
}
@Override
@@ -333,7 +331,7 @@ public final class TetherNetwork implements Parcelable {
dest.writeString(mNetworkName);
dest.writeString(mHotspotSsid);
dest.writeString(mHotspotBssid);
dest.writeIntArray(mHotspotSecurityTypes);
dest.writeArraySet(mHotspotSecurityTypes);
}
/**
@@ -345,7 +343,7 @@ public final class TetherNetwork implements Parcelable {
public static TetherNetwork readFromParcel(@NonNull Parcel in) {
return new TetherNetwork(in.readLong(), DeviceInfo.readFromParcel(in),
in.readInt(), in.readString(), in.readString(), in.readString(),
in.createIntArray());
(ArraySet<Integer>) in.readArraySet(null));
}
@NonNull
@@ -370,7 +368,7 @@ public final class TetherNetwork implements Parcelable {
.append(", networkName=").append(mNetworkName)
.append(", hotspotSsid=").append(mHotspotSsid)
.append(", hotspotBssid=").append(mHotspotBssid)
.append(", hotspotSecurityTypes=").append(Arrays.toString(mHotspotSecurityTypes))
.append(", hotspotSecurityTypes=").append(mHotspotSecurityTypes.toString())
.append("]").toString();
}
}

View File

@@ -19,8 +19,7 @@ package android.net.wifi.sharedconnectivity.app;
import static android.net.wifi.sharedconnectivity.app.DeviceInfo.DEVICE_TYPE_LAPTOP;
import static android.net.wifi.sharedconnectivity.app.DeviceInfo.DEVICE_TYPE_PHONE;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
import static com.google.common.truth.Truth.assertThat;
import android.os.Parcel;
@@ -29,7 +28,7 @@ import androidx.test.filters.SmallTest;
import org.junit.Test;
/**
* Unit tests for {@link android.app.sharedconnectivity.DeviceInfo}.
* Unit tests for {@link DeviceInfo}.
*/
@SmallTest
public class DeviceInfoTest {
@@ -63,8 +62,8 @@ public class DeviceInfoTest {
parcelR.setDataPosition(0);
DeviceInfo fromParcel = DeviceInfo.CREATOR.createFromParcel(parcelR);
assertEquals(info, fromParcel);
assertEquals(info.hashCode(), fromParcel.hashCode());
assertThat(fromParcel).isEqualTo(info);
assertThat(fromParcel.hashCode()).isEqualTo(info.hashCode());
}
/**
@@ -74,24 +73,24 @@ public class DeviceInfoTest {
public void testEqualsOperation() {
DeviceInfo info1 = buildDeviceInfoBuilder().build();
DeviceInfo info2 = buildDeviceInfoBuilder().build();
assertEquals(info1, info2);
assertThat(info1).isEqualTo(info2);
DeviceInfo.Builder builder = buildDeviceInfoBuilder().setDeviceType(DEVICE_TYPE_1);
assertNotEquals(info1, builder.build());
assertThat(builder.build()).isNotEqualTo(info1);
builder = buildDeviceInfoBuilder().setDeviceName(DEVICE_NAME_1);
assertNotEquals(info1, builder.build());
assertThat(builder.build()).isNotEqualTo(info1);
builder = buildDeviceInfoBuilder().setModelName(DEVICE_MODEL_1);
assertNotEquals(info1, builder.build());
assertThat(builder.build()).isNotEqualTo(info1);
builder = buildDeviceInfoBuilder()
.setBatteryPercentage(BATTERY_PERCENTAGE_1);
assertNotEquals(info1, builder.build());
assertThat(builder.build()).isNotEqualTo(info1);
builder = buildDeviceInfoBuilder()
.setConnectionStrength(CONNECTION_STRENGTH_1);
assertNotEquals(info1, builder.build());
assertThat(builder.build()).isNotEqualTo(info1);
}
/**
@@ -100,12 +99,19 @@ public class DeviceInfoTest {
@Test
public void testGetMethods() {
DeviceInfo info = buildDeviceInfoBuilder().build();
assertEquals(info.getDeviceType(), DEVICE_TYPE);
assertEquals(info.getDeviceName(), DEVICE_NAME);
assertEquals(info.getModelName(), DEVICE_MODEL);
assertEquals(info.getBatteryPercentage(), BATTERY_PERCENTAGE);
assertEquals(info.getConnectionStrength(), CONNECTION_STRENGTH);
assertEquals(info.getConnectionStrength(), CONNECTION_STRENGTH);
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);
}
@Test
public void testHashCode() {
DeviceInfo info1 = buildDeviceInfoBuilder().build();
DeviceInfo info2 = buildDeviceInfoBuilder().build();
assertThat(info1.hashCode()).isEqualTo(info2.hashCode());
}
private DeviceInfo.Builder buildDeviceInfoBuilder() {

View File

@@ -22,8 +22,7 @@ import static android.net.wifi.sharedconnectivity.app.KnownNetwork.NETWORK_SOURC
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 org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
import static com.google.common.truth.Truth.assertThat;
import android.os.Bundle;
import android.os.Parcel;
@@ -32,8 +31,10 @@ import androidx.test.filters.SmallTest;
import org.junit.Test;
import java.util.Arrays;
/**
* Unit tests for {@link android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus}.
* Unit tests for {@link KnownNetworkConnectionStatus}.
*/
@SmallTest
public class KnownNetworkConnectionStatusTest {
@@ -45,6 +46,7 @@ public class KnownNetworkConnectionStatusTest {
.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.
@@ -64,8 +66,8 @@ public class KnownNetworkConnectionStatusTest {
KnownNetworkConnectionStatus fromParcel =
KnownNetworkConnectionStatus.CREATOR.createFromParcel(parcelR);
assertEquals(status, fromParcel);
assertEquals(status.hashCode(), fromParcel.hashCode());
assertThat(fromParcel).isEqualTo(status);
assertThat(fromParcel.hashCode()).isEqualTo(status.hashCode());
}
/**
@@ -75,15 +77,15 @@ public class KnownNetworkConnectionStatusTest {
public void testEqualsOperation() {
KnownNetworkConnectionStatus status1 = buildConnectionStatusBuilder().build();
KnownNetworkConnectionStatus status2 = buildConnectionStatusBuilder().build();
assertEquals(status2, status2);
assertThat(status1).isEqualTo(status2);
KnownNetworkConnectionStatus.Builder builder = buildConnectionStatusBuilder()
.setStatus(CONNECTION_STATUS_SAVE_FAILED);
assertNotEquals(status1, builder.build());
assertThat(builder.build()).isNotEqualTo(status1);
builder = buildConnectionStatusBuilder()
.setKnownNetwork(buildKnownNetworkBuilder().setSsid(SSID_1).build());
assertNotEquals(status1, builder.build());
assertThat(builder.build()).isNotEqualTo(status1);
}
/**
@@ -92,9 +94,17 @@ public class KnownNetworkConnectionStatusTest {
@Test
public void testGetMethods() {
KnownNetworkConnectionStatus status = buildConnectionStatusBuilder().build();
assertEquals(status.getStatus(), CONNECTION_STATUS_SAVED);
assertEquals(status.getKnownNetwork(), buildKnownNetworkBuilder().build());
assertEquals(status.getExtras().getInt(BUNDLE_KEY), buildBundle().getInt(BUNDLE_KEY));
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() {
@@ -106,13 +116,15 @@ public class KnownNetworkConnectionStatusTest {
private Bundle buildBundle() {
Bundle bundle = new Bundle();
bundle.putInt(BUNDLE_KEY, 1);
bundle.putInt(BUNDLE_KEY, BUNDLE_VALUE);
return bundle;
}
private KnownNetwork.Builder buildKnownNetworkBuilder() {
return new KnownNetwork.Builder().setNetworkSource(NETWORK_SOURCE).setSsid(SSID)
.setSecurityTypes(SECURITY_TYPES).setDeviceInfo(DEVICE_INFO);
KnownNetwork.Builder builder = new KnownNetwork.Builder().setNetworkSource(NETWORK_SOURCE)
.setSsid(SSID).setDeviceInfo(DEVICE_INFO);
Arrays.stream(SECURITY_TYPES).forEach(builder::addSecurityType);
return builder;
}
}

View File

@@ -23,18 +23,19 @@ import static android.net.wifi.sharedconnectivity.app.DeviceInfo.DEVICE_TYPE_TAB
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 org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
import static com.google.common.truth.Truth.assertThat;
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 android.app.sharedconnectivity.KnownNetwork}.
* Unit tests for {@link KnownNetwork}.
*/
@SmallTest
public class KnownNetworkTest {
@@ -69,8 +70,8 @@ public class KnownNetworkTest {
parcelR.setDataPosition(0);
KnownNetwork fromParcel = KnownNetwork.CREATOR.createFromParcel(parcelR);
assertEquals(network, fromParcel);
assertEquals(network.hashCode(), fromParcel.hashCode());
assertThat(fromParcel).isEqualTo(network);
assertThat(fromParcel.hashCode()).isEqualTo(network.hashCode());
}
/**
@@ -80,20 +81,21 @@ public class KnownNetworkTest {
public void testEqualsOperation() {
KnownNetwork network1 = buildKnownNetworkBuilder().build();
KnownNetwork network2 = buildKnownNetworkBuilder().build();
assertEquals(network1, network2);
assertThat(network1).isEqualTo(network2);
KnownNetwork.Builder builder = buildKnownNetworkBuilder()
.setNetworkSource(NETWORK_SOURCE_1);
assertNotEquals(network1, builder.build());
assertThat(builder.build()).isNotEqualTo(network1);
builder = buildKnownNetworkBuilder().setSsid(SSID_1);
assertNotEquals(network1, builder.build());
assertThat(builder.build()).isNotEqualTo(network1);
builder = buildKnownNetworkBuilder().setSecurityTypes(SECURITY_TYPES_1);
assertNotEquals(network1, builder.build());
builder = buildKnownNetworkBuilder();
Arrays.stream(SECURITY_TYPES_1).forEach(builder::addSecurityType);
assertThat(builder.build()).isNotEqualTo(network1);
builder = buildKnownNetworkBuilder().setDeviceInfo(DEVICE_INFO_1);
assertNotEquals(network1, builder.build());
assertThat(builder.build()).isNotEqualTo(network1);
}
/**
@@ -102,14 +104,27 @@ public class KnownNetworkTest {
@Test
public void testGetMethods() {
KnownNetwork network = buildKnownNetworkBuilder().build();
assertEquals(network.getNetworkSource(), NETWORK_SOURCE);
assertEquals(network.getSsid(), SSID);
assertArrayEquals(network.getSecurityTypes(), SECURITY_TYPES);
assertEquals(network.getDeviceInfo(), DEVICE_INFO);
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.getDeviceInfo()).isEqualTo(DEVICE_INFO);
}
@Test
public void testHashCode() {
KnownNetwork network1 = buildKnownNetworkBuilder().build();
KnownNetwork network2 = buildKnownNetworkBuilder().build();
assertThat(network1.hashCode()).isEqualTo(network2.hashCode());
}
private KnownNetwork.Builder buildKnownNetworkBuilder() {
return new KnownNetwork.Builder().setNetworkSource(NETWORK_SOURCE).setSsid(SSID)
.setSecurityTypes(SECURITY_TYPES).setDeviceInfo(DEVICE_INFO);
KnownNetwork.Builder builder = new KnownNetwork.Builder().setNetworkSource(NETWORK_SOURCE)
.setSsid(SSID).setDeviceInfo(DEVICE_INFO);
Arrays.stream(SECURITY_TYPES).forEach(builder::addSecurityType);
return builder;
}
}

View File

@@ -22,11 +22,8 @@ import static android.net.wifi.sharedconnectivity.app.DeviceInfo.DEVICE_TYPE_TAB
import static android.net.wifi.sharedconnectivity.app.KnownNetwork.NETWORK_SOURCE_NEARBY_SELF;
import static android.net.wifi.sharedconnectivity.app.TetherNetwork.NETWORK_TYPE_CELLULAR;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
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;
@@ -49,6 +46,7 @@ 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;
@@ -110,7 +108,7 @@ public class SharedConnectivityManagerTest {
public void resourcesNotDefined() {
when(mResources.getString(anyInt())).thenThrow(new Resources.NotFoundException());
assertNull(SharedConnectivityManager.create(mContext));
assertThat(SharedConnectivityManager.create(mContext)).isNull();
}
/**
@@ -183,7 +181,7 @@ public class SharedConnectivityManagerTest {
SharedConnectivityManager manager = SharedConnectivityManager.create(mContext);
manager.setService(null);
assertFalse(manager.unregisterCallback(mClientCallback));
assertThat(manager.unregisterCallback(mClientCallback)).isFalse();
}
@Test
@@ -191,7 +189,7 @@ public class SharedConnectivityManagerTest {
SharedConnectivityManager manager = SharedConnectivityManager.create(mContext);
manager.setService(mService);
assertFalse(manager.unregisterCallback(mClientCallback));
assertThat(manager.unregisterCallback(mClientCallback)).isFalse();
}
@Test
@@ -201,7 +199,7 @@ public class SharedConnectivityManagerTest {
manager.registerCallback(mExecutor, mClientCallback);
assertTrue(manager.unregisterCallback(mClientCallback));
assertThat(manager.unregisterCallback(mClientCallback)).isTrue();
verify(mService).unregisterCallback(any());
}
@@ -213,7 +211,7 @@ public class SharedConnectivityManagerTest {
manager.registerCallback(mExecutor, mClientCallback);
manager.unregisterCallback(mClientCallback);
assertFalse(manager.unregisterCallback(mClientCallback));
assertThat(manager.unregisterCallback(mClientCallback)).isFalse();
}
@Test
@@ -224,7 +222,7 @@ public class SharedConnectivityManagerTest {
manager.registerCallback(mExecutor, mClientCallback);
manager.unregisterCallback(mClientCallback);
assertFalse(manager.unregisterCallback(mClientCallback));
assertThat(manager.unregisterCallback(mClientCallback)).isFalse();
}
@Test
@@ -234,7 +232,7 @@ public class SharedConnectivityManagerTest {
doThrow(new RemoteException()).when(mService).unregisterCallback(any());
assertFalse(manager.unregisterCallback(mClientCallback));
assertThat(manager.unregisterCallback(mClientCallback)).isFalse();
}
/**
@@ -294,7 +292,7 @@ public class SharedConnectivityManagerTest {
SharedConnectivityManager manager = SharedConnectivityManager.create(mContext);
manager.setService(null);
assertFalse(manager.connectTetherNetwork(network));
assertThat(manager.connectTetherNetwork(network)).isFalse();
}
@Test
@@ -315,7 +313,7 @@ public class SharedConnectivityManagerTest {
manager.setService(mService);
doThrow(new RemoteException()).when(mService).connectTetherNetwork(network);
assertFalse(manager.connectTetherNetwork(network));
assertThat(manager.connectTetherNetwork(network)).isFalse();
}
/**
@@ -327,7 +325,7 @@ public class SharedConnectivityManagerTest {
SharedConnectivityManager manager = SharedConnectivityManager.create(mContext);
manager.setService(null);
assertFalse(manager.disconnectTetherNetwork(network));
assertThat(manager.disconnectTetherNetwork(network)).isFalse();
}
@Test
@@ -348,7 +346,7 @@ public class SharedConnectivityManagerTest {
manager.setService(mService);
doThrow(new RemoteException()).when(mService).disconnectTetherNetwork(any());
assertFalse(manager.disconnectTetherNetwork(network));
assertThat(manager.disconnectTetherNetwork(network)).isFalse();
}
/**
@@ -360,7 +358,7 @@ public class SharedConnectivityManagerTest {
SharedConnectivityManager manager = SharedConnectivityManager.create(mContext);
manager.setService(null);
assertFalse(manager.connectKnownNetwork(network));
assertThat(manager.connectKnownNetwork(network)).isFalse();
}
@Test
@@ -381,7 +379,7 @@ public class SharedConnectivityManagerTest {
manager.setService(mService);
doThrow(new RemoteException()).when(mService).connectKnownNetwork(network);
assertFalse(manager.connectKnownNetwork(network));
assertThat(manager.connectKnownNetwork(network)).isFalse();
}
/**
@@ -393,7 +391,7 @@ public class SharedConnectivityManagerTest {
SharedConnectivityManager manager = SharedConnectivityManager.create(mContext);
manager.setService(null);
assertFalse(manager.forgetKnownNetwork(network));
assertThat(manager.forgetKnownNetwork(network)).isFalse();
}
@Test
@@ -414,7 +412,7 @@ public class SharedConnectivityManagerTest {
manager.setService(mService);
doThrow(new RemoteException()).when(mService).forgetKnownNetwork(network);
assertFalse(manager.forgetKnownNetwork(network));
assertThat(manager.forgetKnownNetwork(network)).isFalse();
}
/**
@@ -425,7 +423,7 @@ public class SharedConnectivityManagerTest {
SharedConnectivityManager manager = SharedConnectivityManager.create(mContext);
manager.setService(null);
assertArrayEquals(List.of().toArray(), manager.getTetherNetworks().toArray());
assertThat(manager.getKnownNetworks()).isEmpty();
}
@Test
@@ -434,18 +432,17 @@ public class SharedConnectivityManagerTest {
manager.setService(mService);
doThrow(new RemoteException()).when(mService).getTetherNetworks();
assertArrayEquals(List.of().toArray(), manager.getTetherNetworks().toArray());
assertThat(manager.getKnownNetworks()).isEmpty();
}
@Test
public void getTetherNetworks_shouldReturnNetworksList() throws RemoteException {
SharedConnectivityManager manager = SharedConnectivityManager.create(mContext);
List<TetherNetwork> networks = List.of(buildTetherNetwork());
List<TetherNetwork> expected = List.of(buildTetherNetwork());
manager.setService(mService);
when(mService.getTetherNetworks()).thenReturn(networks);
assertArrayEquals(expected.toArray(), manager.getTetherNetworks().toArray());
assertThat(manager.getTetherNetworks()).containsExactly(buildTetherNetwork());
}
@Test
@@ -454,7 +451,7 @@ public class SharedConnectivityManagerTest {
SharedConnectivityManager manager = SharedConnectivityManager.create(mContext);
manager.setService(null);
assertArrayEquals(List.of().toArray(), manager.getKnownNetworks().toArray());
assertThat(manager.getKnownNetworks()).isEmpty();
}
@Test
@@ -463,18 +460,17 @@ public class SharedConnectivityManagerTest {
manager.setService(mService);
doThrow(new RemoteException()).when(mService).getKnownNetworks();
assertArrayEquals(List.of().toArray(), manager.getKnownNetworks().toArray());
assertThat(manager.getKnownNetworks()).isEmpty();
}
@Test
public void getKnownNetworks_shouldReturnNetworksList() throws RemoteException {
SharedConnectivityManager manager = SharedConnectivityManager.create(mContext);
List<KnownNetwork> networks = List.of(buildKnownNetwork());
List<KnownNetwork> expected = List.of(buildKnownNetwork());
manager.setService(mService);
when(mService.getKnownNetworks()).thenReturn(networks);
assertArrayEquals(expected.toArray(), manager.getKnownNetworks().toArray());
assertThat(manager.getKnownNetworks()).containsExactly(buildKnownNetwork());
}
@Test
@@ -482,7 +478,7 @@ public class SharedConnectivityManagerTest {
SharedConnectivityManager manager = SharedConnectivityManager.create(mContext);
manager.setService(null);
assertNull(manager.getSettingsState());
assertThat(manager.getSettingsState()).isNull();
}
@Test
@@ -491,7 +487,7 @@ public class SharedConnectivityManagerTest {
manager.setService(mService);
doThrow(new RemoteException()).when(mService).getSettingsState();
assertNull(manager.getSettingsState());
assertThat(manager.getSettingsState()).isNull();
}
@Test
@@ -502,7 +498,7 @@ public class SharedConnectivityManagerTest {
manager.setService(mService);
when(mService.getSettingsState()).thenReturn(state);
assertEquals(state, manager.getSettingsState());
assertThat(manager.getSettingsState()).isEqualTo(state);
}
@Test
@@ -511,7 +507,7 @@ public class SharedConnectivityManagerTest {
SharedConnectivityManager manager = SharedConnectivityManager.create(mContext);
manager.setService(null);
assertNull(manager.getTetherNetworkConnectionStatus());
assertThat(manager.getTetherNetworkConnectionStatus()).isNull();
}
@Test
@@ -521,7 +517,7 @@ public class SharedConnectivityManagerTest {
manager.setService(mService);
doThrow(new RemoteException()).when(mService).getTetherNetworkConnectionStatus();
assertNull(manager.getTetherNetworkConnectionStatus());
assertThat(manager.getTetherNetworkConnectionStatus()).isNull();
}
@Test
@@ -534,7 +530,7 @@ public class SharedConnectivityManagerTest {
manager.setService(mService);
when(mService.getTetherNetworkConnectionStatus()).thenReturn(status);
assertEquals(status, manager.getTetherNetworkConnectionStatus());
assertThat(manager.getTetherNetworkConnectionStatus()).isEqualTo(status);
}
@Test
@@ -543,7 +539,7 @@ public class SharedConnectivityManagerTest {
SharedConnectivityManager manager = SharedConnectivityManager.create(mContext);
manager.setService(null);
assertNull(manager.getKnownNetworkConnectionStatus());
assertThat(manager.getKnownNetworkConnectionStatus()).isNull();
}
@Test
@@ -553,7 +549,7 @@ public class SharedConnectivityManagerTest {
manager.setService(mService);
doThrow(new RemoteException()).when(mService).getKnownNetworkConnectionStatus();
assertNull(manager.getKnownNetworkConnectionStatus());
assertThat(manager.getKnownNetworkConnectionStatus()).isNull();
}
@Test
@@ -566,7 +562,7 @@ public class SharedConnectivityManagerTest {
manager.setService(mService);
when(mService.getKnownNetworkConnectionStatus()).thenReturn(status);
assertEquals(status, manager.getKnownNetworkConnectionStatus());
assertThat(manager.getKnownNetworkConnectionStatus()).isEqualTo(status);
}
private void setResources(@Mock Context context) {
@@ -576,18 +572,20 @@ public class SharedConnectivityManagerTest {
}
private TetherNetwork buildTetherNetwork() {
return new TetherNetwork.Builder()
TetherNetwork.Builder builder = new TetherNetwork.Builder()
.setDeviceId(DEVICE_ID)
.setDeviceInfo(DEVICE_INFO)
.setNetworkType(NETWORK_TYPE)
.setNetworkName(NETWORK_NAME)
.setHotspotSsid(HOTSPOT_SSID)
.setHotspotSecurityTypes(HOTSPOT_SECURITY_TYPES)
.build();
.setHotspotSsid(HOTSPOT_SSID);
Arrays.stream(HOTSPOT_SECURITY_TYPES).forEach(builder::addHotspotSecurityType);
return builder.build();
}
private KnownNetwork buildKnownNetwork() {
return new KnownNetwork.Builder().setNetworkSource(NETWORK_SOURCE).setSsid(SSID)
.setSecurityTypes(SECURITY_TYPES).build();
KnownNetwork.Builder builder = new KnownNetwork.Builder().setNetworkSource(NETWORK_SOURCE)
.setSsid(SSID).setDeviceInfo(DEVICE_INFO);
Arrays.stream(SECURITY_TYPES).forEach(builder::addSecurityType);
return builder.build();
}
}

View File

@@ -16,8 +16,7 @@
package android.net.wifi.sharedconnectivity.app;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
import static com.google.common.truth.Truth.assertThat;
import android.os.Parcel;
@@ -26,7 +25,7 @@ import androidx.test.filters.SmallTest;
import org.junit.Test;
/**
* Unit tests for {@link android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState}.
* Unit tests for {@link SharedConnectivitySettingsState}.
*/
@SmallTest
public class SharedConnectivitySettingsStateTest {
@@ -51,8 +50,8 @@ public class SharedConnectivitySettingsStateTest {
SharedConnectivitySettingsState fromParcel =
SharedConnectivitySettingsState.CREATOR.createFromParcel(parcelR);
assertEquals(state, fromParcel);
assertEquals(state.hashCode(), fromParcel.hashCode());
assertThat(fromParcel).isEqualTo(state);
assertThat(fromParcel.hashCode()).isEqualTo(state.hashCode());
}
/**
@@ -62,11 +61,11 @@ public class SharedConnectivitySettingsStateTest {
public void testEqualsOperation() {
SharedConnectivitySettingsState state1 = buildSettingsStateBuilder().build();
SharedConnectivitySettingsState state2 = buildSettingsStateBuilder().build();
assertEquals(state1, state2);
assertThat(state1).isEqualTo(state2);
SharedConnectivitySettingsState.Builder builder = buildSettingsStateBuilder()
.setInstantTetherEnabled(INSTANT_TETHER_STATE_1);
assertNotEquals(state1, builder.build());
assertThat(builder.build()).isNotEqualTo(state1);
}
/**
@@ -75,7 +74,15 @@ public class SharedConnectivitySettingsStateTest {
@Test
public void testGetMethods() {
SharedConnectivitySettingsState state = buildSettingsStateBuilder().build();
assertEquals(state.isInstantTetherEnabled(), INSTANT_TETHER_STATE);
assertThat(state.isInstantTetherEnabled()).isEqualTo(INSTANT_TETHER_STATE);
}
@Test
public void testHashCode() {
SharedConnectivitySettingsState state1 = buildSettingsStateBuilder().build();
SharedConnectivitySettingsState state2 = buildSettingsStateBuilder().build();
assertThat(state1.hashCode()).isEqualTo(state2.hashCode());
}
private SharedConnectivitySettingsState.Builder buildSettingsStateBuilder() {

View File

@@ -23,8 +23,7 @@ import static android.net.wifi.sharedconnectivity.app.TetherNetwork.NETWORK_TYPE
import static android.net.wifi.sharedconnectivity.app.TetherNetworkConnectionStatus.CONNECTION_STATUS_ENABLING_HOTSPOT;
import static android.net.wifi.sharedconnectivity.app.TetherNetworkConnectionStatus.CONNECTION_STATUS_TETHERING_TIMEOUT;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
import static com.google.common.truth.Truth.assertThat;
import android.os.Bundle;
import android.os.Parcel;
@@ -33,8 +32,10 @@ import androidx.test.filters.SmallTest;
import org.junit.Test;
import java.util.Arrays;
/**
* Unit tests for {@link android.net.wifi.sharedconnectivity.app.TetherNetworkConnectionStatus}.
* Unit tests for {@link TetherNetworkConnectionStatus}.
*/
@SmallTest
public class TetherNetworkConnectionStatusTest {
@@ -49,6 +50,7 @@ public class TetherNetworkConnectionStatusTest {
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.
@@ -68,8 +70,8 @@ public class TetherNetworkConnectionStatusTest {
TetherNetworkConnectionStatus fromParcel =
TetherNetworkConnectionStatus.CREATOR.createFromParcel(parcelR);
assertEquals(status, fromParcel);
assertEquals(status.hashCode(), fromParcel.hashCode());
assertThat(fromParcel).isEqualTo(status);
assertThat(fromParcel.hashCode()).isEqualTo(status.hashCode());
}
/**
@@ -79,15 +81,15 @@ public class TetherNetworkConnectionStatusTest {
public void testEqualsOperation() {
TetherNetworkConnectionStatus status1 = buildConnectionStatusBuilder().build();
TetherNetworkConnectionStatus status2 = buildConnectionStatusBuilder().build();
assertEquals(status2, status2);
assertThat(status1).isEqualTo(status2);
TetherNetworkConnectionStatus.Builder builder = buildConnectionStatusBuilder()
.setStatus(CONNECTION_STATUS_TETHERING_TIMEOUT);
assertNotEquals(status1, builder.build());
assertThat(builder.build()).isNotEqualTo(status1);
builder = buildConnectionStatusBuilder()
.setTetherNetwork(buildTetherNetworkBuilder().setDeviceId(DEVICE_ID_1).build());
assertNotEquals(status1, builder.build());
assertThat(builder.build()).isNotEqualTo(status1);
}
/**
@@ -96,13 +98,20 @@ public class TetherNetworkConnectionStatusTest {
@Test
public void testGetMethods() {
TetherNetworkConnectionStatus status = buildConnectionStatusBuilder().build();
assertEquals(status.getStatus(), CONNECTION_STATUS_ENABLING_HOTSPOT);
assertEquals(status.getTetherNetwork(), buildTetherNetworkBuilder().build());
assertEquals(status.getExtras().getInt(BUNDLE_KEY), buildBundle().getInt(BUNDLE_KEY));
assertThat(status.getStatus()).isEqualTo(CONNECTION_STATUS_ENABLING_HOTSPOT);
assertThat(status.getTetherNetwork()).isEqualTo(buildTetherNetworkBuilder().build());
assertThat(status.getExtras().getInt(BUNDLE_KEY)).isEqualTo(BUNDLE_VALUE);
}
@Test
public void testHashCode() {
TetherNetworkConnectionStatus status1 = buildConnectionStatusBuilder().build();
TetherNetworkConnectionStatus status2 = buildConnectionStatusBuilder().build();
assertThat(status1.hashCode()).isEqualTo(status2.hashCode());
}
private TetherNetworkConnectionStatus.Builder buildConnectionStatusBuilder() {
return new TetherNetworkConnectionStatus.Builder()
.setStatus(CONNECTION_STATUS_ENABLING_HOTSPOT)
.setTetherNetwork(buildTetherNetworkBuilder().build())
@@ -111,18 +120,19 @@ public class TetherNetworkConnectionStatusTest {
private Bundle buildBundle() {
Bundle bundle = new Bundle();
bundle.putInt(BUNDLE_KEY, 1);
bundle.putInt(BUNDLE_KEY, BUNDLE_VALUE);
return bundle;
}
private TetherNetwork.Builder buildTetherNetworkBuilder() {
return new TetherNetwork.Builder()
TetherNetwork.Builder builder = new TetherNetwork.Builder()
.setDeviceId(DEVICE_ID)
.setDeviceInfo(DEVICE_INFO)
.setNetworkType(NETWORK_TYPE)
.setNetworkName(NETWORK_NAME)
.setHotspotSsid(HOTSPOT_SSID)
.setHotspotBssid(HOTSPOT_BSSID)
.setHotspotSecurityTypes(HOTSPOT_SECURITY_TYPES);
.setHotspotBssid(HOTSPOT_BSSID);
Arrays.stream(HOTSPOT_SECURITY_TYPES).forEach(builder::addHotspotSecurityType);
return builder;
}
}

View File

@@ -24,18 +24,19 @@ import static android.net.wifi.sharedconnectivity.app.DeviceInfo.DEVICE_TYPE_TAB
import static android.net.wifi.sharedconnectivity.app.TetherNetwork.NETWORK_TYPE_CELLULAR;
import static android.net.wifi.sharedconnectivity.app.TetherNetwork.NETWORK_TYPE_WIFI;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
import static com.google.common.truth.Truth.assertThat;
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 android.net.wifi.sharedconnectivity.app.TetherNetwork}.
* Unit tests for {@link TetherNetwork}.
*/
@SmallTest
public class TetherNetworkTest {
@@ -76,8 +77,8 @@ public class TetherNetworkTest {
parcelR.setDataPosition(0);
TetherNetwork fromParcel = TetherNetwork.CREATOR.createFromParcel(parcelR);
assertEquals(network, fromParcel);
assertEquals(network.hashCode(), fromParcel.hashCode());
assertThat(fromParcel).isEqualTo(network);
assertThat(fromParcel.hashCode()).isEqualTo(network.hashCode());
}
/**
@@ -87,28 +88,31 @@ public class TetherNetworkTest {
public void testEqualsOperation() {
TetherNetwork network1 = buildTetherNetworkBuilder().build();
TetherNetwork network2 = buildTetherNetworkBuilder().build();
assertEquals(network1, network2);
assertThat(network1).isEqualTo(network2);
TetherNetwork.Builder builder = buildTetherNetworkBuilder().setDeviceId(DEVICE_ID_1);
assertNotEquals(network1, builder.build());
assertThat(builder.build()).isNotEqualTo(network1);
builder = buildTetherNetworkBuilder().setDeviceInfo(DEVICE_INFO_1);
assertNotEquals(network1, builder.build());
assertThat(builder.build()).isNotEqualTo(network1);
builder = buildTetherNetworkBuilder().setNetworkType(NETWORK_TYPE_1);
assertNotEquals(network1, builder.build());
assertThat(builder.build()).isNotEqualTo(network1);
builder = buildTetherNetworkBuilder().setNetworkName(NETWORK_NAME_1);
assertNotEquals(network1, builder.build());
assertThat(builder.build()).isNotEqualTo(network1);
builder = buildTetherNetworkBuilder().setHotspotSsid(HOTSPOT_SSID_1);
assertNotEquals(network1, builder.build());
assertThat(builder.build()).isNotEqualTo(network1);
builder = buildTetherNetworkBuilder().setHotspotBssid(HOTSPOT_BSSID_1);
assertNotEquals(network1, builder.build());
assertThat(builder.build()).isNotEqualTo(network1);
builder = buildTetherNetworkBuilder().setHotspotSecurityTypes(HOTSPOT_SECURITY_TYPES_1);
assertNotEquals(network1, builder.build());
builder = buildTetherNetworkBuilder();
TetherNetwork.Builder builder1 = buildTetherNetworkBuilder();
Arrays.stream(HOTSPOT_SECURITY_TYPES_1).forEach(builder1::addHotspotSecurityType);
assertThat(builder1.build()).isNotEqualTo(builder.build());
}
/**
@@ -117,23 +121,35 @@ public class TetherNetworkTest {
@Test
public void testGetMethods() {
TetherNetwork network = buildTetherNetworkBuilder().build();
assertEquals(network.getDeviceId(), DEVICE_ID);
assertEquals(network.getDeviceInfo(), DEVICE_INFO);
assertEquals(network.getNetworkType(), NETWORK_TYPE);
assertEquals(network.getNetworkName(), NETWORK_NAME);
assertEquals(network.getHotspotSsid(), HOTSPOT_SSID);
assertEquals(network.getHotspotBssid(), HOTSPOT_BSSID);
assertArrayEquals(network.getHotspotSecurityTypes(), HOTSPOT_SECURITY_TYPES);
ArraySet<Integer> securityTypes = new ArraySet<>();
Arrays.stream(HOTSPOT_SECURITY_TYPES).forEach(securityTypes::add);
assertThat(network.getDeviceId()).isEqualTo(DEVICE_ID);
assertThat(network.getDeviceInfo()).isEqualTo(DEVICE_INFO);
assertThat(network.getNetworkType()).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);
}
@Test
public void testHashCode() {
TetherNetwork network1 = buildTetherNetworkBuilder().build();
TetherNetwork network2 = buildTetherNetworkBuilder().build();
assertThat(network1.hashCode()).isEqualTo(network2.hashCode());
}
private TetherNetwork.Builder buildTetherNetworkBuilder() {
return new TetherNetwork.Builder()
TetherNetwork.Builder builder = new TetherNetwork.Builder()
.setDeviceId(DEVICE_ID)
.setDeviceInfo(DEVICE_INFO)
.setNetworkType(NETWORK_TYPE)
.setNetworkName(NETWORK_NAME)
.setHotspotSsid(HOTSPOT_SSID)
.setHotspotBssid(HOTSPOT_BSSID)
.setHotspotSecurityTypes(HOTSPOT_SECURITY_TYPES);
.setHotspotBssid(HOTSPOT_BSSID);
Arrays.stream(HOTSPOT_SECURITY_TYPES).forEach(builder::addHotspotSecurityType);
return builder;
}
}

View File

@@ -24,9 +24,8 @@ import static android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStat
import static android.net.wifi.sharedconnectivity.app.TetherNetwork.NETWORK_TYPE_CELLULAR;
import static android.net.wifi.sharedconnectivity.app.TetherNetworkConnectionStatus.CONNECTION_STATUS_UNKNOWN;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.when;
import android.content.Context;
@@ -52,11 +51,10 @@ import org.mockito.MockitoAnnotations;
import java.util.List;
/**
* Unit tests for {@link android.net.wifi.sharedconnectivity.service.SharedConnectivityService}.
* Unit tests for {@link SharedConnectivityService}.
*/
@SmallTest
public class SharedConnectivityServiceTest {
private static final int[] SECURITY_TYPES = {SECURITY_TYPE_WEP, SECURITY_TYPE_EAP};
private static final DeviceInfo DEVICE_INFO = new DeviceInfo.Builder()
.setDeviceType(DEVICE_TYPE_TABLET).setDeviceName("TEST_NAME").setModelName("TEST_MODEL")
.setConnectionStrength(2).setBatteryPercentage(50).build();
@@ -64,12 +62,13 @@ public class SharedConnectivityServiceTest {
new TetherNetwork.Builder().setDeviceId(1).setDeviceInfo(DEVICE_INFO)
.setNetworkType(NETWORK_TYPE_CELLULAR).setNetworkName("TEST_NETWORK")
.setHotspotSsid("TEST_SSID").setHotspotBssid("TEST_BSSID")
.setHotspotSecurityTypes(SECURITY_TYPES).build();
.addHotspotSecurityType(SECURITY_TYPE_WEP)
.addHotspotSecurityType(SECURITY_TYPE_EAP).build();
private static final List<TetherNetwork> TETHER_NETWORKS = List.of(TETHER_NETWORK);
private static final KnownNetwork KNOWN_NETWORK =
new KnownNetwork.Builder().setNetworkSource(NETWORK_SOURCE_NEARBY_SELF)
.setSsid("TEST_SSID").setSecurityTypes(SECURITY_TYPES)
.setDeviceInfo(DEVICE_INFO).build();
.setSsid("TEST_SSID").addSecurityType(SECURITY_TYPE_WEP)
.addSecurityType(SECURITY_TYPE_EAP).setDeviceInfo(DEVICE_INFO).build();
private static final List<KnownNetwork> KNOWN_NETWORKS = List.of(KNOWN_NETWORK);
private static final SharedConnectivitySettingsState SETTINGS_STATE =
new SharedConnectivitySettingsState.Builder().setInstantTetherEnabled(true)
@@ -111,7 +110,8 @@ public class SharedConnectivityServiceTest {
@Test
public void onBind_isNotNull() {
SharedConnectivityService service = createService();
assertNotNull(service.onBind(new Intent()));
assertThat(service.onBind(new Intent())).isNotNull();
}
@Test
@@ -121,7 +121,9 @@ public class SharedConnectivityServiceTest {
(ISharedConnectivityService.Stub) service.onBind(new Intent());
service.setTetherNetworks(TETHER_NETWORKS);
assertArrayEquals(TETHER_NETWORKS.toArray(), binder.getTetherNetworks().toArray());
assertThat(binder.getTetherNetworks())
.containsExactlyElementsIn(List.copyOf(TETHER_NETWORKS));
}
@Test
@@ -131,7 +133,9 @@ public class SharedConnectivityServiceTest {
(ISharedConnectivityService.Stub) service.onBind(new Intent());
service.setKnownNetworks(KNOWN_NETWORKS);
assertArrayEquals(KNOWN_NETWORKS.toArray(), binder.getKnownNetworks().toArray());
assertThat(binder.getKnownNetworks())
.containsExactlyElementsIn(List.copyOf(KNOWN_NETWORKS));
}
@Test
@@ -141,7 +145,8 @@ public class SharedConnectivityServiceTest {
(ISharedConnectivityService.Stub) service.onBind(new Intent());
service.setSettingsState(SETTINGS_STATE);
assertEquals(SETTINGS_STATE, binder.getSettingsState());
assertThat(binder.getSettingsState()).isEqualTo(SETTINGS_STATE);
}
@Test
@@ -151,7 +156,9 @@ public class SharedConnectivityServiceTest {
(ISharedConnectivityService.Stub) service.onBind(new Intent());
service.updateTetherNetworkConnectionStatus(TETHER_NETWORK_CONNECTION_STATUS);
assertEquals(TETHER_NETWORK_CONNECTION_STATUS, binder.getTetherNetworkConnectionStatus());
assertThat(binder.getTetherNetworkConnectionStatus())
.isEqualTo(TETHER_NETWORK_CONNECTION_STATUS);
}
@Test
@@ -161,7 +168,9 @@ public class SharedConnectivityServiceTest {
(ISharedConnectivityService.Stub) service.onBind(new Intent());
service.updateKnownNetworkConnectionStatus(KNOWN_NETWORK_CONNECTION_STATUS);
assertEquals(KNOWN_NETWORK_CONNECTION_STATUS, binder.getKnownNetworkConnectionStatus());
assertThat(binder.getKnownNetworkConnectionStatus())
.isEqualTo(KNOWN_NETWORK_CONNECTION_STATUS);
}
private SharedConnectivityService createService() {