File: test_wifi.py

package info (click to toggle)
python-demetriek 1.3.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 544 kB
  • sloc: python: 1,400; makefile: 3
file content (68 lines) | stat: -rw-r--r-- 2,129 bytes parent folder | download
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