Files
yuanshuai c91a64fddb
CI / Python 3.12 (push) Waiting to run
CI / Python 3.9 (push) Waiting to run
chore(repo): initialize team collaboration repository
2026-07-27 20:40:12 +08:00

40 lines
1.3 KiB
Python

from flashops_control.safety import PreflightRequest, run_preflight
def valid_request(**overrides):
values = {
"expected_serial": "DUT-001",
"discovered_serial": "DUT-001",
"allow_destructive": True,
"device_path": "/dev/nvme1n1",
"system_device_paths": ["/dev/nvme0n1", "/dev/nvme0n1p2"],
"firmware_model_allowed": True,
"host_online": True,
"oob_online": True,
}
values.update(overrides)
return PreflightRequest(**values)
def test_all_safety_gates_pass_for_bound_test_disk():
result = run_preflight(valid_request())
assert result.passed is True
assert len(result.checks) == 6
def test_serial_mismatch_is_rejected():
result = run_preflight(valid_request(discovered_serial="WRONG-DISK"))
assert result.passed is False
assert next(check for check in result.checks if check.key == "serial").passed is False
def test_system_partition_is_rejected():
result = run_preflight(valid_request(device_path="/dev/nvme0n1p2"))
assert result.passed is False
assert next(check for check in result.checks if check.key == "system_disk").passed is False
def test_destructive_opt_in_is_required():
result = run_preflight(valid_request(allow_destructive=False))
assert result.passed is False