test(#829): require choke-point-owned dangerous mode
This commit is contained in:
@@ -100,6 +100,31 @@ class LaunchRuntimeTest(unittest.TestCase):
|
|||||||
self.assertEqual(environment["MOSAIC_LEASE_RUNTIME"], "claude")
|
self.assertEqual(environment["MOSAIC_LEASE_RUNTIME"], "claude")
|
||||||
self.assertEqual(environment["PRESERVED"], "yes")
|
self.assertEqual(environment["PRESERVED"], "yes")
|
||||||
|
|
||||||
|
def test_dangerous_claude_mode_is_owned_and_injected_by_the_wrapper(self) -> None:
|
||||||
|
executed: list[tuple[str, list[str], dict[str, str]]] = []
|
||||||
|
result = LAUNCHER.main(
|
||||||
|
["--runtime", "claude", "--dangerous", "--", "claude", "-p", "hello"],
|
||||||
|
environ={"MOSAIC_LEASE_BROKER_SOCKET": "/broker"},
|
||||||
|
request=lambda *_args: {"ok": True, "session_id": "e" * 64},
|
||||||
|
execute=lambda *args: executed.append(args),
|
||||||
|
)
|
||||||
|
self.assertEqual(result, 0)
|
||||||
|
self.assertEqual(
|
||||||
|
executed[0][1],
|
||||||
|
["claude", "--dangerously-skip-permissions", "-p", "hello"],
|
||||||
|
)
|
||||||
|
|
||||||
|
with redirect_stderr(io.StringIO()):
|
||||||
|
self.assertEqual(
|
||||||
|
LAUNCHER.main(
|
||||||
|
["--runtime", "pi", "--dangerous", "--", "pi"],
|
||||||
|
environ={"MOSAIC_LEASE_BROKER_SOCKET": "/broker"},
|
||||||
|
request=lambda *_args: {"ok": True, "session_id": "e" * 64},
|
||||||
|
execute=lambda *_args: self.fail("invalid dangerous runtime executed"),
|
||||||
|
),
|
||||||
|
64,
|
||||||
|
)
|
||||||
|
|
||||||
def test_command_without_separator_is_forwarded_unchanged(self) -> None:
|
def test_command_without_separator_is_forwarded_unchanged(self) -> None:
|
||||||
executed: list[tuple[str, list[str], dict[str, str]]] = []
|
executed: list[tuple[str, list[str], dict[str, str]]] = []
|
||||||
result = LAUNCHER.main(
|
result = LAUNCHER.main(
|
||||||
|
|||||||
Reference in New Issue
Block a user