File: test_device.py

package info (click to toggle)
python-bsblan 2.2.5-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 784 kB
  • sloc: python: 2,890; makefile: 3
file content (42 lines) | stat: -rw-r--r-- 1,164 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
"""Tests for scanning list of params from the BSBLAN device."""

# file deepcode ignore W0212: this is a testfile

from typing import TYPE_CHECKING

import aiohttp
import pytest
from aresponses import ResponsesMockServer

from bsblan import BSBLAN, BSBLANConfig

from . import load_fixture

if TYPE_CHECKING:
    from bsblan.models import Device


@pytest.mark.asyncio
async def test_device(aresponses: ResponsesMockServer) -> None:
    """Test scan params BSBLAN."""
    aresponses.add(
        "example.com",
        "/JI",
        "POST",
        aresponses.Response(
            status=200,
            headers={"Content-Type": "application/json"},
            text=load_fixture("device.json"),
        ),
    )
    async with aiohttp.ClientSession() as session:
        config = BSBLANConfig(host="example.com")
        bsblan = BSBLAN(config, session=session)

        # test _info and _device_params
        device: Device = await bsblan.device()
        assert device
        assert device.name == "BSB-LAN"
        assert device.version == "1.0.38-20200730234859"
        assert device.MAC == "00:80:41:19:69:90"
        assert device.uptime == 969402857