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)