From 6e77545ef9655bd707bfc66997e2db690b3e82dd Mon Sep 17 00:00:00 2001 From: Colin Goutte Date: Sat, 26 Aug 2023 17:24:58 +0200 Subject: [PATCH] Refactor: unittest like --- utests/test_api.py | 53 +++++++++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 27 deletions(-) diff --git a/utests/test_api.py b/utests/test_api.py index 64ed2ec..371e1b9 100644 --- a/utests/test_api.py +++ b/utests/test_api.py @@ -50,39 +50,38 @@ def rand_name(): return name -def test_get_movie_404_if_not_found(): - response = client.get("/movies/-1") - assert response.status_code == 404 +class BaseCrud(unittest.TestCase): + def test_get_movie_404_if_not_found(self): + response = client.get("/movies/-1") + assert response.status_code == 404 + def test_list_movies(self): + response = client.get("/movies/") + # assert response.json() == [] -def test_list_movies(): - response = client.get("/movies/") - # assert response.json() == [] + N = 10 + names = [] + for _ in range(N): + name = rand_name() - N = 10 - names = [] - for _ in range(N): - name = rand_name() + names.append(name) + response = client.post("/movies/", json={"title": name}) + assert response.status_code == 200 - names.append(name) + movies = client.get("/movies/") + movies_by_title = {m["title"]: m for m in movies.json()} + found = list(movies_by_title[title] for title in names) + assert all(movies_by_title[title] for title in names) + + def test_create_movie_api(self): + name = f"rand_{random.randint(1, 1000)}" response = client.post("/movies/", json={"title": name}) + assert response.status_code == 200 - - movies = client.get("/movies/") - movies_by_title = {m["title"]: m for m in movies.json()} - found = list(movies_by_title[title] for title in names) - assert all(movies_by_title[title] for title in names) - - -def test_create_movie_api(): - name = f"rand_{random.randint(1, 1000)}" - response = client.post("/movies/", json={"title": name}) - - assert response.status_code == 200 - movie_id = response.json()["id"] - assert f"Created {name}" in response.json()["message"] - response = client.get(f"/movies/{movie_id}") - assert response.json()["title"] == name + movie_id = response.json()["id"] + assert f"Created {name}" in response.json()["message"] + response = client.get(f"/movies/{movie_id}") + assert response.json()["title"] == name class ApiTestCase(unittest.TestCase):