async def test_get_local_devices() -> Any:
    """Test that we can get a list of devices."""
    async with aiohttp.ClientSession() as session:
        with VCR.use_cassette("local_devices.yaml"):
            awair = AwairLocal(
                session=session,
                device_addrs=[
                    "AWAIR-ELEM-1416DC.local", "AWAIR-ELEM-1419E1.local"
                ],
            )
            devices = await awair.devices()

    assert len(devices) == 2

    assert devices[0].device_id == MOCK_ELEMENT_DEVICE_A_ATTRS["deviceId"]
    assert devices[0].device_type == MOCK_ELEMENT_DEVICE_A_ATTRS["deviceType"]
    assert devices[0].uuid == MOCK_ELEMENT_DEVICE_A_ATTRS["deviceUUID"]
    assert "<AwairDevice" in str(devices[0])

    assert devices[1].device_id == MOCK_ELEMENT_DEVICE_B_ATTRS["deviceId"]
    assert devices[1].device_type == MOCK_ELEMENT_DEVICE_B_ATTRS["deviceType"]
    assert devices[1].uuid == MOCK_ELEMENT_DEVICE_B_ATTRS["deviceUUID"]
    assert "<AwairDevice" in str(devices[1])
async def test_sensor_creation_gen2() -> Any:
    """Test that an Awair gen2 creates expected sensors."""
    target = datetime(2020, 4, 10, 10, 38, 30)
    async with aiohttp.ClientSession() as session:
        with VCR.use_cassette("awair-r2.yaml"), time_travel(target):
            awair = Awair(session=session, access_token=ACCESS_TOKEN)
            device = mock_awair_device(client=awair.client,
                                       device=MOCK_GEN2_DEVICE_ATTRS)
            resp = await device.air_data_latest()

    assert hasattr(resp, "timestamp")
    assert hasattr(resp, "score")
    assert hasattr(resp, "sensors")
    assert hasattr(resp, "indices")

    expected_sensors = [
        "humidity",
        "temperature",
        "volatile_organic_compounds",
        "particulate_matter_2_5",
        "carbon_dioxide",
    ]
    assert resp is not None
    assert len(resp.sensors) == len(expected_sensors)
    for sensor in expected_sensors:
        assert hasattr(resp.sensors, sensor)

    expected_indices = [
        "humidity",
        "temperature",
        "volatile_organic_compounds",
        "particulate_matter_2_5",
        "carbon_dioxide",
    ]
    assert len(resp.indices) == len(expected_indices)
    for sensor in expected_indices:
        assert hasattr(resp.indices, sensor)