Coderabbit fixes:

- Mac
- Flask debug
- Threaded flask
- propagate token in GET requests
- enhance spec docs
- normalize MAC x2
- mcp disablement redundant private attribute
- run all tests imports
This commit is contained in:
Adam Outler
2026-01-19 00:03:27 +00:00
parent ecea1d1fbd
commit bb0c0e1c74
13 changed files with 326 additions and 55 deletions

View File

@@ -0,0 +1,112 @@
from types import SimpleNamespace
from server.api_server import api_server_start as api_mod
def _make_fake_thread(recorder):
class FakeThread:
def __init__(self, target=None):
self._target = target
def start(self):
# call target synchronously for test
if self._target:
self._target()
return FakeThread
def test_start_server_passes_debug_true(monkeypatch):
# Arrange
# Use the settings helper to provide the value
monkeypatch.setattr(api_mod, 'get_setting_value', lambda k: True if k == 'FLASK_DEBUG' else None)
called = {}
def fake_run(*args, **kwargs):
called['args'] = args
called['kwargs'] = kwargs
monkeypatch.setattr(api_mod, 'app', api_mod.app)
monkeypatch.setattr(api_mod.app, 'run', fake_run)
# Replace threading.Thread with a fake that executes target immediately
FakeThread = _make_fake_thread(called)
monkeypatch.setattr(api_mod.threading, 'Thread', FakeThread)
# Prevent updateState side effects
monkeypatch.setattr(api_mod, 'updateState', lambda *a, **k: None)
app_state = SimpleNamespace(graphQLServerStarted=0)
# Act
api_mod.start_server(12345, app_state)
# Assert
assert 'kwargs' in called
assert called['kwargs']['debug'] is True
assert called['kwargs']['host'] == '0.0.0.0'
assert called['kwargs']['port'] == 12345
def test_start_server_passes_debug_false(monkeypatch):
# Arrange
monkeypatch.setattr(api_mod, 'get_setting_value', lambda k: False if k == 'FLASK_DEBUG' else None)
called = {}
def fake_run(*args, **kwargs):
called['args'] = args
called['kwargs'] = kwargs
monkeypatch.setattr(api_mod, 'app', api_mod.app)
monkeypatch.setattr(api_mod.app, 'run', fake_run)
FakeThread = _make_fake_thread(called)
monkeypatch.setattr(api_mod.threading, 'Thread', FakeThread)
monkeypatch.setattr(api_mod, 'updateState', lambda *a, **k: None)
app_state = SimpleNamespace(graphQLServerStarted=0)
# Act
api_mod.start_server(22222, app_state)
# Assert
assert 'kwargs' in called
assert called['kwargs']['debug'] is False
assert called['kwargs']['host'] == '0.0.0.0'
assert called['kwargs']['port'] == 22222
def test_env_var_overrides_setting(monkeypatch):
# Arrange
# Ensure env override is present
monkeypatch.setenv('FLASK_DEBUG', '1')
# And the stored setting is False to ensure env takes precedence
monkeypatch.setattr(api_mod, 'get_setting_value', lambda k: False if k == 'FLASK_DEBUG' else None)
called = {}
def fake_run(*args, **kwargs):
called['args'] = args
called['kwargs'] = kwargs
monkeypatch.setattr(api_mod, 'app', api_mod.app)
monkeypatch.setattr(api_mod.app, 'run', fake_run)
FakeThread = _make_fake_thread(called)
monkeypatch.setattr(api_mod.threading, 'Thread', FakeThread)
monkeypatch.setattr(api_mod, 'updateState', lambda *a, **k: None)
app_state = SimpleNamespace(graphQLServerStarted=0)
# Act
api_mod.start_server(33333, app_state)
# Assert
assert 'kwargs' in called
assert called['kwargs']['debug'] is True
assert called['kwargs']['host'] == '0.0.0.0'
assert called['kwargs']['port'] == 33333