diff options
author | crupest <crupest@outlook.com> | 2022-11-28 13:13:27 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2022-11-28 13:13:27 +0800 |
commit | 51bee1e8891ebea829a1a5e9a6502a79e0e5b6db (patch) | |
tree | 63b194129d445220ce11425cc993fca67788e9ad /tool/modules/test.py | |
parent | 873c9b4e39e47d2e6e1dbf40ee6f2e812c229adb (diff) | |
download | crupest-51bee1e8891ebea829a1a5e9a6502a79e0e5b6db.tar.gz crupest-51bee1e8891ebea829a1a5e9a6502a79e0e5b6db.tar.bz2 crupest-51bee1e8891ebea829a1a5e9a6502a79e0e5b6db.zip |
Merge test into aio.
Diffstat (limited to 'tool/modules/test.py')
-rw-r--r-- | tool/modules/test.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tool/modules/test.py b/tool/modules/test.py new file mode 100644 index 0000000..d6eb778 --- /dev/null +++ b/tool/modules/test.py @@ -0,0 +1,31 @@ +import json +from http.client import * +from urllib.request import urlopen + + +def test_crupest_api(console): + def do_the_test(): + res: HTTPResponse = urlopen("http://localhost:5188/api/todos") + body = res.read() + + if res.status != 200: + raise Exception("Status code is not 200.") + result = json.loads(body) + if not isinstance(result, list): + raise Exception("Result is not an array.") + if len(result) == 0: + raise Exception("Result is an empty array.") + if not isinstance(result[0], dict): + raise Exception("Result[0] is not an object.") + if not isinstance(result[0].get("title"), str): + raise Exception("Result[0].title is not a string.") + if not isinstance(result[0].get("status"), str): + raise Exception("Result[0].status is not a string.") + + try: + do_the_test() + console.print("Test passed!", style="green") + exit(0) + except Exception as e: + console.print(e) + console.print("Test failed!", style="red") |