aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Schadt <kingdread@gmx.de>2026-01-10 16:54:50 +0100
committerDaniel Schadt <kingdread@gmx.de>2026-01-10 16:54:50 +0100
commit3ba5031a74bc0dc7aab16dc8eb349b871c012a1c (patch)
tree317ede09b8adf94ceedf75bbd176be39c83b1a69
parent8ba285d4d1cccafcf4cb6b7c7cb5c92196d7a75e (diff)
downloadfietsboek-3ba5031a74bc0dc7aab16dc8eb349b871c012a1c.tar.gz
fietsboek-3ba5031a74bc0dc7aab16dc8eb349b871c012a1c.tar.bz2
fietsboek-3ba5031a74bc0dc7aab16dc8eb349b871c012a1c.zip
add tests for fietsctl maintenance-mode
-rw-r--r--tests/cli/test_fietsctl.py31
-rw-r--r--tests/conftest.py3
2 files changed, 34 insertions, 0 deletions
diff --git a/tests/cli/test_fietsctl.py b/tests/cli/test_fietsctl.py
index afc77fe..c033b23 100644
--- a/tests/cli/test_fietsctl.py
+++ b/tests/cli/test_fietsctl.py
@@ -208,3 +208,34 @@ def test_track_del(fietsctl, dbengine, data_manager):
with pytest.raises(FileNotFoundError):
data_manager.open(ids.winterfell)
+
+
+def test_maintenance_mode_get(fietsctl, data_manager):
+ res = fietsctl(["maintenance-mode"])
+ assert res.successful()
+ assert res.has_line("Maintenance mode is disabled")
+
+ (data_manager.data_dir / "MAINTENANCE").write_bytes(b"Updating")
+ res = fietsctl(["maintenance-mode"])
+ assert res.successful()
+ assert res.has_line("enabled: Updating")
+
+
+def test_maintenance_mode_set(fietsctl, data_manager):
+ assert data_manager.maintenance_mode() is None
+
+ res = fietsctl(["maintenance-mode", "Discombobulating"])
+ assert res.successful()
+ assert data_manager.maintenance_mode() == "Discombobulating"
+
+ res = fietsctl(["maintenance-mode", "Frobnicating"])
+ assert res.successful()
+ assert data_manager.maintenance_mode() == "Frobnicating"
+
+
+def test_maintenance_mode_disable(fietsctl, data_manager):
+ (data_manager.data_dir / "MAINTENANCE").write_bytes(b"Updating")
+
+ res = fietsctl(["maintenance-mode", "--disable"])
+ assert res.successful()
+ assert data_manager.maintenance_mode() is None
diff --git a/tests/conftest.py b/tests/conftest.py
index add3b3f..c31554d 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -65,6 +65,8 @@ def clean_directory_content(path: Path):
if path.is_dir():
shutil.rmtree(path)
path.mkdir()
+ elif path.is_file():
+ path.unlink()
@pytest.fixture(autouse=True)
@@ -85,6 +87,7 @@ def _cleanup_data(app_settings):
clean_directory_content(data_dir / "tracks")
clean_directory_content(data_dir / "users")
clean_directory_content(data_dir / "journeys")
+ clean_directory_content(data_dir / "MAINTENANCE")
@pytest.fixture(scope='module')
def app(app_settings, dbengine, tmp_path_factory):