def test_unset_config_value_from_python(): ScoutConfig.set(revision_sha="foobar") ScoutConfig.unset("revision_sha") assert ScoutConfig().value("revision_sha") == "" # from defaults
def test_list_conversion_from_env(): config = ScoutConfig() with mock.patch.dict(os.environ, {"SCOUT_DISABLED_INSTRUMENTS": "pymongo, redis"}): assert config.value("disabled_instruments") == ["pymongo", "redis"]
def test_revision_sha(environ, expected): with mock.patch.dict(os.environ, clear=True, **environ): assert ScoutConfig().value("revision_sha") == expected
def test_boolean_conversion_from_env(): config = ScoutConfig() with mock.patch.dict(os.environ, {"SCOUT_MONITOR": "True"}): assert config.value("monitor") is True
def test_float_conversion_from_env(): config = ScoutConfig() with mock.patch.dict(os.environ, {"SCOUT_SHUTDOWN_TIMEOUT_SECONDS": "0"}): value = config.value("shutdown_timeout_seconds") assert isinstance(value, float) assert value == 0.0
def test_core_agent_permissions_custom_str(): scout_config.set(core_agent_permissions="770") try: assert scout_config.core_agent_permissions() == 0o770 finally: ScoutConfig.reset_all()
def test_core_agent_permissions_invalid_uses_default(): scout_config.set(core_agent_permissions="THIS IS INVALID") try: assert scout_config.core_agent_permissions() == 0o700 finally: ScoutConfig.reset_all()
def test_core_agent_permissions_default(): config = ScoutConfig() assert 0o700 == config.core_agent_permissions()
def test_get_undefined_config_value(): config = ScoutConfig() assert config.value("unknown value") is None
def test_get_default_config_value(): config = ScoutConfig() assert config.value("core_agent_dir") == "/tmp/scout_apm_core"
def __init__(self, *args, **kwargs): self.config = kwargs.get("config", ScoutConfig()) self.config.log()
def socket(cls): return CoreAgentSocket.instance(scout_config=ScoutConfig())