mirror of
https://github.com/hay-kot/mealie.git
synced 2025-08-22 14:33:33 -07:00
add token to test routes
This commit is contained in:
parent
bdbc9e323d
commit
4f47e6b1fd
6 changed files with 52 additions and 61 deletions
|
@ -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():
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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",
|
||||
),
|
||||
]
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue