Add more CTS tests for Nearby Mainline APIs.
Bug: 217565373
Test: atest CtsNearbyFastPairTestCases
Change-Id: I48f6d8df2e97f792b662e487aaa6275074f06116
diff --git a/nearby/tests/cts/fastpair/src/android/nearby/cts/PresenceBroadcastRequestTest.java b/nearby/tests/cts/fastpair/src/android/nearby/cts/PresenceBroadcastRequestTest.java
index 0b3ff07..a37cc67 100644
--- a/nearby/tests/cts/fastpair/src/android/nearby/cts/PresenceBroadcastRequestTest.java
+++ b/nearby/tests/cts/fastpair/src/android/nearby/cts/PresenceBroadcastRequestTest.java
@@ -17,6 +17,7 @@
package android.nearby.cts;
import static android.nearby.BroadcastRequest.BROADCAST_TYPE_NEARBY_PRESENCE;
+import static android.nearby.BroadcastRequest.PRESENCE_VERSION_V0;
import static android.nearby.PresenceCredential.IDENTITY_TYPE_PRIVATE;
import static com.google.common.truth.Truth.assertThat;
@@ -34,6 +35,7 @@
import org.junit.Test;
import org.junit.runner.RunWith;
+import java.util.Arrays;
import java.util.Collections;
/**
@@ -43,6 +45,7 @@
@RequiresApi(Build.VERSION_CODES.TIRAMISU)
public class PresenceBroadcastRequestTest {
+ private static final int VERSION = PRESENCE_VERSION_V0;
private static final int TX_POWER = 1;
private static final byte[] SALT = new byte[]{1, 2};
private static final int ACTION_ID = 123;
@@ -53,7 +56,6 @@
private static final int KEY = 1234;
private static final byte[] VALUE = new byte[]{1, 1, 1, 1};
-
private PresenceBroadcastRequest.Builder mBuilder;
@Before
@@ -65,6 +67,7 @@
DataElement element = new DataElement(KEY, VALUE);
mBuilder = new PresenceBroadcastRequest.Builder(Collections.singletonList(BLE_MEDIUM), SALT)
.setTxPower(TX_POWER)
+ .setVersion(VERSION)
.setCredential(credential)
.addAction(ACTION_ID)
.addExtendedProperty(element);
@@ -74,6 +77,8 @@
public void testBuilder() {
PresenceBroadcastRequest broadcastRequest = mBuilder.build();
+ assertThat(broadcastRequest.getVersion()).isEqualTo(VERSION);
+ assertThat(Arrays.equals(broadcastRequest.getSalt(), SALT)).isTrue();
assertThat(broadcastRequest.getTxPower()).isEqualTo(TX_POWER);
assertThat(broadcastRequest.getActions()).containsExactly(ACTION_ID);
assertThat(broadcastRequest.getExtendedProperties().get(0).getKey()).isEqualTo(
diff --git a/nearby/tests/cts/fastpair/src/android/nearby/cts/PresenceDeviceTest.java b/nearby/tests/cts/fastpair/src/android/nearby/cts/PresenceDeviceTest.java
index e21bc80..a1b282d 100644
--- a/nearby/tests/cts/fastpair/src/android/nearby/cts/PresenceDeviceTest.java
+++ b/nearby/tests/cts/fastpair/src/android/nearby/cts/PresenceDeviceTest.java
@@ -46,6 +46,10 @@
private static final String DEVICE_NAME = "testDevice";
private static final int KEY = 1234;
private static final byte[] VALUE = new byte[]{1, 1, 1, 1};
+ private static final byte[] SALT = new byte[]{2, 3};
+ private static final byte[] SECRET_ID = new byte[]{11, 13};
+ private static final byte[] ENCRYPTED_IDENTITY = new byte[]{1, 3, 5, 61};
+ private static final long DISCOVERY_MILLIS = 100L;
@Test
public void testBuilder() {
@@ -57,6 +61,10 @@
.setRssi(RSSI)
.addMedium(MEDIUM)
.setName(DEVICE_NAME)
+ .setDiscoveryTimestampMillis(DISCOVERY_MILLIS)
+ .setSalt(SALT)
+ .setSecretId(SECRET_ID)
+ .setEncryptedIdentity(ENCRYPTED_IDENTITY)
.build();
assertThat(device.getDeviceType()).isEqualTo(DEVICE_TYPE);
@@ -68,6 +76,10 @@
assertThat(device.getRssi()).isEqualTo(RSSI);
assertThat(device.getMediums()).containsExactly(MEDIUM);
assertThat(device.getName()).isEqualTo(DEVICE_NAME);
+ assertThat(Arrays.equals(device.getSalt(), SALT)).isTrue();
+ assertThat(Arrays.equals(device.getSecretId(), SECRET_ID)).isTrue();
+ assertThat(Arrays.equals(device.getEncryptedIdentity(), ENCRYPTED_IDENTITY)).isTrue();
+ assertThat(device.getDiscoveryTimestampMillis()).isEqualTo(DISCOVERY_MILLIS);
}
@Test
diff --git a/nearby/tests/cts/fastpair/src/android/nearby/cts/PresenceScanFilterTest.java b/nearby/tests/cts/fastpair/src/android/nearby/cts/PresenceScanFilterTest.java
index 8962499..308be9e 100644
--- a/nearby/tests/cts/fastpair/src/android/nearby/cts/PresenceScanFilterTest.java
+++ b/nearby/tests/cts/fastpair/src/android/nearby/cts/PresenceScanFilterTest.java
@@ -70,6 +70,8 @@
assertThat(filter.getCredentials().get(0).getIdentityType()).isEqualTo(
IDENTITY_TYPE_PRIVATE);
assertThat(filter.getPresenceActions()).containsExactly(ACTION);
+ assertThat(filter.getExtendedProperties().get(0).getKey()).isEqualTo(KEY);
+
}
@Test
diff --git a/nearby/tests/cts/fastpair/src/android/nearby/cts/PrivateCredentialTest.java b/nearby/tests/cts/fastpair/src/android/nearby/cts/PrivateCredentialTest.java
index 3212307..5242999 100644
--- a/nearby/tests/cts/fastpair/src/android/nearby/cts/PrivateCredentialTest.java
+++ b/nearby/tests/cts/fastpair/src/android/nearby/cts/PrivateCredentialTest.java
@@ -41,6 +41,7 @@
@RunWith(AndroidJUnit4.class)
@RequiresApi(Build.VERSION_CODES.TIRAMISU)
public class PrivateCredentialTest {
+ private static final String DEVICE_NAME = "myDevice";
private static final byte[] SECRETE_ID = new byte[]{1, 2, 3, 4};
private static final byte[] AUTHENTICITY_KEY = new byte[]{0, 1, 1, 1};
private static final String KEY = "SecreteId";
@@ -53,6 +54,7 @@
public void setUp() {
mBuilder = new PrivateCredential.Builder(SECRETE_ID, AUTHENTICITY_KEY)
.setIdentityType(IDENTITY_TYPE_PRIVATE)
+ .setDeviceName(DEVICE_NAME)
.setMetadataEncryptionKey(METADATA_ENCRYPTION_KEY)
.addCredentialElement(new CredentialElement(KEY, VALUE));
}
@@ -63,6 +65,7 @@
assertThat(credential.getType()).isEqualTo(CREDENTIAL_TYPE_PRIVATE);
assertThat(credential.getIdentityType()).isEqualTo(IDENTITY_TYPE_PRIVATE);
+ assertThat(credential.getDeviceName()).isEqualTo(DEVICE_NAME);
assertThat(Arrays.equals(credential.getSecretId(), SECRETE_ID)).isTrue();
assertThat(Arrays.equals(credential.getAuthenticityKey(), AUTHENTICITY_KEY)).isTrue();
assertThat(Arrays.equals(credential.getMetadataEncryptionKey(),
diff --git a/nearby/tests/cts/fastpair/src/android/nearby/cts/PublicCredentialTest.java b/nearby/tests/cts/fastpair/src/android/nearby/cts/PublicCredentialTest.java
index 4a12416..f750951 100644
--- a/nearby/tests/cts/fastpair/src/android/nearby/cts/PublicCredentialTest.java
+++ b/nearby/tests/cts/fastpair/src/android/nearby/cts/PublicCredentialTest.java
@@ -21,6 +21,7 @@
import static com.google.common.truth.Truth.assertThat;
+import android.nearby.CredentialElement;
import android.nearby.PresenceCredential;
import android.nearby.PublicCredential;
import android.os.Build;
@@ -47,12 +48,15 @@
private static final byte[] PUBLIC_KEY = new byte[]{1, 1, 2, 2};
private static final byte[] ENCRYPTED_METADATA = new byte[]{1, 2, 3, 4, 5};
private static final byte[] METADATA_ENCRYPTION_KEY_TAG = new byte[]{1, 1, 3, 4, 5};
+ private static final String KEY = "KEY";
+ private static final byte[] VALUE = new byte[]{1, 2, 3, 4, 5};
private PublicCredential.Builder mBuilder;
@Before
public void setUp() {
mBuilder = new PublicCredential.Builder(SECRETE_ID, AUTHENTICITY_KEY)
+ .addCredentialElement(new CredentialElement(KEY, VALUE))
.setIdentityType(IDENTITY_TYPE_PRIVATE)
.setPublicKey(PUBLIC_KEY).setEncryptedMetadata(ENCRYPTED_METADATA)
.setEncryptedMetadataKeyTag(METADATA_ENCRYPTION_KEY_TAG);
@@ -64,6 +68,7 @@
assertThat(credential.getType()).isEqualTo(CREDENTIAL_TYPE_PUBLIC);
assertThat(credential.getIdentityType()).isEqualTo(IDENTITY_TYPE_PRIVATE);
+ assertThat(credential.getCredentialElements().get(0).getKey()).isEqualTo(KEY);
assertThat(Arrays.equals(credential.getSecretId(), SECRETE_ID)).isTrue();
assertThat(Arrays.equals(credential.getAuthenticityKey(), AUTHENTICITY_KEY)).isTrue();
assertThat(Arrays.equals(credential.getPublicKey(), PUBLIC_KEY)).isTrue();
diff --git a/nearby/tests/cts/fastpair/src/android/nearby/cts/ScanRequestTest.java b/nearby/tests/cts/fastpair/src/android/nearby/cts/ScanRequestTest.java
index 2d01e83..86e764c 100644
--- a/nearby/tests/cts/fastpair/src/android/nearby/cts/ScanRequestTest.java
+++ b/nearby/tests/cts/fastpair/src/android/nearby/cts/ScanRequestTest.java
@@ -48,6 +48,16 @@
private static final int UID = 1001;
private static final String APP_NAME = "android.nearby.tests";
+ @Test
+ @SdkSuppress(minSdkVersion = 32, codeName = "T")
+ public void testScanType() {
+ ScanRequest request = new ScanRequest.Builder()
+ .setScanType(SCAN_TYPE_NEARBY_PRESENCE)
+ .build();
+
+ assertThat(request.getScanType()).isEqualTo(SCAN_TYPE_NEARBY_PRESENCE);
+ }
+
// Valid scan type must be set to one of ScanRequest#SCAN_TYPE_
@Test(expected = IllegalStateException.class)
@SdkSuppress(minSdkVersion = 32, codeName = "T")