Skip to content

Instantly share code, notes, and snippets.

@jfjensen
Created October 20, 2023 16:34
Show Gist options
  • Save jfjensen/8aacc58c9bf9329e09cf68ec51ac215d to your computer and use it in GitHub Desktop.
Save jfjensen/8aacc58c9bf9329e09cf68ec51ac215d to your computer and use it in GitHub Desktop.
This code provides a set of test functions to verify the behavior of a Litestar web app
import requests
import logging
logging.getLogger('faker').setLevel(logging.ERROR)
HOST = "http://127.0.0.1"
PORT = "8000"
BASE_URL = HOST + ":" + PORT
def test_list_users():
url = BASE_URL + "/users"
response = requests.get(url)
logging.info(f"listing users: {response.json()}")
assert response.status_code == 200
def test_create_new_user():
url = BASE_URL + "/user"
data = {
"user_id": 5,
"name": "Bob",
"age": 21,
"email": "[email protected]"
}
response = requests.post(url, json=data)
logging.info(f"created user: {response.json()}")
assert response.status_code == 201
def test_get_user():
user = {
"user_id": 1,
"name": "John Doe",
"age": 30,
"email": "[email protected]"
}
url = BASE_URL + "/user/" + str(user["user_id"])
response = requests.get(url)
content = response.json()[0]
logging.info(f"get user: {content}")
assert content["user_id"] == user["user_id"]
assert content["name"] == user["name"]
assert content["age"] == user["age"]
assert content["email"] == user["email"]
assert response.status_code == 200
def test_get_nonexistant_user():
user_id = 200
url = BASE_URL + "/user/" + str(user_id)
response = requests.get(url)
assert response.status_code == 400
def test_delete_user():
user_id = 5
url = BASE_URL + "/user/" + str(user_id)
response = requests.delete(url)
logging.info(f"deleted user: {response.status_code}")
assert response.status_code == 204
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment