mirror of https://github.com/aliasrobotics/cai.git
22 lines
858 B
Python
22 lines
858 B
Python
"""CAI_CONTINUOUS_OPS_NO_SUDO must never open interactive sudo elevation in workers."""
|
|
|
|
from __future__ import annotations
|
|
|
|
import os
|
|
from unittest.mock import patch
|
|
|
|
from cai.util.user_prompts import ensure_sudo_credentials, prompt_sudo_elevation
|
|
|
|
|
|
def test_prompt_sudo_elevation_returns_none_when_continuous_ops_no_sudo():
|
|
with patch.dict(os.environ, {"CAI_CONTINUOUS_OPS_NO_SUDO": "true"}, clear=False):
|
|
assert prompt_sudo_elevation("ls /root", "/tmp") is None
|
|
|
|
|
|
def test_ensure_sudo_credentials_returns_message_without_prompt_when_continuous_ops_no_sudo():
|
|
with patch.dict(os.environ, {"CAI_CONTINUOUS_OPS_NO_SUDO": "true"}, clear=False):
|
|
out = ensure_sudo_credentials("sudo ls /root", "/tmp", timeout=5, max_attempts=1)
|
|
assert isinstance(out, str)
|
|
assert "CAI_CONTINUOUS_OPS_NO_SUDO" in out
|
|
assert "ls /root" in out
|