def test_create(): # Create new user username = "******" url = full_url("user") resp = requests.post(url, data={"username": username, "password": "******"}) data = resp.json() assert data["username"] == username assert resp.status_code == 201 assert data["id"] != None uid = data["id"] sessid, sess = login(username, "pass") url = full_url(f"customer/{uid}") headers = {"session-id": sessid} req = { "name": "Test Engineer", "gender": "Non-binary", "tel": "911", "address": "Mars", } resp = requests.post(url, data=req, headers=headers) data = resp.json() print(data) assert resp.status_code == 201 assert data["id"] == uid assert data["name"] == req["name"] assert data["gender"] == req["gender"] assert data["tel"] == req["tel"] assert data["address"] == req["address"] assert data["level"] == 0
def test_default_users(): url = full_url("user") resp = requests.get(url).json() usernames = [u["username"] for u in resp] assert "admin" in usernames assert "customer" in usernames assert "employee" in usernames
def test_admin_logout(): url = full_url("login") headers = {"username": "******", "password": "******"} resp = requests.post(url, headers=headers) # Login assert resp.status_code == 200 assert "id" in resp.json().keys() headers = {"session-id": resp.json()["id"]} resp = requests.delete(url, headers=headers) # Logout assert resp.status_code == 204 resp = requests.get(url, headers=headers) # Test logged in assert resp.status_code == 401 assert "error" in resp.json().keys()
def test_admin_login(): url = full_url("login") headers = {"username": "******", "password": "******"} resp = requests.post(url, headers=headers) assert resp.status_code == 200 assert "id" in resp.json().keys() headers = {"session-id": resp.json()["id"]} resp = requests.get(url, headers=headers) assert resp.status_code == 200 user = resp.json()["user"] assert user["username"] == "admin" assert user["role"] == "admin"
def test_create_user(): url = full_url("user") resp = requests.post( url, data={ "username": "******", "password": "******" }, ) data = resp.json() assert data["username"] == "a" assert resp.status_code == 201 assert data["id"] != None url = f"{url}/{data['id']}" resp = requests.get(url) data = resp.json() assert resp.status_code == 200 assert data["username"] == "a"
def login(username: str, password: str) -> (str, dict): headers = {"username": username, "password": password} sess = requests.post(full_url("login"), headers=headers) sess = sess.json() return sess["id"], sess
def test_not_logged_in(): url = full_url("login") resp = requests.get(url) assert resp.status_code == 401 assert "error" in resp.json().keys()