Files

51 lines
1.4 KiB
Python
Raw Permalink Normal View History

"""Tests for env module."""
import sys
import os
import json
import tempfile
from pathlib import Path
sys.path.insert(
0, str(Path(__file__).parent.parent / "scripts")
)
from lib.env import load_config, _determine_mode, DEFAULT_CONFIG
def test_default_config():
config = DEFAULT_CONFIG.copy()
assert config["default_location"] == 2840
assert config["default_language"] == "en"
assert config["serp_depth"] == 10
assert config["save_research"] is True
def test_determine_mode_full():
creds = {"has_dataforseo": True, "has_gsc": True, "has_ahrefs": False, "has_semrush": False}
assert _determine_mode(creds) == "full"
def test_determine_mode_dataforseo_only():
creds = {"has_dataforseo": True, "has_gsc": False, "has_ahrefs": False, "has_semrush": False}
assert _determine_mode(creds) == "dataforseo-only"
def test_determine_mode_gsc_only():
creds = {"has_dataforseo": False, "has_gsc": True, "has_ahrefs": False, "has_semrush": False}
assert _determine_mode(creds) == "gsc-only"
def test_determine_mode_fallback():
creds = {"has_dataforseo": False, "has_gsc": False, "has_ahrefs": False, "has_semrush": False}
assert _determine_mode(creds) == "fallback"
if __name__ == "__main__":
test_default_config()
test_determine_mode_full()
test_determine_mode_dataforseo_only()
test_determine_mode_gsc_only()
test_determine_mode_fallback()
print("All tests passed.")