Testing script added
This commit is contained in:
parent
4fd566f7c4
commit
f06c9ca33e
72
test.py
Normal file
72
test.py
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
from datetime import datetime, timedelta
|
||||||
|
from os import makedirs
|
||||||
|
from pyrmv.enums.rt_mode import RealTimeMode
|
||||||
|
from typing import Union
|
||||||
|
from ujson import loads, dumps, JSONDecodeError
|
||||||
|
from test_colors import *
|
||||||
|
|
||||||
|
import pyrmv
|
||||||
|
|
||||||
|
|
||||||
|
try:
|
||||||
|
with open("test_key.json", mode="r", encoding="utf-8") as file:
|
||||||
|
key = loads(file.read())["key"]
|
||||||
|
file.close()
|
||||||
|
except FileNotFoundError:
|
||||||
|
key = input("File 'test_key.json' does not exist. Enter your RMV API key to continue: ").strip()
|
||||||
|
key_save = input("To skip entering your key every time I can save your apikey here. Should I do that? (Y/n) > ").strip().lower()
|
||||||
|
if key_save == "y":
|
||||||
|
try:
|
||||||
|
with open("test_key.json", mode="w", encoding="utf-8") as file:
|
||||||
|
file.write(dumps({"key": key}))
|
||||||
|
file.close()
|
||||||
|
except Exception as exp:
|
||||||
|
print(f"Could not save 'test_key.json' with your apikey due to {exp}", flush=True)
|
||||||
|
else:
|
||||||
|
print("To skip entering your key every time create file 'test_key.json' with your apikey as a value for 'key' dict key.", flush=True)
|
||||||
|
|
||||||
|
|
||||||
|
def test(name: str, data: Union[str, dict], raw: bool = False) -> None:
|
||||||
|
|
||||||
|
makedirs("tests", exist_ok=True)
|
||||||
|
|
||||||
|
if isinstance(data, dict):
|
||||||
|
if "errorCode" in data:
|
||||||
|
print(f"{BBLACK}[{BRED}ER{BBLACK}] {RESET}Test of {YELLOW}{name} {RESET}did not go well. ErrorCode is {BRED}{data['errorCode']}{RESET}. Check {CYAN}tests/{name}.json {RESET}for more information.", flush=True)
|
||||||
|
else:
|
||||||
|
print(f"{BBLACK}[{BGREEN}OK{BBLACK}] {RESET}Test of {YELLOW}{name} {RESET}seems to be alright.", flush=True)
|
||||||
|
|
||||||
|
if raw:
|
||||||
|
|
||||||
|
try:
|
||||||
|
with open(f"tests/{name}.json", "w", encoding="utf-8") as file:
|
||||||
|
file.write(dumps(data, indent=4, ensure_ascii=False))
|
||||||
|
file.close()
|
||||||
|
except JSONDecodeError:
|
||||||
|
print(f"{BBLACK}[{BRED}ER{BBLACK}] {RESET}Test of {YELLOW}{name} {RESET}did not go well. ErrorCode is {BRED}{data['errorCode']}{RESET}. Check {CYAN}tests/{name}.json {RESET}for more information.", flush=True)
|
||||||
|
|
||||||
|
else:
|
||||||
|
|
||||||
|
with open(f"tests/{name}.txt", "w", encoding="utf-8") as file:
|
||||||
|
file.write(str(data))
|
||||||
|
file.close()
|
||||||
|
|
||||||
|
if data in ["", "\n"]:
|
||||||
|
print(f"{BBLACK}[{BRED}ER{BBLACK}] {RESET}Test of {YELLOW}{name} {RESET}did not go well. ErrorCode is {BRED}{data['errorCode']}{RESET}. Check {CYAN}tests/{name}.txt {RESET}for more information.", flush=True)
|
||||||
|
else:
|
||||||
|
print(f"{BBLACK}[{BGREEN}OK{BBLACK}] {RESET}Test of {YELLOW}{name} {RESET}is not empty, so might be fine. Check {CYAN}tests/{name}.txt {RESET}for more information.", flush=True)
|
||||||
|
|
||||||
|
|
||||||
|
test("raw_board_arrival", pyrmv.raw.board_arrival(key, id="A=1@O=Offenbach (Main)-Tempelsee Wilhelm-Schramm-Straße@X=8783648@Y=50083822@U=80@L=3008012@"), raw=True)
|
||||||
|
test("raw_board_departure", pyrmv.raw.board_departure(key, id="A=1@O=Offenbach (Main)-Tempelsee Wilhelm-Schramm-Straße@X=8783648@Y=50083822@U=80@L=3008012@"), raw=True)
|
||||||
|
test("raw_him_search", pyrmv.raw.him_search(key, dateE=datetime.now()+timedelta(days=180), timeE=datetime.now()+timedelta(days=180), lines=["S1", "S9"], bothways=True, maxprio="1"), raw=True)
|
||||||
|
test("raw_journey_detail", pyrmv.raw.journey_detail(key, id="2|#VN#1#ST#1664906549#PI#0#ZI#12709#TA#0#DA#61022#1S#3008007#1T#1248#LS#3008043#LT#1323#PU#80#RT#1#CA#1aE#ZE#101#ZB#Bus 101 #PC#6#FR#3008007#FT#1248#TO#3008043#TT#1323#"), raw=True)
|
||||||
|
test("raw_stop_by_name", pyrmv.raw.stop_by_name(key, "Groß Karben", maxNo=5), raw=True)
|
||||||
|
test("raw_stop_by_coords", pyrmv.raw.stop_by_coords(key, 50.131140, 8.733362, radius=300, maxNo=5), raw=True)
|
||||||
|
test("raw_trip_find", pyrmv.raw.trip_find(key, originCoordLat="50.084659", originCoordLong="8.785948", destCoordLat=50.1233048, destCoordLong=8.6129742, trafficMessages=True), raw=True)
|
||||||
|
test("raw_trip_recon", pyrmv.raw.trip_recon(key, ctx="¶HKI¶G@F$A=2@O=50.084659, 8.785948@X=8785948@Y=50084659@u=0@a=128@$A=1@O=Offenbach (Main)-Tempelsee Wilhelm-Schramm-Straße@L=3008012@a=128@$202210061243$202210061247$$$1$$$$$$§T$A=1@O=Offenbach (Main)-Tempelsee Wilhelm-Schramm-Straße@L=3008012@a=128@$A=1@O=Offenbach (Main)-Zentrum Marktplatz\/Frankf. Straße@L=3002510@a=128@$202210061247$202210061300$Bus 101 $$1$$$$$$§W$A=1@O=Offenbach (Main)-Zentrum Marktplatz\/Frankf. Straße@L=3002510@a=128@$A=1@O=Offenbach (Main)-Zentrum Marktplatz@L=3011265@a=128@$202210061300$202210061304$$$1$$$$$$§T$A=1@O=Offenbach (Main)-Zentrum Marktplatz@L=3011265@a=128@$A=1@O=Frankfurt (Main) Taunusanlage@L=3000011@a=128@$202210061306$202210061319$ S2$$1$$$$$$§T$A=1@O=Frankfurt (Main) Taunusanlage@L=3000011@a=128@$A=1@O=Frankfurt (Main) Rödelheim Bahnhof@L=3001217@a=128@$202210061322$202210061333$ S5$$1$$$$$$§G@F$A=1@O=Frankfurt (Main) Rödelheim Bahnhof@L=3001217@a=128@$A=2@O=50.123304, 8.612974@X=8612974@Y=50123304@u=0@a=128@$202210061333$202210061344$$$1$$$$$$¶GP¶ft@0@2000@120@1@100@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§bt@0@2000@120@1@100@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§tt@0@2000@120@1@100@1@@0@@@@@false@0@-1@0@-1@-1@$f@$f@$f@$f@$f@$§¶KRCC¶#VE#1#"), raw=True)
|
||||||
|
|
||||||
|
test("stop_by_id", pyrmv.stop_by_id(key, "A=1@O=Offenbach (Main)-Zentrum Marktplatz\/Frankf. Straße@X=8764456@Y=50105181@U=80@L=3002510@"))
|
||||||
|
test("board_arrival", pyrmv.board_arrival(key, "A=1@O=Frankfurt (Main) Taunusanlage@X=8668765@Y=50113478@U=80@L=3000011@"))
|
||||||
|
test("board_departure", pyrmv.board_departure(key, "A=1@O=Frankfurt (Main) Taunusanlage@X=8668765@Y=50113478@U=80@L=3000011@"))
|
||||||
|
test("journey_detail", pyrmv.journey_detail(key, "2|#VN#1#ST#1664906549#PI#0#ZI#12709#TA#0#DA#61022#1S#3008007#1T#1248#LS#3008043#LT#1323#PU#80#RT#1#CA#1aE#ZE#101#ZB#Bus 101 #PC#6#FR#3008007#FT#1248#TO#3008043#TT#1323#", real_time_mode=RealTimeMode.FULL))
|
19
test_colors.py
Normal file
19
test_colors.py
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
RESET = '\u001b[0m'
|
||||||
|
BLACK = '\u001b[30m'
|
||||||
|
RED = '\u001b[31m'
|
||||||
|
GREEN = '\u001b[32m'
|
||||||
|
YELLOW = '\u001b[33m'
|
||||||
|
BLUE = '\u001b[34m'
|
||||||
|
MAGENTA = '\u001b[35m'
|
||||||
|
CYAN = '\u001b[36m'
|
||||||
|
WHITE = '\u001b[37m'
|
||||||
|
BBLACK = '\u001b[30;1m'
|
||||||
|
BRED = '\u001b[31;1m'
|
||||||
|
BGREEN = '\u001b[32;1m'
|
||||||
|
BYELLOW = '\u001b[33;1m'
|
||||||
|
BBLUE = '\u001b[34;1m'
|
||||||
|
BMAGENTA = '\u001b[35;1m'
|
||||||
|
BCYAN = '\u001b[36;1m'
|
||||||
|
BWHITE = '\u001b[37;1m'
|
||||||
|
ULINE = '\u001b[4m'
|
||||||
|
REVERSE = '\u001b[7m'
|
Loading…
Reference in New Issue
Block a user