← Về thư mục
tests/test_artifact_mutation_service.py
- MutationHarness · class · L18-L56 — class MutationHarness
- init · method · L19-L42 — def init(self, tmp_path: Path) -> None
- artifact · method · L44-L56 — def artifact(self, filename: str, data: bytes, content_type: str) -> dict
- raised_operation · function · L59-L64 — def raised_operation(call, code: int, message: str) -> None
- test_edit_versions_live_text_and_preserves_exact_event_shape · function · L67-L114 — def test_edit_versions_live_text_and_preserves_exact_event_shape(tmp_path)
- test_edit_rejects_missing_binary_and_write_failure · function · L117-L150 — def test_edit_rejects_missing_binary_and_write_failure(tmp_path, monkeypatch)
- fail_write · function · L134-L135 — def fail_write(_pinned, _data)
- test_nested_edit_keeps_the_exact_artifact_path · function · L153-L180 — def test_nested_edit_keeps_the_exact_artifact_path(tmp_path)
- test_nested_edit_parent_swap_cannot_redirect_the_daemon · function · L183-L228 — def test_nested_edit_parent_swap_cannot_redirect_the_daemon(tmp_path, monkeypatch)
- swap_parent_then_write · function · L200-L210 — def swap_parent_then_write(pinned, data)
- test_nested_edit_rejects_a_swapped_workspace_root · function · L231-L261 — def test_nested_edit_rejects_a_swapped_workspace_root(tmp_path)
- test_nested_edit_rejects_final_component_aliases · function · L268-L299 — def test_nested_edit_rejects_final_component_aliases(tmp_path, alias_kind, replacement)
- test_nested_edit_publish_failure_restores_every_prior_truth · function · L302-L333 — def test_nested_edit_publish_failure_restores_every_prior_truth(tmp_path, monkeypatch)
- fail_live_publish · function · L312-L315 — def fail_live_publish(directory, source, destination)
- test_nested_edit_fails_closed_without_dirfd_capabilities · function · L336-L348 — def test_nested_edit_fails_closed_without_dirfd_capabilities(tmp_path, monkeypatch)
- test_log_extension_preserves_legacy_text_editability · function · L351-L358 — def test_log_extension_preserves_legacy_text_editability(tmp_path)
- test_rename_changes_metadata_only_and_preserves_exact_event_shape · function · L361-L398 — def test_rename_changes_metadata_only_and_preserves_exact_event_shape(tmp_path)
- test_artifact_mutations_fail_closed_on_workspace_escape_metadata · function · L401-L421 — def test_artifact_mutations_fail_closed_on_workspace_escape_metadata(tmp_path)
- test_upload_versioning_and_event_contracts · function · L424-L505 — def test_upload_versioning_and_event_contracts(tmp_path)
- test_delete_reclaims_versions_and_emits_bare_refresh_event · function · L508-L534 — def test_delete_reclaims_versions_and_emits_bare_refresh_event(tmp_path)
- test_upload_refuses_corrupted_base64_instead_of_decoding_it_to_other_bytes · function · L537-L591 — def test_upload_refuses_corrupted_base64_instead_of_decoding_it_to_other_bytes( tmp_path, )
- test_upload_will_not_guess_which_content_field_is_authoritative · function · L594-L621 — def test_upload_will_not_guess_which_content_field_is_authoritative(tmp_path)