forked from luopingyi/xc_agent_platform_demo
Phase2 dry-run: pending A, probe, build-config client, gated task/add
Still default dry-run; ALLOW_LIVE_SUBMIT=0. Live gates closed.
This commit is contained in:
@@ -19,6 +19,27 @@ class FakeClient:
|
||||
|
||||
|
||||
class TestGate(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.counter = mock.patch('src.gate._submit_count', 0)
|
||||
self.counter.start()
|
||||
self.addCleanup(self.counter.stop)
|
||||
self.env = mock.patch.dict(os.environ, {}, clear=True)
|
||||
self.env.start()
|
||||
self.addCleanup(self.env.stop)
|
||||
|
||||
def test_queue_and_process_limit(self):
|
||||
client = FakeClient()
|
||||
with mock.patch.dict(os.environ, {
|
||||
'STRATEGY_ID': 'sid', 'ALLOW_LIVE_SUBMIT': '1',
|
||||
'LIVE_CONFIRM': LIVE_CONFIRM_VALUE, 'ASYNC_QUEUE_DEPTH': '95'
|
||||
}):
|
||||
self.assertIn('≥95', attempt_live_submit({}, client)['reason'])
|
||||
self.assertEqual(client.calls, [])
|
||||
os.environ['ASYNC_QUEUE_DEPTH'] = '94'
|
||||
self.assertTrue(attempt_live_submit({}, client)['submitted'])
|
||||
self.assertFalse(attempt_live_submit({}, client)['submitted'])
|
||||
self.assertEqual(len(client.calls), 1)
|
||||
|
||||
def _clear_gate_env(self):
|
||||
return mock.patch.dict(
|
||||
os.environ,
|
||||
@@ -78,7 +99,7 @@ class TestGate(unittest.TestCase):
|
||||
self.assertEqual(d.mode, "live")
|
||||
|
||||
def test_open_gate_without_client_still_blocked(self) -> None:
|
||||
"""Phase1: no real HTTP client even when gate is open."""
|
||||
"""Phase2: an open gate never constructs a network client."""
|
||||
with mock.patch.dict(
|
||||
os.environ,
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user