From 4f47e6b1fd116e19e947714ba648439513f27346 Mon Sep 17 00:00:00 2001 From: hay-kot Date: Sun, 28 Mar 2021 12:30:53 -0800 Subject: [PATCH] add token to test routes --- tests/test_routes/test_import_routes.py | 4 +-- tests/test_routes/test_meal_routes.py | 15 +++++----- tests/test_routes/test_migration_routes.py | 29 +++++++++----------- tests/test_routes/test_recipe_routes.py | 32 +++++++++++----------- tests/test_routes/test_settings_routes.py | 25 +++++++---------- tests/test_routes/utils/routes_data.py | 8 +++--- 6 files changed, 52 insertions(+), 61 deletions(-) diff --git a/tests/test_routes/test_import_routes.py b/tests/test_routes/test_import_routes.py index 0dfc82d1d..19e812305 100644 --- a/tests/test_routes/test_import_routes.py +++ b/tests/test_routes/test_import_routes.py @@ -16,8 +16,8 @@ def backup_data(): } -def test_import(api_client, backup_data): - response = api_client.post("/api/backups/dev_sample_data_2021-Feb-13.zip/import", json=backup_data) +def test_import(api_client, backup_data, token): + response = api_client.post("/api/backups/dev_sample_data_2021-Feb-13.zip/import", json=backup_data, headers=token) assert response.status_code == 200 for key, value in json.loads(response.content).items(): diff --git a/tests/test_routes/test_meal_routes.py b/tests/test_routes/test_meal_routes.py index f1a478cac..f801ba45f 100644 --- a/tests/test_routes/test_meal_routes.py +++ b/tests/test_routes/test_meal_routes.py @@ -23,11 +23,10 @@ def get_meal_plan_template(first=None, second=None): } -@pytest.fixture -def slug_1(api_client): +@pytest.fixture(scope="session") +def slug_1(api_client, token): # Slug 1 - - slug_1 = api_client.post(RECIPES_CREATE_URL, json={"url": recipe_test_data[0].url}) + slug_1 = api_client.post(RECIPES_CREATE_URL, json={"url": recipe_test_data[0].url}, headers=token) slug_1 = json.loads(slug_1.content) yield slug_1 @@ -35,10 +34,10 @@ def slug_1(api_client): api_client.delete(RECIPES_PREFIX + "/" + slug_1) -@pytest.fixture -def slug_2(api_client): +@pytest.fixture(scope="session") +def slug_2(api_client, token): # Slug 2 - slug_2 = api_client.post(RECIPES_CREATE_URL, json={"url": recipe_test_data[1].url}) + slug_2 = api_client.post(RECIPES_CREATE_URL, json={"url": recipe_test_data[1].url}, headers=token) slug_2 = json.loads(slug_2.content) yield slug_2 @@ -99,6 +98,6 @@ def test_delete_mealplan(api_client, token): existing_mealplan = existing_mealplan[0] plan_uid = existing_mealplan.get("uid") - response = api_client.delete(f"{MEALPLAN_PREFIX}/{plan_uid}") + response = api_client.delete(f"{MEALPLAN_PREFIX}/{plan_uid}", headers=token) assert response.status_code == 200 diff --git a/tests/test_routes/test_migration_routes.py b/tests/test_routes/test_migration_routes.py index f0629bf1b..cbe71c774 100644 --- a/tests/test_routes/test_migration_routes.py +++ b/tests/test_routes/test_migration_routes.py @@ -21,11 +21,10 @@ def chowdown_zip(): zip_copy.unlink() -def test_upload_chowdown_zip(api_client, chowdown_zip): +def test_upload_chowdown_zip(api_client, chowdown_zip, token): response = api_client.post( - f"{MIGRATIONS_PREFIX}/chowdown/upload", - files={"archive": chowdown_zip.open("rb")}, + f"{MIGRATIONS_PREFIX}/chowdown/upload", files={"archive": chowdown_zip.open("rb")}, headers=token ) assert response.status_code == 200 @@ -33,10 +32,10 @@ def test_upload_chowdown_zip(api_client, chowdown_zip): assert MIGRATION_DIR.joinpath("chowdown", chowdown_zip.name).is_file() -def test_import_chowdown_directory(api_client, chowdown_zip): - api_client.delete(f"{RECIPES_PREFIX}/roasted-okra") # TODO: Manage Test Data better +def test_import_chowdown_directory(api_client, chowdown_zip, token): + api_client.delete(f"{RECIPES_PREFIX}/roasted-okra", headers=token) # TODO: Manage Test Data better selection = chowdown_zip.name - response = api_client.post(f"{MIGRATIONS_PREFIX}/chowdown/{selection}/import") + response = api_client.post(f"{MIGRATIONS_PREFIX}/chowdown/{selection}/import", headers=token) assert response.status_code == 200 @@ -48,9 +47,9 @@ def test_import_chowdown_directory(api_client, chowdown_zip): assert response.status_code == 200 -def test_delete_chowdown_migration_data(api_client, chowdown_zip): +def test_delete_chowdown_migration_data(api_client, chowdown_zip, token): selection = chowdown_zip.name - response = api_client.delete(f"{MIGRATIONS_PREFIX}/chowdown/{selection}/delete") + response = api_client.delete(f"{MIGRATIONS_PREFIX}/chowdown/{selection}/delete", headers=token) assert response.status_code == 200 assert not MIGRATION_DIR.joinpath(chowdown_zip.name).is_file() @@ -70,11 +69,9 @@ def nextcloud_zip(): zip_copy.unlink() -def test_upload_nextcloud_zip(api_client, nextcloud_zip): - +def test_upload_nextcloud_zip(api_client, nextcloud_zip, token): response = api_client.post( - f"{MIGRATIONS_PREFIX}/nextcloud/upload", - files={"archive": nextcloud_zip.open("rb")}, + f"{MIGRATIONS_PREFIX}/nextcloud/upload", files={"archive": nextcloud_zip.open("rb")}, headers=token ) assert response.status_code == 200 @@ -82,9 +79,9 @@ def test_upload_nextcloud_zip(api_client, nextcloud_zip): assert MIGRATION_DIR.joinpath("nextcloud", nextcloud_zip.name).is_file() -def test_import_nextcloud_directory(api_client, nextcloud_zip): +def test_import_nextcloud_directory(api_client, nextcloud_zip, token): selection = nextcloud_zip.name - response = api_client.post(f"{MIGRATIONS_PREFIX}/nextcloud/{selection}/import") + response = api_client.post(f"{MIGRATIONS_PREFIX}/nextcloud/{selection}/import", headers=token) assert response.status_code == 200 @@ -96,9 +93,9 @@ def test_import_nextcloud_directory(api_client, nextcloud_zip): assert response.status_code == 200 -def test_delete__nextcloud_migration_data(api_client, nextcloud_zip): +def test_delete__nextcloud_migration_data(api_client, nextcloud_zip, token): selection = nextcloud_zip.name - response = api_client.delete(f"{MIGRATIONS_PREFIX}/nextcloud/{selection}/delete") + response = api_client.delete(f"{MIGRATIONS_PREFIX}/nextcloud/{selection}/delete", headers=token) assert response.status_code == 200 assert not MIGRATION_DIR.joinpath(nextcloud_zip.name).is_file() diff --git a/tests/test_routes/test_recipe_routes.py b/tests/test_routes/test_recipe_routes.py index 1007b2d09..b6a70729e 100644 --- a/tests/test_routes/test_recipe_routes.py +++ b/tests/test_routes/test_recipe_routes.py @@ -7,22 +7,22 @@ from tests.utils.routes import RECIPES_ALL, RECIPES_CREATE, RECIPES_CREATE_URL, @pytest.mark.parametrize("recipe_data", recipe_test_data) -def test_create_by_url(api_client, recipe_data: RecipeTestData): - response = api_client.post(RECIPES_CREATE_URL, json={"url": recipe_data.url}) +def test_create_by_url(api_client, recipe_data: RecipeTestData, token): + response = api_client.post(RECIPES_CREATE_URL, json={"url": recipe_data.url}, headers=token) assert response.status_code == 201 assert json.loads(response.text) == recipe_data.expected_slug -def test_create_by_json(api_client): - api_client.delete(f"{RECIPES_PREFIX}/banana-bread") - response = api_client.post(RECIPES_CREATE, json=raw_recipe) +def test_create_by_json(api_client, token): + api_client.delete(f"{RECIPES_PREFIX}/banana-bread", headers=token) + response = api_client.post(RECIPES_CREATE, json=raw_recipe, headers=token) assert response.status_code == 201 assert json.loads(response.text) == "banana-bread" -def test_create_no_image(api_client): - response = api_client.post(RECIPES_CREATE, json=raw_recipe_no_image) +def test_create_no_image(api_client, token): + response = api_client.post(RECIPES_CREATE, json=raw_recipe_no_image, headers=token) assert response.status_code == 201 assert json.loads(response.text) == "banana-bread-no-image" @@ -46,8 +46,8 @@ def test_read_all_post(api_client): @pytest.mark.parametrize("recipe_data", recipe_test_data) -def test_read_update(api_client, recipe_data): - response = api_client.get(f"{RECIPES_PREFIX}/{recipe_data.expected_slug}") +def test_read_update(api_client, recipe_data, token): + response = api_client.get(f"{RECIPES_PREFIX}/{recipe_data.expected_slug}", headers=token) assert response.status_code == 200 recipe = json.loads(response.content) @@ -61,7 +61,7 @@ def test_read_update(api_client, recipe_data): test_categories = ["one", "two", "three"] recipe["recipeCategory"] = test_categories - response = api_client.put(f"{RECIPES_PREFIX}/{recipe_data.expected_slug}", json=recipe) + response = api_client.put(f"{RECIPES_PREFIX}/{recipe_data.expected_slug}", json=recipe, headers=token) assert response.status_code == 200 assert json.loads(response.text) == recipe_data.expected_slug @@ -75,16 +75,16 @@ def test_read_update(api_client, recipe_data): @pytest.mark.parametrize("recipe_data", recipe_test_data) -def test_rename(api_client, recipe_data): - response = api_client.get(f"{RECIPES_PREFIX}/{recipe_data.expected_slug}") +def test_rename(api_client, recipe_data, token): + response = api_client.get(f"{RECIPES_PREFIX}/{recipe_data.expected_slug}", headers=token) assert response.status_code == 200 - recipe = json.loads(response.content) + recipe = json.loads(response.text) new_name = recipe.get("name") + "-rename" new_slug = slugify(new_name) recipe["name"] = new_name - response = api_client.put(f"{RECIPES_PREFIX}/{recipe_data.expected_slug}", json=recipe) + response = api_client.put(f"{RECIPES_PREFIX}/{recipe_data.expected_slug}", json=recipe, headers=token) assert response.status_code == 200 assert json.loads(response.text) == new_slug @@ -93,6 +93,6 @@ def test_rename(api_client, recipe_data): @pytest.mark.parametrize("recipe_data", recipe_test_data) -def test_delete(api_client, recipe_data): - response = api_client.delete(f"{RECIPES_PREFIX}/{recipe_data.expected_slug}") +def test_delete(api_client, recipe_data, token): + response = api_client.delete(f"{RECIPES_PREFIX}/{recipe_data.expected_slug}", headers=token) assert response.status_code == 200 diff --git a/tests/test_routes/test_settings_routes.py b/tests/test_routes/test_settings_routes.py index 718457861..5564226a6 100644 --- a/tests/test_routes/test_settings_routes.py +++ b/tests/test_routes/test_settings_routes.py @@ -1,14 +1,9 @@ import json -from mealie.schema.settings import SiteSettings -from mealie.schema.theme import SiteTheme import pytest -from tests.utils.routes import ( - SETTINGS_PREFIX, - SETTINGS_UPDATE, - THEMES_CREATE, - THEMES_PREFIX, -) +from mealie.schema.settings import SiteSettings +from mealie.schema.theme import SiteTheme +from tests.utils.routes import SETTINGS_PREFIX, SETTINGS_UPDATE, THEMES_CREATE, THEMES_PREFIX @pytest.fixture(scope="function") @@ -45,11 +40,11 @@ def test_default_settings(api_client, default_settings): assert json.loads(response.content) == default_settings -def test_update_settings(api_client, default_settings): +def test_update_settings(api_client, default_settings, token): default_settings["language"] = "fr" default_settings["showRecent"] = False - response = api_client.put(SETTINGS_UPDATE, json=default_settings) + response = api_client.put(SETTINGS_UPDATE, json=default_settings, headers=token) assert response.status_code == 200 @@ -63,12 +58,12 @@ def test_default_theme(api_client, default_theme): assert json.loads(response.content) == default_theme -def test_create_theme(api_client, new_theme): +def test_create_theme(api_client, new_theme, token): - response = api_client.post(THEMES_CREATE, json=new_theme) + response = api_client.post(THEMES_CREATE, json=new_theme, headers=token) assert response.status_code == 200 - response = api_client.get(f"{THEMES_PREFIX}/{new_theme.get('name')}") + response = api_client.get(f"{THEMES_PREFIX}/{new_theme.get('name')}", headers=token) assert response.status_code == 200 assert json.loads(response.content) == new_theme @@ -86,8 +81,8 @@ def test_read_theme(api_client, default_theme, new_theme): assert json.loads(response.content) == theme -def test_delete_theme(api_client, default_theme, new_theme): +def test_delete_theme(api_client, default_theme, new_theme, token): for theme in [default_theme, new_theme]: - response = api_client.delete(f"{THEMES_PREFIX}/{theme.get('name')}") + response = api_client.delete(f"{THEMES_PREFIX}/{theme.get('name')}", headers=token) assert response.status_code == 200 diff --git a/tests/test_routes/utils/routes_data.py b/tests/test_routes/utils/routes_data.py index ca580ffaa..700f970c3 100644 --- a/tests/test_routes/utils/routes_data.py +++ b/tests/test_routes/utils/routes_data.py @@ -6,12 +6,12 @@ class RecipeTestData: recipe_test_data = [ RecipeTestData( - url="https://www.bonappetit.com/recipe/rustic-shrimp-toasts", - expected_slug="rustic-shrimp-toasts", + url="https://www.bonappetit.com/recipe/spinach-thepla-and-vaghareli-dahi", + expected_slug="thepla-recipe-with-vaghareli-dahi", ), RecipeTestData( - url="https://www.allrecipes.com/recipe/282905/honey-garlic-shrimp/", - expected_slug="honey-garlic-shrimp", + url="https://www.bonappetit.com/recipe/classic-coleslaw", + expected_slug="traditional-coleslaw-recipe", ), ]