From 1f4e67f116ba14b31f047e8aedf45e55780ca948 Mon Sep 17 00:00:00 2001 From: Crispy Mouse Date: Tue, 16 Aug 2022 18:04:57 +0200 Subject: [PATCH 1/2] squash! Add endpoint --- src/testbench_tuna/main.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/testbench_tuna/main.py b/src/testbench_tuna/main.py index aa4e4d6..ffdf4f8 100644 --- a/src/testbench_tuna/main.py +++ b/src/testbench_tuna/main.py @@ -1,6 +1,6 @@ from typing import Union -from fastapi import FastAPI +from fastapi import FastAPI, HTTPException from . import utils @@ -15,3 +15,13 @@ async def get_root(): @app.get("/pizza-size") async def get_pizza_size(diameter: Union[int, float]): return {"area": utils.pizza_size(diameter)} + + +@app.get("/users/{username}/email") +async def get_users_username_email(username: str): + if username == "foo": + return {"username": username, "email": "foo@example.com"} + elif username == "bar": + return {"username": username, "email": "bar@example.com"} + else: + raise HTTPException(status_code=404, detail="User not found") From 6ba0b89f9b751f4af3a4dfd4aba5aa641e17b5bf Mon Sep 17 00:00:00 2001 From: Crispy Mouse Date: Tue, 16 Aug 2022 18:17:10 +0200 Subject: [PATCH 2/2] squash! Add tests --- tests/test_main.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/tests/test_main.py b/tests/test_main.py index 7415cc9..e1867d1 100644 --- a/tests/test_main.py +++ b/tests/test_main.py @@ -15,3 +15,20 @@ def test_get_pizza_size(): response = client.get("/pizza-size", params={"diameter": 666}) assert response.status_code == 200 assert response.json() == {"area": 666} + + +def test_get_user_username_email_foo(): + response = client.get("/users/foo/email") + assert response.status_code == 200 + assert response.json() == {"username": "foo", "email": "foo@example.com"} + + +def test_get_user_username_email_bar(): + response = client.get("/users/bar/email") + assert response.status_code == 200 + assert response.json() == {"username": "bar", "email": "bar@example.com"} + + +def test_get_user_username_email_404(): + response = client.get("/users/fefefe/email") + assert response.status_code == 404