"""Tests for ifstats_skids."""

import ifstats_skids
from wvtest import *  # pylint: disable=wildcard-import


@wvtest
def ParseSavedStatusWireless():
  with open('testdata/status_wireless.html') as status_wireless:
    text = status_wireless.read()
    res = ifstats_skids.ParseStatusWireless(text)
    WVPASSEQ(res, {
        'Wireless Band': '802.11ac',
        'AP Mac Address (BSSID)': '00:26:86:F0:22:C9',
        'Bytes Transmitted': '193033536',
        'Device Mode': 'Station (STA)',
        'Packets Received Successfully': '12351163',
        'Association Status': 'Associated',
        'Bandwidth': '80 MHz',
        'RSSI': '-20',
        'Packets Transmitted Successfully': '9372546',
        'Bytes Received': '2814237224',
        'Channel': '108'
    })

