Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 87af9b6d authored by Omair Kamil's avatar Omair Kamil Committed by Automerger Merge Worker
Browse files

Update DCK tests to use TestParameterInjector. am: 66c6a5e4

parents 77a71ee3 66c6a5e4
Loading
Loading
Loading
Loading
+5 −12
Original line number Diff line number Diff line
@@ -24,9 +24,10 @@ import android.content.Context
import android.os.ParcelUuid
import androidx.test.core.app.ApplicationProvider
import com.android.compatibility.common.util.AdoptShellPermissionsRule
import com.google.common.collect.Sets
import com.google.common.truth.Truth.assertThat
import com.google.protobuf.Empty
import com.google.testing.junit.testparameterinjector.TestParameter
import com.google.testing.junit.testparameterinjector.TestParameterInjector
import io.grpc.Context as GrpcContext
import io.grpc.Deadline
import java.util.UUID
@@ -37,8 +38,6 @@ import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
import org.junit.runners.Parameterized.Parameters
import org.mockito.kotlin.any
import org.mockito.kotlin.argumentCaptor
import org.mockito.kotlin.clearInvocations
@@ -52,8 +51,8 @@ import pandora.HostProto.AdvertiseRequest
import pandora.HostProto.OwnAddressType

/** DCK GATT Tests */
@RunWith(Parameterized::class)
public class DckGattTest(private val connected: Boolean) {
@RunWith(TestParameterInjector::class)
public class DckGattTest() {

    private val context: Context = ApplicationProvider.getApplicationContext()
    private val bluetoothManager = context.getSystemService(BluetoothManager::class.java)!!
@@ -340,12 +339,6 @@ public class DckGattTest(private val connected: Boolean) {
        // CCC DK Specification R3 1.2.0 r14 section 19.2.1.2 Bluetooth Le Pairing
        private val CCC_DK_UUID = UUID.fromString("0000FFF5-0000-1000-8000-00805f9b34fb")

        @Parameters(name = "connected = {0}")
        @JvmStatic
        fun parameters(): Iterable<Array<Any?>> =
            Sets.cartesianProduct(
                    setOf(false, true), // connected
                )
                .map { it.toTypedArray() }
        @TestParameter private val connected: Boolean = false
    }
}
+9 −30
Original line number Diff line number Diff line
@@ -22,24 +22,19 @@ import android.bluetooth.le.ScanSettings
import android.content.Context
import androidx.test.core.app.ApplicationProvider
import com.android.compatibility.common.util.AdoptShellPermissionsRule
import com.google.common.collect.Sets
import com.google.common.truth.Truth.assertThat
import com.google.testing.junit.testparameterinjector.TestParameter
import com.google.testing.junit.testparameterinjector.TestParameterInjector
import kotlinx.coroutines.flow.first
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withTimeout
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
import org.junit.runners.Parameterized.Parameters

/** DCK LE Scan Tests */
@RunWith(Parameterized::class)
class DckScanTest(
    isRemoteAdvertisingWithUuid: Boolean,
    isBluetoothToggled: Boolean,
    isGattConnected: Boolean,
) {
@RunWith(TestParameterInjector::class)
class DckScanTest() {
    private val context: Context = ApplicationProvider.getApplicationContext()

    // Gives shell permissions during the test.
@@ -50,9 +45,8 @@ class DckScanTest(
    @Rule(order = 1) @JvmField val bumble = PandoraDevice()

    // Test rule for common DCK test setup and teardown procedures, along with utility APIs.
    @Rule(order = 2)
    @JvmField
    val dck =
    @get:Rule(order = 2)
    public val dck =
        DckTestRule(
            context,
            bumble,
@@ -97,23 +91,8 @@ class DckScanTest(
        // TODO(315852141): Include variations for LE only vs. Dual mode Bumble when supported
        // TODO(315852141): Include variations for two advertisements at the same time
        // TODO(303502437): Include variations for other callback types when supported in rootcanal
        @Parameters(
            name =
                "{index}: isRemoteAdvertisingWithUuid = {0}, " +
                    "isBluetoothToggled = {1}, isGattConnected = {2}"
        )
        @JvmStatic
        fun parameters(): Iterable<Array<Any>> {
            val booleanVariations = setOf(true, false)

            return Sets.cartesianProduct(
                    listOf(
                        /* isRemoteAdvertisingWithUuid */ booleanVariations,
                        /* isBluetoothToggled */ booleanVariations,
                        /* isGattConnected */ booleanVariations
                    )
                )
                .map { it.toTypedArray() }
        }
        @TestParameter val isRemoteAdvertisingWithUuid: Boolean = false
        @TestParameter val isBluetoothToggled: Boolean = false
        @TestParameter val isGattConnected: Boolean = false
    }
}