mirror of
https://github.com/mealie-recipes/mealie.git
synced 2025-10-28 00:34:47 -04:00
* fix links * actually fix #238 * Feature/mkdocs version bump (#240) * fix links (#239) Co-authored-by: hay-kot <hay-kot@pm.me> * fix #238 * bump mkdocs version * light/dark toggle * light/dark mode css * API_DOCS defaults to True * disable build on push for master Co-authored-by: hay-kot <hay-kot@pm.me> * Feature/recipe viewer (#244) * fix dialog placement * markdown support in ingredients * fix line render issue * fix tag rendering bug * change ingredients to text area * no slug error * add tag pages * remove console.logs Co-authored-by: hay-kot <hay-kot@pm.me> * changelog v0.4.1 * bug/backup-download (#245) * fix blocked download * + download blocked Co-authored-by: hay-kot <hay-kot@pm.me> * Feature/meal planner (#246) * fixes duplicate recipes in meal-plan #221 * add quick week option * scope css * add mealplanner info Co-authored-by: hay-kot <hay-kot@pm.me> * Nextcloud Import Bugs - #248 (#250) * parses datetime properly + clean category - #248 * add default credentials to docs Co-authored-by: hay-kot <hay-kot@pm.me> * Add bulk import examples to docs. (#252) * Add bulk import examples to docs. * Update api-usage.md * Add Python example for bulk import. * Change IP address in API example. * Refactor/app settings (#251) * fix env setup bugs * remove unused import * fix layout issues * changelog Co-authored-by: hay-kot <hay-kot@pm.me> * env setup fixes * Feature/about api (#253) * fix settings * app info cleanup Co-authored-by: hay-kot <hay-kot@pm.me> * Feature/image minify (#256) * fix settings * app info cleanup * bottom-bar experiment * remove dup key * type hints * add dependency * updated image with query parameters * read image options * add image minification * add image minification step * alt image routes * add image minification * set mobile bar to top Co-authored-by: hay-kot <hay-kot@pm.me> * Feature/additional endpoints (#257) * new recipe summary route * add categories to cards * add pillow * show tags instead of categories * additional debug info * add todays meal image url * about page * fix reactive tag * changelog + docs * bump version Co-authored-by: hay-kot <hay-kot@pm.me> * add pillow dependencies (#258) Co-authored-by: hay-kot <hay-kot@pm.me> * Feature/search page (#259) * add pillow dependencies * advanced search page * advanced search apge * remove extra dependencies * add pre-run script Co-authored-by: hay-kot <hay-kot@pm.me> * no image assignment * advanced search * fix docker dev build * Do not force theme settings on login form (#260) * Fix docker dev db persistence (#264) * Fix docker dev db persistence * Make run.sh the only startup script for prod + dev Credits to @hay-kot for run.sh script logic * Restore dev backend initialization in non-docker setup * Make run.sh POSIX-friendly * Allow dev backend to auto-reload in Docker * Frontend Refactor + Bug Fixes * merge category and tag selector * unifiy category selector * add hint * spacing * fix nextcloud migration * simplify email validator #261 * formatting * cleanup * auto-gen * format * update run script * unified category/tag selector * rename component * Add advanced search link * remove old code * convert keywords to tags * add proper behavior on rename * proper image name association on rename * fix test cleanup * changelog * set docker comppand * minify on migration Co-authored-by: hay-kot <hay-kot@pm.me> * bug-fixes/category-tag-creator (#266) * fix category labels * set loader for migration * v0.4.1 Co-authored-by: hay-kot <hay-kot@pm.me> Co-authored-by: hay-kot <hay-kot@pm.me> Co-authored-by: Nat <nathanynath@yahoo.fr> Co-authored-by: sephrat <34862846+sephrat@users.noreply.github.com>
67 lines
2.2 KiB
Python
67 lines
2.2 KiB
Python
from pathlib import Path
|
|
|
|
import pytest
|
|
from mealie.core.config import CWD, DATA_DIR, AppDirectories, AppSettings, determine_data_dir, determine_secrets
|
|
|
|
|
|
def test_default_settings(monkeypatch):
|
|
monkeypatch.delenv("DEFAULT_GROUP", raising=False)
|
|
monkeypatch.delenv("DEFAULT_PASSWORD", raising=False)
|
|
monkeypatch.delenv("API_PORT", raising=False)
|
|
monkeypatch.delenv("API_DOCS", raising=False)
|
|
monkeypatch.delenv("DB_TYPE", raising=False)
|
|
monkeypatch.delenv("IS_DEMO", raising=False)
|
|
|
|
app_settings = AppSettings()
|
|
|
|
assert app_settings.DEFAULT_GROUP == "Home"
|
|
assert app_settings.DEFAULT_PASSWORD == "MyPassword"
|
|
assert app_settings.DATABASE_TYPE == "sqlite"
|
|
assert app_settings.API_PORT == 9000
|
|
assert app_settings.API_DOCS is True
|
|
assert app_settings.IS_DEMO is False
|
|
|
|
assert app_settings.REDOC_URL == "/redoc"
|
|
assert app_settings.DOCS_URL == "/docs"
|
|
|
|
|
|
def test_non_default_settings(monkeypatch):
|
|
monkeypatch.setenv("DEFAULT_GROUP", "Test Group")
|
|
monkeypatch.setenv("DEFAULT_PASSWORD", "Test Password")
|
|
monkeypatch.setenv("API_PORT", "8000")
|
|
monkeypatch.setenv("API_DOCS", 'False')
|
|
|
|
app_settings = AppSettings()
|
|
|
|
assert app_settings.DEFAULT_GROUP == "Test Group"
|
|
assert app_settings.DEFAULT_PASSWORD == "Test Password"
|
|
assert app_settings.API_PORT == 8000
|
|
assert app_settings.API_DOCS is False
|
|
|
|
assert app_settings.REDOC_URL is None
|
|
assert app_settings.DOCS_URL is None
|
|
|
|
|
|
def test_unknown_database(monkeypatch):
|
|
monkeypatch.setenv("DB_TYPE", "nonsense")
|
|
|
|
with pytest.raises(ValueError, match="Unable to determine database type. Acceptible options are 'sqlite'"):
|
|
AppSettings()
|
|
|
|
|
|
def test_secret_generation(tmp_path):
|
|
app_dirs = AppDirectories(CWD, DATA_DIR)
|
|
assert determine_secrets(app_dirs.DATA_DIR, False) == "shh-secret-test-key"
|
|
assert determine_secrets(app_dirs.DATA_DIR, True) != "shh-secret-test-key"
|
|
|
|
assert determine_secrets(tmp_path, True) != "shh-secret-test-key"
|
|
|
|
|
|
def test_set_data_dir():
|
|
global CWD
|
|
PROD_DIR = Path("/app/data")
|
|
DEV_DIR = CWD.parent.parent.joinpath("dev", "data")
|
|
|
|
assert determine_data_dir(True) == PROD_DIR
|
|
assert determine_data_dir(False) == DEV_DIR
|