-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtester.py
41 lines (34 loc) · 1.22 KB
/
tester.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
import requests
import time
from datetime import datetime
import signal
import sys
versions = {}
def interrupt_handler(signum, frame):
print(f'Handling signal {signum} ({signal.Signals(signum).name}).')
sum = 0
for version in versions:
sum += versions[version]
for version in versions:
print("\t" + version.strip() + " " + str(versions[version]) + " " + str(round(versions[version]/sum, 2) * 100))
sys.exit(0)
def main():
i = 0
while True:
i+=1
req = requests.get("http://localhost:8080")
print(datetime.now().strftime('%H:%M:%S') + " " + str(req.text).strip() + " " + str(req.status_code).strip())
txt = req.json()["Text"]
version = req.headers["X-App-Version"]
if version + "=>" + str(req.status_code) in versions:
versions[version + "=>" + str(req.status_code)]+=1
else:
versions[version + "=>" + str(req.status_code)]=1
time.sleep(0.005)
if i % 100 == 0:
print("Current_status: ")
for version in versions:
print("\t" + version.strip() + " " + str(versions[version]))
if __name__ == '__main__':
signal.signal(signal.SIGINT, interrupt_handler)
main()