mirror of
https://github.com/Skyvern-AI/skyvern.git
synced 2026-04-28 03:30:10 +00:00
46 lines
1.9 KiB
Python
46 lines
1.9 KiB
Python
from __future__ import annotations
|
|
|
|
import logging
|
|
from types import SimpleNamespace
|
|
|
|
import skyvern._cli_bootstrap as cli_bootstrap
|
|
|
|
|
|
def test_bootstrap_defaults_to_warning_without_explicit_log_level(monkeypatch) -> None:
|
|
setup_calls: list[str] = []
|
|
fake_settings = SimpleNamespace(LOG_LEVEL="INFO", model_fields_set=set())
|
|
|
|
monkeypatch.setattr("skyvern.config.settings", fake_settings)
|
|
monkeypatch.setattr("skyvern.forge.sdk.forge_log.setup_logger", lambda: setup_calls.append("called"))
|
|
|
|
logger_names = ("", "skyvern", "httpx", "litellm", "playwright", "httpcore")
|
|
previous_levels = {name: logging.getLogger(name).level for name in logger_names}
|
|
try:
|
|
cli_bootstrap.configure_cli_bootstrap_logging()
|
|
assert setup_calls == ["called"]
|
|
assert fake_settings.LOG_LEVEL == "WARNING"
|
|
for name in logger_names:
|
|
assert logging.getLogger(name).level == logging.WARNING
|
|
finally:
|
|
for name, level in previous_levels.items():
|
|
logging.getLogger(name).setLevel(level)
|
|
|
|
|
|
def test_bootstrap_honors_explicit_log_level(monkeypatch) -> None:
|
|
setup_calls: list[str] = []
|
|
fake_settings = SimpleNamespace(LOG_LEVEL="DEBUG", model_fields_set={"LOG_LEVEL"})
|
|
|
|
monkeypatch.setattr("skyvern.config.settings", fake_settings)
|
|
monkeypatch.setattr("skyvern.forge.sdk.forge_log.setup_logger", lambda: setup_calls.append("called"))
|
|
|
|
logger_names = ("", "skyvern", "httpx", "litellm", "playwright", "httpcore")
|
|
previous_levels = {name: logging.getLogger(name).level for name in logger_names}
|
|
try:
|
|
cli_bootstrap.configure_cli_bootstrap_logging()
|
|
assert setup_calls == ["called"]
|
|
assert fake_settings.LOG_LEVEL == "DEBUG"
|
|
for name in logger_names:
|
|
assert logging.getLogger(name).level == logging.DEBUG
|
|
finally:
|
|
for name, level in previous_levels.items():
|
|
logging.getLogger(name).setLevel(level)
|