Publish curated Unraid-AppOps-Gateway source from c61e0e1e292914893b40354f904f23dd9fd4a958
This commit is contained in:
1 parent
b47ce43436
commit
9b94d8d0f5
18 files changed
+1651
-75
No files matched your search
@@ -2441,6 +2441,34 @@ def test_storage_command_diagnostics_never_retain_private_paths(stderr, conditio
|
||||
assert 'fixture-secret' not in diagnostic
|
||||
|
||||
|
||||
@pytest.mark.parametrize('condition', [
|
||||
'image_metadata_failed', 'inspect_failed', 'identity_invalid', 'reinspect_failed',
|
||||
'identity_changed', 'remove_failed', 'remove_storage_full', 'remove_read_only',
|
||||
'remove_permission_denied', 'remove_daemon_unavailable', 'remove_busy',
|
||||
'remove_container_missing', 'remove_api_version_unsupported', 'absence_failed', 'unverified',
|
||||
])
|
||||
def test_probe_child_diagnostics_survive_promotion_without_raw_output(monkeypatch, condition):
|
||||
stderr = ('resource_cgroup_probe_cleanup_' + condition + '\n').encode()
|
||||
monkeypatch.setattr(module.subprocess, 'run', lambda *a, **kw: types.SimpleNamespace(
|
||||
returncode=1, stderr=stderr, stdout=b'Bearer fixture-secret'))
|
||||
with pytest.raises(module.VolumeTransitionError) as error:
|
||||
module._run(['python3', 'qualified-validator'], diagnostic_action='probe_cleanup', max_output=4096)
|
||||
assert module._safe_command_diagnostic(error.value.command_failure) == (
|
||||
'probe_cleanup_exit_1_probe_' + condition)
|
||||
assert 'fixture-secret' not in str(error.value)
|
||||
|
||||
|
||||
@pytest.mark.parametrize('stderr', [
|
||||
b'resource_cgroup_probe_cleanup_remove_failed Bearer fixture-secret',
|
||||
b'resource_cgroup_probe_cleanup_remove_failed\nBearer fixture-secret',
|
||||
b'resource_cgroup_probe_cleanup_fixture-secret', b'permission denied fixture-secret',
|
||||
b'resource_cgroup_probe_cleanup_\xff',
|
||||
b'resource_cgroup_probe_cleanup_remove_failed' + b'x' * 4096,
|
||||
])
|
||||
def test_probe_child_rejects_untrusted_or_multiline_diagnostics(stderr):
|
||||
assert module._command_stderr_condition(stderr, 'probe_cleanup', max_bytes=4096) is None
|
||||
|
||||
|
||||
@pytest.mark.parametrize('read_only,free_bytes', [(True, 1024**3), (False, 0)])
|
||||
def test_stop_rejects_failed_storage_before_recording_intent_or_stopping(monkeypatch, read_only, free_bytes):
|
||||
receipt = {'phase': 'prepared'}
|
||||
@@ -2628,6 +2656,7 @@ def test_installer_release_order_matches_renderer_contract():
|
||||
assert module.LEGACY_RELEASE_FILES_WITH_CONFIG_ROOT == HISTORICAL_CONFIG_ROOT_RELEASE_FILES
|
||||
assert module._KNOWN_RELEASE_FILE_SETS == (
|
||||
module.RELEASE_FILES,
|
||||
module.LEGACY_RELEASE_FILES_PRE_QUIESCENCE,
|
||||
module.LEGACY_RELEASE_FILES_PRE_COMPONENT,
|
||||
module.LEGACY_RELEASE_FILES_WITH_ROLE_HELPER,
|
||||
module.LEGACY_RELEASE_FILES_WITHOUT_ROLE_HELPER,
|
||||
@@ -2656,7 +2685,7 @@ def test_installer_release_order_matches_renderer_contract():
|
||||
)
|
||||
assert module.LEGACY_RELEASE_FILES_WITH_ROLE_HELPER == tuple(
|
||||
name for name in module.RELEASE_FILES
|
||||
if name not in {"forge_backup_paths.py", "forge_secret_bundle.py", "immutable_service_promotion.py", "registered_legacy_adoption.py", "registered_legacy_transport.py", "registered_build_context.py"}
|
||||
if name not in {"forge_backup_paths.py", "forge_secret_bundle.py", "immutable_service_promotion.py", "registered_legacy_adoption.py", "registered_legacy_transport.py", "registered_build_context.py", "runner_acceptance_quiescence.py"}
|
||||
)
|
||||
assert module.LEGACY_RELEASE_FILES_WITHOUT_ROLE_HELPER == tuple(
|
||||
name for name in module.LEGACY_RELEASE_FILES_WITH_ROLE_HELPER
|
||||
@@ -3605,7 +3634,7 @@ def test_promotion_cleanup_uses_incoming_code_but_only_attested_previous_source(
|
||||
assert args[0] == "python3"
|
||||
assert Path(args[1]).name == "runner_resource_envelope.py"
|
||||
assert args[2:] == ["--cleanup-stopped-host-probe", IMAGE_ID, old_source]
|
||||
assert kw == {"max_output": 4096}
|
||||
assert kw == {"max_output": 4096, "diagnostic_action": "probe_cleanup"}
|
||||
events.append("cleanup")
|
||||
return b""
|
||||
monkeypatch.setattr(module, "_run", run)
|
||||
|
||||
Reference in new issue
Block a user