1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
"""Asynchronous Python client for LaMetric TIME devices."""
# pylint: disable=protected-access
from ipaddress import IPv4Address
import aiohttp
from aresponses import ResponsesMockServer
from demetriek import LaMetricDevice
from demetriek.const import WifiMode
from . import load_fixture
async def test_get_wifi(aresponses: ResponsesMockServer) -> None:
"""Test getting audio information."""
aresponses.add(
"127.0.0.2:4343",
"/api/v2/device/wifi",
"GET",
aresponses.Response(
status=200,
headers={"Content-Type": "application/json"},
text=load_fixture("wifi.json"),
),
)
async with aiohttp.ClientSession() as session:
demetriek = LaMetricDevice(host="127.0.0.2", api_key="abc", session=session)
wifi = await demetriek.wifi()
assert wifi
assert wifi.active is True
assert wifi.mac == "AA:BB:CC:DD:EE:FF"
assert wifi.available is True
assert wifi.encryption == "WPA"
assert wifi.ip == IPv4Address("192.168.1.2")
assert wifi.mode == WifiMode.DHCP
assert wifi.netmask == "255.255.255.0"
assert wifi.ssid == "AllYourBaseAreBelongToUs"
assert wifi.rssi == 42
async def test_get_wifi2(aresponses: ResponsesMockServer) -> None:
"""Test getting audio information."""
aresponses.add(
"127.0.0.2:4343",
"/api/v2/device/wifi",
"GET",
aresponses.Response(
status=200,
headers={"Content-Type": "application/json"},
text=load_fixture("wifi2.json"),
),
)
async with aiohttp.ClientSession() as session:
demetriek = LaMetricDevice(host="127.0.0.2", api_key="abc", session=session)
wifi = await demetriek.wifi()
assert wifi
assert wifi.active is True
assert wifi.mac == "AA:BB:CC:DD:EE:FF"
assert wifi.available is True
assert wifi.encryption is None
assert wifi.ip == IPv4Address("192.168.1.2")
assert wifi.mode == WifiMode.DHCP
assert wifi.netmask == "255.255.255.0"
assert wifi.ssid == "AllYourBaseAreBelongToUs"
assert wifi.rssi is None
|