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 | |
| parent | 873c9b4e39e47d2e6e1dbf40ee6f2e812c229adb (diff) | |
| download | crupest-51bee1e8891ebea829a1a5e9a6502a79e0e5b6db.tar.gz crupest-51bee1e8891ebea829a1a5e9a6502a79e0e5b6db.tar.bz2 crupest-51bee1e8891ebea829a1a5e9a6502a79e0e5b6db.zip  | |
Merge test into aio.
Diffstat (limited to 'tool/modules')
| -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")  | 
