-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathtest_data.py
144 lines (117 loc) · 4.85 KB
/
test_data.py
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
import pytest
from aioruckus.const import SystemStat
def check_aps(aps: list):
for ap in aps:
assert "mac" in ap, f"'mac' missing in AP: {ap}"
assert "serial" in ap, f"'serial' missing in AP: {ap}"
assert "devname" in ap, f"'devname' missing in AP: {ap}"
assert "model" in ap, f"'model' missing in AP: {ap}"
assert "version" in ap, f"'version' missing in AP: {ap}"
@pytest.mark.asyncio
async def test_empty_ap_list(create_ajax_session, set_ajax_results):
"""Empty Access point list parsing"""
async with create_ajax_session() as session:
set_ajax_results(0)
aps = await session.api.get_aps()
assert len(aps) == 0
@pytest.mark.asyncio
async def test_single_ap(create_ajax_session, set_ajax_results):
"""Single Access point list parsing"""
async with create_ajax_session() as session:
set_ajax_results(1)
aps = await session.api.get_aps()
assert len(aps) == 1
check_aps(aps)
@pytest.mark.asyncio
async def test_multiple_aps(create_ajax_session, set_ajax_results):
"""Multiple Access point list parsing"""
async with create_ajax_session() as session:
set_ajax_results(2)
aps = await session.api.get_aps()
assert len(aps) == 2
check_aps(aps)
def check_clients(clients: list):
for client in clients:
assert "hostname" in client, f"'hostname' missing in Client: {client}"
assert "mac" in client, f"'mac' missing in Client: {client}"
assert "ip" in client, f"'ip' missing in Client: {client}"
assert "ap" in client, f"'ap' missing in Client: {client}"
@pytest.mark.asyncio
async def test_empty_client_list(create_ajax_session, set_ajax_results):
"""Empty Active Client list parsing"""
async with create_ajax_session() as session:
set_ajax_results(0)
clients = await session.api.get_active_clients()
assert len(clients) == 0
@pytest.mark.asyncio
async def test_single_client(create_ajax_session, set_ajax_results):
"""Single Active Client list parsing"""
async with create_ajax_session() as session:
set_ajax_results(1)
clients = await session.api.get_active_clients()
assert len(clients) == 1
check_clients(clients)
@pytest.mark.asyncio
async def test_multiple_clients(create_ajax_session, set_ajax_results):
"""Multiple Active Client list parsing"""
async with create_ajax_session() as session:
set_ajax_results(2)
clients = await session.api.get_active_clients()
assert len(clients) == 2
check_clients(clients)
@pytest.mark.asyncio
async def test_mesh_info(create_ajax_session, set_ajax_results):
"""Mesh information"""
async with create_ajax_session() as session:
set_ajax_results(0)
mesh_info = await session.api.get_mesh_info()
assert mesh_info["name"]
@pytest.mark.asyncio
async def test_sys_info(create_ajax_session, set_ajax_results):
"""System information"""
async with create_ajax_session() as session:
# bare call
set_ajax_results(0)
system_info = await session.api.get_system_info()
assert system_info["identity"]["name"]
assert system_info["sysinfo"]["version"]
assert system_info["sysinfo"]["serial"]
assert system_info["unleashed-network"]["unleashed-network-token"]
# sysinfo call
set_ajax_results(0)
system_info = await session.api.get_system_info(SystemStat.SYSINFO)
assert system_info["sysinfo"]["version"]
assert system_info["sysinfo"]["serial"]
@pytest.mark.asyncio
async def test_r1_aps(create_r1_session):
"""Ruckus One Access point list"""
async with create_r1_session() as session:
aps = await session.api.get_aps()
assert len(aps) == 2
check_aps(aps)
@pytest.mark.asyncio
async def test_r1_clients(create_r1_session):
"""Ruckus One Active Client list"""
async with create_r1_session() as session:
clients = await session.api.get_active_clients()
assert len(clients) == 2
check_clients(clients)
@pytest.mark.asyncio
async def test_r1_mesh_info(create_r1_session):
"""Ruckus One Active Client list"""
async with create_r1_session() as session:
mesh_info = await session.api.get_mesh_info()
assert mesh_info["name"]
@pytest.mark.asyncio
async def test_r1_system_info(create_r1_session):
"""Ruckus One Active Client list"""
async with create_r1_session() as session:
system_info = await session.api.get_system_info()
# bare call
assert system_info["identity"]["name"]
assert system_info["sysinfo"]["version"]
assert system_info["sysinfo"]["serial"]
# sysinfo call
system_info = await session.api.get_system_info(SystemStat.SYSINFO)
assert system_info["sysinfo"]["version"]
assert system_info["sysinfo"]["serial"]