androidx.health.connect.client.testing


Classes

FakeHealthConnectClient

Fake HealthConnectClient to be used in tests for components that use it as a dependency.

FakeHealthConnectClientOverrides

Used to override or intercept responses to emulate scenarios that FakeHealthConnectClient doesn't support.

FakePermissionController

A fake PermissionController that enables full control of permissions in tests for a HealthConnectClient.

Top-level functions summary

AggregationResult
AggregationResult(
    dataOrigins: Set<DataOrigin>,
    metrics: Map<AggregateMetric<Any>, Any>
)

Creates an AggregationResult from a map of metrics.

Extension functions summary

Metadata
Metadata.populatedWithTestValues(
    id: String,
    dataOrigin: DataOrigin,
    lastModifiedTime: Instant
)

Creates a new Metadata object by copying existing fields and overriding id, dataOrigin, and lastModifiedTime for testing purposes.

Top-level functions

fun AggregationResult(
    dataOrigins: Set<DataOrigin> = emptySet(),
    metrics: Map<AggregateMetric<Any>, Any> = emptyMap()
): AggregationResult

Creates an AggregationResult from a map of metrics.

Extension functions

populatedWithTestValues

fun Metadata.populatedWithTestValues(
    id: String = "",
    dataOrigin: DataOrigin = DataOrigin(""),
    lastModifiedTime: Instant = Instant.EPOCH
): Metadata

Creates a new Metadata object by copying existing fields and overriding id, dataOrigin, and lastModifiedTime for testing purposes.

This simulates the behavior of the Health Connect implementation, which automatically populates these values during record insertion.

Parameters
id: String = ""

The ID to assign to the new Metadata. Defaults to an empty string.

dataOrigin: DataOrigin = DataOrigin("")

The DataOrigin to assign to the new Metadata. Defaults to a DataOrigin with an empty package name.

lastModifiedTime: Instant = Instant.EPOCH

The Instant representing the last modified time. Defaults to Instant.EPOCH.