@@ -173,7 +173,7 @@ def _build_app():
173173 from agentrun .server .sts_middleware import StsRefreshMiddleware
174174
175175 app = FastAPI ()
176- # 测试环境无 FC_REGION,需显式启用(非 FC 默认关闭以防头注入) 。
176+ # 显式启用,避免受 dev 环境 AGENTRUN_STS_REFRESH_ENABLED 影响 。
177177 app .add_middleware (StsRefreshMiddleware , enabled = True )
178178
179179 @app .get ("/async" )
@@ -334,49 +334,68 @@ def test_middleware_partial_headers_ignored(monkeypatch):
334334 assert resp == {"ak" : "ENV_AK" , "sts" : "" }
335335
336336
337- def test_middleware_disabled_off_fc (monkeypatch ):
338- """H2:非 FC(无 FC_REGION、未显式 enable)时不应应用 overlay 。"""
337+ def test_middleware_enabled_by_default (monkeypatch ):
338+ """默认启用(不看 FC 环境,无需任何开关) 。"""
339339 from fastapi import FastAPI
340340 from fastapi .testclient import TestClient
341341
342342 from agentrun .server .sts_middleware import StsRefreshMiddleware
343343
344344 monkeypatch .delenv ("FC_REGION" , raising = False )
345345 monkeypatch .delenv ("AGENTRUN_STS_REFRESH_ENABLED" , raising = False )
346+
347+ app = FastAPI ()
348+ app .add_middleware (StsRefreshMiddleware ) # enabled=None → 默认启用
349+
350+ @app .get ("/x" )
351+ async def _x ():
352+ return {"ak" : Config ().get_access_key_id ()}
353+
354+ client = TestClient (app )
355+ # 默认开:携带完整 x-fc-* 头即生效。
356+ assert client .get ("/x" , headers = _HEADERS ).json () == {"ak" : "H_AK" }
357+
358+
359+ def test_middleware_disabled_via_env (monkeypatch ):
360+ """仅在 AGENTRUN_STS_REFRESH_ENABLED 设为假值时关闭。"""
361+ from fastapi import FastAPI
362+ from fastapi .testclient import TestClient
363+
364+ from agentrun .server .sts_middleware import StsRefreshMiddleware
365+
366+ monkeypatch .setenv ("AGENTRUN_STS_REFRESH_ENABLED" , "false" )
346367 monkeypatch .setenv ("AGENTRUN_ACCESS_KEY_ID" , "ENV_AK" )
347368
348369 app = FastAPI ()
349- app .add_middleware (StsRefreshMiddleware ) # enabled=None → auto-detect
370+ app .add_middleware (StsRefreshMiddleware ) # enabled=None → 读环境变量 -> 关闭
350371
351372 @app .get ("/x" )
352373 async def _x ():
353374 return {"ak" : Config ().get_access_key_id ()}
354375
355376 client = TestClient (app )
356- # 即便携带完整 x-fc-* 头,非 FC 环境也不应覆盖 env 凭证(防注入)。
357- resp = client .get ("/x" , headers = _HEADERS ).json ()
358- assert resp == {"ak" : "ENV_AK" }
377+ # 已关闭:即便携带完整 x-fc-* 头也不覆盖 env 凭证。
378+ assert client .get ("/x" , headers = _HEADERS ).json () == {"ak" : "ENV_AK" }
359379
360380
361- def test_middleware_enabled_on_fc (monkeypatch ):
362- """H2:检测到 FC_REGION 时自动启用 。"""
381+ def test_middleware_disabled_via_constructor (monkeypatch ):
382+ """构造参数 enabled=False 显式关闭 。"""
363383 from fastapi import FastAPI
364384 from fastapi .testclient import TestClient
365385
366386 from agentrun .server .sts_middleware import StsRefreshMiddleware
367387
368- monkeypatch .setenv ("FC_REGION" , "cn-hangzhou" )
369- monkeypatch .delenv ("AGENTRUN_STS_REFRESH_ENABLED" , raising = False )
388+ monkeypatch .setenv ("AGENTRUN_ACCESS_KEY_ID" , "ENV_AK" )
370389
371390 app = FastAPI ()
372- app .add_middleware (StsRefreshMiddleware ) # enabled=None → auto-detect FC
391+ app .add_middleware (StsRefreshMiddleware , enabled = False )
373392
374393 @app .get ("/x" )
375394 async def _x ():
376395 return {"ak" : Config ().get_access_key_id ()}
377396
378397 client = TestClient (app )
379- assert client .get ("/x" , headers = _HEADERS ).json () == {"ak" : "H_AK " }
398+ assert client .get ("/x" , headers = _HEADERS ).json () == {"ak" : "ENV_AK " }
380399
381400
382401def test_invoker_sync_path_sees_overlay ():
0 commit comments