29 lines
1.2 KiB
Python
29 lines
1.2 KiB
Python
import tempfile
|
|
import unittest
|
|
from pathlib import Path
|
|
|
|
from fgai.config import ConfigStore
|
|
|
|
|
|
class ConfigTests(unittest.TestCase):
|
|
def test_public_config_hides_token_and_preserves_blank_update(self):
|
|
with tempfile.TemporaryDirectory() as directory:
|
|
store = ConfigStore(str(Path(directory) / "config.json"))
|
|
store.update({"log_source": "graylog_mcp", "graylog_mcp_token": "secret"})
|
|
public = store.update({"graylog_mcp_token": ""})
|
|
self.assertEqual(public["log_source"], "graylog_mcp")
|
|
self.assertTrue(public["graylog_mcp_token_configured"])
|
|
self.assertNotIn("graylog_mcp_token", public)
|
|
|
|
def test_graylog_range_seconds_is_numeric_and_bounded(self):
|
|
with tempfile.TemporaryDirectory() as directory:
|
|
store = ConfigStore(str(Path(directory) / "config.json"))
|
|
public = store.update({"graylog_range_seconds": "30"})
|
|
self.assertEqual(public["graylog_range_seconds"], 60)
|
|
public = store.update({"graylog_range_seconds": "7200"})
|
|
self.assertEqual(public["graylog_range_seconds"], 7200)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|