Add test for WifiAwareNetworkSpecifier and ParcelablePeerHandle
Test WifiAwareNetworkSpecifier satisfiedBy API
Test ParcelablePeerHandle parcel
Bug: 150975738
Bug: 150976784
Test: atest SingleDeviceTest
Change-Id: I56f775774557b34935b7781f57c0b6f7b7e4e9b4
diff --git a/tests/cts/net/src/android/net/wifi/aware/cts/SingleDeviceTest.java b/tests/cts/net/src/android/net/wifi/aware/cts/SingleDeviceTest.java
index 29f091b..8f23324 100644
--- a/tests/cts/net/src/android/net/wifi/aware/cts/SingleDeviceTest.java
+++ b/tests/cts/net/src/android/net/wifi/aware/cts/SingleDeviceTest.java
@@ -16,7 +16,9 @@
package android.net.wifi.aware.cts;
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
+import static org.mockito.Mockito.mock;
import android.content.BroadcastReceiver;
import android.content.Context;
@@ -30,17 +32,21 @@
import android.net.wifi.WifiManager;
import android.net.wifi.aware.AttachCallback;
import android.net.wifi.aware.Characteristics;
+import android.net.wifi.aware.DiscoverySession;
import android.net.wifi.aware.DiscoverySessionCallback;
import android.net.wifi.aware.IdentityChangedListener;
+import android.net.wifi.aware.ParcelablePeerHandle;
import android.net.wifi.aware.PeerHandle;
import android.net.wifi.aware.PublishConfig;
import android.net.wifi.aware.PublishDiscoverySession;
import android.net.wifi.aware.SubscribeConfig;
import android.net.wifi.aware.SubscribeDiscoverySession;
import android.net.wifi.aware.WifiAwareManager;
+import android.net.wifi.aware.WifiAwareNetworkSpecifier;
import android.net.wifi.aware.WifiAwareSession;
import android.os.Handler;
import android.os.HandlerThread;
+import android.os.Parcel;
import android.platform.test.annotations.AppModeFull;
import android.test.AndroidTestCase;
@@ -812,6 +818,43 @@
session.close();
}
+ /**
+ * Test WifiAwareNetworkSpecifier.
+ */
+ public void testWifiAwareNetworkSpecifier() {
+ DiscoverySession session = mock(DiscoverySession.class);
+ PeerHandle handle = mock(PeerHandle.class);
+ WifiAwareNetworkSpecifier networkSpecifier =
+ new WifiAwareNetworkSpecifier.Builder(session, handle).build();
+ assertFalse(networkSpecifier.satisfiedBy(null));
+ assertTrue(networkSpecifier.satisfiedBy(networkSpecifier));
+
+ WifiAwareNetworkSpecifier anotherNetworkSpecifier =
+ new WifiAwareNetworkSpecifier.Builder(session, handle).setPmk(PMK_VALID).build();
+ assertFalse(networkSpecifier.satisfiedBy(anotherNetworkSpecifier));
+ }
+
+ /**
+ * Test ParcelablePeerHandle parcel.
+ */
+ public void testParcelablePeerHandle() {
+ PeerHandle peerHandle = mock(PeerHandle.class);
+ ParcelablePeerHandle parcelablePeerHandle = new ParcelablePeerHandle(peerHandle);
+ Parcel parcelW = Parcel.obtain();
+ parcelablePeerHandle.writeToParcel(parcelW, 0);
+ byte[] bytes = parcelW.marshall();
+ parcelW.recycle();
+
+ Parcel parcelR = Parcel.obtain();
+ parcelR.unmarshall(bytes, 0, bytes.length);
+ parcelR.setDataPosition(0);
+ ParcelablePeerHandle rereadParcelablePeerHandle =
+ ParcelablePeerHandle.CREATOR.createFromParcel(parcelR);
+
+ assertEquals(parcelablePeerHandle, rereadParcelablePeerHandle);
+ assertEquals(parcelablePeerHandle.hashCode(), rereadParcelablePeerHandle.hashCode());
+ }
+
// local utilities
private WifiAwareSession attachAndGetSession() {