mindXtrain / wordpress_agent /tests /test_config.py
Gregory-L's picture
fork mindXtrain from GitHub (Professor-Codephreak/mindXtrain@661bd41) as the mindX-specific line
dfb775d verified
Raw
History Blame Contribute Delete
1.46 kB
# SPDX-License-Identifier: Apache-2.0
# (c) 2026 BANKON — all rights reserved.
"""Tests for environment-driven configuration."""
from __future__ import annotations
import pytest
from wordpress_agent.config import Settings
def test_settings_load_from_env(monkeypatch: pytest.MonkeyPatch) -> None:
monkeypatch.setenv("WP_BASE_URL", "https://rage.pythai.net")
monkeypatch.setenv("WP_USER", "codephreak")
monkeypatch.setenv("WP_APP_PASSWORD", "abcd-efgh-ijkl-mnop-qrst-uvwx")
s = Settings() # type: ignore[call-arg]
assert s.base_url_str == "https://rage.pythai.net"
assert s.user == "codephreak"
assert s.app_password_value == "abcd-efgh-ijkl-mnop-qrst-uvwx"
assert s.retry_count == 3
assert s.timeout == 30.0
def test_settings_strip_trailing_slash(monkeypatch: pytest.MonkeyPatch) -> None:
monkeypatch.setenv("WP_BASE_URL", "https://rage.pythai.net/")
monkeypatch.setenv("WP_USER", "codephreak")
monkeypatch.setenv("WP_APP_PASSWORD", "abcd-efgh-ijkl-mnop-qrst-uvwx")
s = Settings() # type: ignore[call-arg]
assert s.base_url_str == "https://rage.pythai.net"
def test_settings_secret_not_repr_leaked(monkeypatch: pytest.MonkeyPatch) -> None:
monkeypatch.setenv("WP_BASE_URL", "https://rage.pythai.net")
monkeypatch.setenv("WP_USER", "codephreak")
monkeypatch.setenv("WP_APP_PASSWORD", "leak-me-not")
s = Settings() # type: ignore[call-arg]
assert "leak-me-not" not in repr(s)