-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_project.py
More file actions
148 lines (108 loc) · 4.45 KB
/
test_project.py
File metadata and controls
148 lines (108 loc) · 4.45 KB
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
145
146
147
148
import project
import pytest
def test_cpu_information(monkeypatch):
class FakeFreq:
current = 2400
max = 3200
monkeypatch.setattr(project.psutil,"cpu_percent",lambda interval: 50.0)
monkeypatch.setattr(project.psutil,"cpu_count", lambda logical = True : 16 if logical else 8)
monkeypatch.setattr(project.psutil,"cpu_freq",FakeFreq)
info = project.cpu_information()
assert info["CPU Utilization"] == "50.0%"
assert info["Physical Core"] == "8"
assert info["Logical Core"] == "16"
assert info["Base Speed"] == "3.2 GHz"
assert info["Current Speed"] == "2.4 GHz"
def test_memory_information(monkeypatch):
class FakeMemory:
total = 16363825400
used = 14141179820
free = 2233382994
percent = 86.4
monkeypatch.setattr(project.psutil,"virtual_memory",FakeMemory)
info = project.memory_information()
assert info["Total Memory"] == "15.24 GB"
assert info["Used Memory"] == "13.17 GB"
assert info["Available Memory"] == "2.08 GB"
assert info["Memory Usage"] == "86.4%"
def test_storage_information(monkeypatch):
class FakeStorage:
total = 111658412300
free = 101930311400
percent = 91.30
monkeypatch.setattr(project.psutil,"disk_usage",lambda path : FakeStorage)
info = project.storage_information()
assert info["Current Drive Storage"] == "103.99 GB"
assert info["Current Drive Free Space"] == "94.93 GB"
def test_network_information(monkeypatch):
class FakeNetwork:
bytes_recv = 2147483648
bytes_sent = 4294967296
packets_recv = 270733
packets_sent = 458280
monkeypatch.setattr(project.psutil,"net_io_counters",FakeNetwork)
info = project.network_information()
assert info["Total Download"] == "2.0 GB"
assert info["Total Upload"] == "4.0 GB"
assert info["Packet Sent"] == "458280"
assert info["Packet Recived"] == "270733"
assert info["Packet Lost"] == "187547"
def test_battery_inforamtion(monkeypatch):
class FakeBattery:
percent = 100
secsleft = 14400
power_plugged = False
monkeypatch.setattr(project.psutil,"sensors_battery",FakeBattery)
info = project.battery_information()
assert info["Battery Percentage"] == "100%"
assert info["Time Left"] == "4.0 Hours"
assert info["Power Plugged"] == "OUT"
def test_internet_speed_meter(monkeypatch):
class FakeSpeedTestResult:
ping = 3.00
client = {"isp" : "r0b0t","isprating" : "5.5","country" : "AAA","ip" : "10.10.10.10"}
def share(self):
return "https://s433dt3st.com/"
class FakeSpeedTest:
lat_lon = (30.7, 90.4)
def __init__(self,**kargs):
self.results = FakeSpeedTestResult()
def get_best_server(self):
pass
def download(self):
return 50 * 10**6
def upload(self):
return 40 * 10**6
monkeypatch.setattr(project.speedtest,"Speedtest",FakeSpeedTest)
info = project.internet_speed_meter()
assert info["Download Speed"] == "50.0 Mbps"
assert info["Upload Speed"] == "40.0 Mbps"
assert info["Ping"] == "3.0 ms"
assert info["Latitude"] == 30.7
assert info["Longitude"] == 90.4
assert info["ISP"] == "r0b0t"
assert info["ISP Rating"] == "5.5"
assert info["Country"] == "AAA"
assert info["IP Address"] == "10.10.10.10"
assert info["Shareable Link"] == "https://s433dt3st.com/"
def test_speedtest_config_error(monkeypatch):
class FakeConfig:
def __init__(self,**kargs):
raise project.speedtest.ConfigRetrievalError
monkeypatch.setattr(project.speedtest,"Speedtest",FakeConfig)
with pytest.raises(SystemExit,match="HTTP Error 403: Forbidden"):
project.internet_speed_meter()
def test_speedtest_connection_failure_error(monkeypatch):
class FakeConnection:
def __init__(self,**kargs):
raise project.speedtest.SpeedtestMiniConnectFailure
monkeypatch.setattr(project.speedtest,"Speedtest",FakeConnection)
with pytest.raises(SystemExit,match="HTTP Error 403: Forbidden"):
project.internet_speed_meter()
def test_speedtest_server_not_found(monkeypatch):
class FakeServer:
def __init__(self,**kargs):
raise project.speedtest.SpeedtestMissingBestServer
monkeypatch.setattr(project.speedtest,"Speedtest",FakeServer)
with pytest.raises(SystemExit,match="Unable to Determine Best Server"):
project.internet_speed_meter()