add token to test routes

This commit is contained in:
hay-kot 2021-03-28 12:30:53 -08:00
commit 4f47e6b1fd
6 changed files with 52 additions and 61 deletions

View file

@ -16,8 +16,8 @@ def backup_data():
} }
def test_import(api_client, 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) response = api_client.post("/api/backups/dev_sample_data_2021-Feb-13.zip/import", json=backup_data, headers=token)
assert response.status_code == 200 assert response.status_code == 200
for key, value in json.loads(response.content).items(): for key, value in json.loads(response.content).items():

View file

@ -23,11 +23,10 @@ def get_meal_plan_template(first=None, second=None):
} }
@pytest.fixture @pytest.fixture(scope="session")
def slug_1(api_client): def slug_1(api_client, token):
# Slug 1 # Slug 1
slug_1 = api_client.post(RECIPES_CREATE_URL, json={"url": recipe_test_data[0].url}, headers=token)
slug_1 = api_client.post(RECIPES_CREATE_URL, json={"url": recipe_test_data[0].url})
slug_1 = json.loads(slug_1.content) slug_1 = json.loads(slug_1.content)
yield slug_1 yield slug_1
@ -35,10 +34,10 @@ def slug_1(api_client):
api_client.delete(RECIPES_PREFIX + "/" + slug_1) api_client.delete(RECIPES_PREFIX + "/" + slug_1)
@pytest.fixture @pytest.fixture(scope="session")
def slug_2(api_client): def slug_2(api_client, token):
# Slug 2 # 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) slug_2 = json.loads(slug_2.content)
yield slug_2 yield slug_2
@ -99,6 +98,6 @@ def test_delete_mealplan(api_client, token):
existing_mealplan = existing_mealplan[0] existing_mealplan = existing_mealplan[0]
plan_uid = existing_mealplan.get("uid") 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 assert response.status_code == 200

View file

@ -21,11 +21,10 @@ def chowdown_zip():
zip_copy.unlink() 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( response = api_client.post(
f"{MIGRATIONS_PREFIX}/chowdown/upload", f"{MIGRATIONS_PREFIX}/chowdown/upload", files={"archive": chowdown_zip.open("rb")}, headers=token
files={"archive": chowdown_zip.open("rb")},
) )
assert response.status_code == 200 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() assert MIGRATION_DIR.joinpath("chowdown", chowdown_zip.name).is_file()
def test_import_chowdown_directory(api_client, chowdown_zip): def test_import_chowdown_directory(api_client, chowdown_zip, token):
api_client.delete(f"{RECIPES_PREFIX}/roasted-okra") # TODO: Manage Test Data better api_client.delete(f"{RECIPES_PREFIX}/roasted-okra", headers=token) # TODO: Manage Test Data better
selection = chowdown_zip.name 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 assert response.status_code == 200
@ -48,9 +47,9 @@ def test_import_chowdown_directory(api_client, chowdown_zip):
assert response.status_code == 200 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 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 response.status_code == 200
assert not MIGRATION_DIR.joinpath(chowdown_zip.name).is_file() assert not MIGRATION_DIR.joinpath(chowdown_zip.name).is_file()
@ -70,11 +69,9 @@ def nextcloud_zip():
zip_copy.unlink() 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( response = api_client.post(
f"{MIGRATIONS_PREFIX}/nextcloud/upload", f"{MIGRATIONS_PREFIX}/nextcloud/upload", files={"archive": nextcloud_zip.open("rb")}, headers=token
files={"archive": nextcloud_zip.open("rb")},
) )
assert response.status_code == 200 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() 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 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 assert response.status_code == 200
@ -96,9 +93,9 @@ def test_import_nextcloud_directory(api_client, nextcloud_zip):
assert response.status_code == 200 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 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 response.status_code == 200
assert not MIGRATION_DIR.joinpath(nextcloud_zip.name).is_file() assert not MIGRATION_DIR.joinpath(nextcloud_zip.name).is_file()

View file

