Init
This commit is contained in:
35
tests/test_config.py
Normal file
35
tests/test_config.py
Normal file
@@ -0,0 +1,35 @@
|
||||
from pathlib import Path
|
||||
|
||||
from mywhoosh_garmin_sync.config import Settings
|
||||
|
||||
|
||||
def test_settings_from_env(monkeypatch, tmp_path):
|
||||
monkeypatch.setenv("MYWHOOSH_EMAIL", "whoosh@example.com")
|
||||
monkeypatch.setenv("MYWHOOSH_PASSWORD", "whoosh-pass")
|
||||
monkeypatch.setenv("GARMIN_EMAIL", "garmin@example.com")
|
||||
monkeypatch.setenv("GARMIN_PASSWORD", "garmin-pass")
|
||||
monkeypatch.setenv("DATA_DIR", str(tmp_path))
|
||||
monkeypatch.setenv("DRY_RUN", "true")
|
||||
monkeypatch.setenv("POLL_INTERVAL_SECONDS", "123")
|
||||
monkeypatch.setenv("TARGET_GARMIN_SERIAL_NUMBER", "123456")
|
||||
monkeypatch.setenv("MYWHOOSH_MANUAL_LOGIN_WAIT_SECONDS", "900")
|
||||
|
||||
settings = Settings.from_env()
|
||||
|
||||
assert settings.data_dir == tmp_path
|
||||
assert settings.raw_dir == tmp_path / "raw"
|
||||
assert settings.dry_run is True
|
||||
assert settings.poll_interval_seconds == 123
|
||||
assert settings.dashboard_enabled is True
|
||||
assert settings.dashboard_bind == "0.0.0.0"
|
||||
assert settings.dashboard_port == 8080
|
||||
assert settings.target_garmin_product_id == 3578
|
||||
assert settings.target_garmin_serial_number == 123456
|
||||
assert settings.mywhoosh_manual_login_wait_seconds == 900
|
||||
assert settings.mywhoosh_activities_button_text == "ACTIVITIES"
|
||||
assert settings.mywhoosh_download_button_selector == ".btnDownload"
|
||||
assert settings.mywhoosh_auth_state_path == tmp_path / "mywhoosh_auth_state.json"
|
||||
|
||||
settings.ensure_directories()
|
||||
assert Path(settings.raw_dir).is_dir()
|
||||
assert Path(settings.mywhoosh_debug_dir).is_dir()
|
||||
Reference in New Issue
Block a user