@ -7,22 +7,22 @@ from tests.utils.routes import RECIPES_ALL, RECIPES_CREATE, RECIPES_CREATE_URL,
@pytest.mark.parametrize("recipe_data", recipe_test_data) @pytest.mark.parametrize("recipe_data", recipe_test_data)
def test_create_by_url(api_client, recipe_data: RecipeTestData): def test_create_by_url(api_client, recipe_data: RecipeTestData, token):
response = api_client.post(RECIPES_CREATE_URL, json={"url": recipe_data.url}) response = api_client.post(RECIPES_CREATE_URL, json={"url": recipe_data.url}, headers=token)
assert response.status_code == 201 assert response.status_code == 201
assert json.loads(response.text) == recipe_data.expected_slug assert json.loads(response.text) == recipe_data.expected_slug
def test_create_by_json(api_client): def test_create_by_json(api_client, token):
api_client.delete(f"{RECIPES_PREFIX}/banana-bread") api_client.delete(f"{RECIPES_PREFIX}/banana-bread", headers=token)
response = api_client.post(RECIPES_CREATE, json=raw_recipe) response = api_client.post(RECIPES_CREATE, json=raw_recipe, headers=token)
assert response.status_code == 201 assert response.status_code == 201
assert json.loads(response.text) == "banana-bread" assert json.loads(response.text) == "banana-bread"
def test_create_no_image(api_client): def test_create_no_image(api_client, token):
response = api_client.post(RECIPES_CREATE, json=raw_recipe_no_image) response = api_client.post(RECIPES_CREATE, json=raw_recipe_no_image, headers=token)
assert response.status_code == 201 assert response.status_code == 201
assert json.loads(response.text) == "banana-bread-no-image" 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) @pytest.mark.parametrize("recipe_data", recipe_test_data)
def test_read_update(api_client, recipe_data): def test_read_update(api_client, recipe_data, token):
response = api_client.get(f"{RECIPES_PREFIX}/{recipe_data.expected_slug}") response = api_client.get(f"{RECIPES_PREFIX}/{recipe_data.expected_slug}", headers=token)
assert response.status_code == 200 assert response.status_code == 200
recipe = json.loads(response.content) recipe = json.loads(response.content)
@ -61,7 +61,7 @@ def test_read_update(api_client, recipe_data):
test_categories = ["one", "two", "three"] test_categories = ["one", "two", "three"]
recipe["recipeCategory"] = test_categories 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 response.status_code == 200
assert json.loads(response.text) == recipe_data.expected_slug 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) @pytest.mark.parametrize("recipe_data", recipe_test_data)
def test_rename(api_client, recipe_data): def test_rename(api_client, recipe_data, token):
response = api_client.get(f"{RECIPES_PREFIX}/{recipe_data.expected_slug}") response = api_client.get(f"{RECIPES_PREFIX}/{recipe_data.expected_slug}", headers=token)
assert response.status_code == 200 assert response.status_code == 200
recipe = json.loads(response.content) recipe = json.loads(response.text)
new_name = recipe.get("name") + "-rename" new_name = recipe.get("name") + "-rename"
new_slug = slugify(new_name) new_slug = slugify(new_name)
recipe["name"] = 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 response.status_code == 200
assert json.loads(response.text) == new_slug 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) @pytest.mark.parametrize("recipe_data", recipe_test_data)
def test_delete(api_client, recipe_data): def test_delete(api_client, recipe_data, token):
response = api_client.delete(f"{RECIPES_PREFIX}/{recipe_data.expected_slug}") response = api_client.delete(f"{RECIPES_PREFIX}/{recipe_data.expected_slug}", headers=token)
assert response.status_code == 200 assert response.status_code == 200

View file

@ -1,14 +1,9 @@
import json import json
from mealie.schema.settings import SiteSettings
from mealie.schema.theme import SiteTheme
import pytest import pytest
from tests.utils.routes import ( from mealie.schema.settings import SiteSettings
SETTINGS_PREFIX, from mealie.schema.theme import SiteTheme
SETTINGS_UPDATE, from tests.utils.routes import SETTINGS_PREFIX, SETTINGS_UPDATE, THEMES_CREATE, THEMES_PREFIX
THEMES_CREATE,
THEMES_PREFIX,
)
@pytest.fixture(scope="function") @pytest.fixture(scope="function")
@ -45,11 +40,11 @@ def test_default_settings(api_client, default_settings):
assert json.loads(response.content) == 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["language"] = "fr"
default_settings["showRecent"] = False 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 assert response.status_code == 200
@ -63,12 +58,12 @@ def test_default_theme(api_client, default_theme):
assert json.loads(response.content) == 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 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 response.status_code == 200
assert json.loads(response.content) == new_theme 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 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]: 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 assert response.status_code == 200

View file

@ -6,12 +6,12 @@ class RecipeTestData:
recipe_test_data = [ recipe_test_data = [
RecipeTestData( RecipeTestData(
url="https://www.bonappetit.com/recipe/rustic-shrimp-toasts", url="https://www.bonappetit.com/recipe/spinach-thepla-and-vaghareli-dahi",
expected_slug="rustic-shrimp-toasts", expected_slug="thepla-recipe-with-vaghareli-dahi",
), ),
RecipeTestData( RecipeTestData(
url="https://www.allrecipes.com/recipe/282905/honey-garlic-shrimp/", url="https://www.bonappetit.com/recipe/classic-coleslaw",
expected_slug="honey-garlic-shrimp", expected_slug="traditional-coleslaw-recipe",
), ),
] ]