← Về thư mục
tests/test_upload_scope_resolution.py
- _Hub · class · L37-L52 — class _Hub
- emitter · method · L38-L42 — def emitter(self, root_frame_id)
- emit · function · L39-L40 — def emit(event)
- broadcast · method · L44-L45 — def broadcast(self, root_frame_id, event)
- has_subscriber · method · L47-L49 — def has_subscriber(self, root_frame_id)
- drop_frame · method · L51-L52 — def drop_frame(self, root_frame_id)
- runner · function · L56-L63 — def runner(tmp_path)
- _payload · function · L66-L74 — def _payload(frame_id: str | None, body: bytes, **extra) -> dict
- _reopen_artifacts · function · L77-L87 — def _reopen_artifacts(runner)
- _nested_text_artifact · function · L90-L106 — def _nested_text_artifact(runner, frame_id: str, data: bytes = b"old bytes\n")
- test_an_upload_into_a_real_project_does_not_assert_default · function · L109-L121 — def test_an_upload_into_a_real_project_does_not_assert_default(runner)
- test_an_upload_with_no_frame_still_lands_in_default · function · L124-L129 — def test_an_upload_with_no_frame_still_lands_in_default(runner)
- test_a_frameless_upload_accepts_an_equivalent_data_dir_spelling · function · L132-L160 — def test_a_frameless_upload_accepts_an_equivalent_data_dir_spelling(tmp_path)
- test_a_second_frameless_upload_versions_the_same_exact_scope · function · L163-L172 — def test_a_second_frameless_upload_versions_the_same_exact_scope(runner)
- test_a_frameless_unchanged_edit_keeps_the_upload_live_path · function · L175-L189 — def test_a_frameless_unchanged_edit_keeps_the_upload_live_path(runner)
- test_a_frameless_changed_edit_versions_in_the_upload_namespace · function · L192-L209 — def test_a_frameless_changed_edit_versions_in_the_upload_namespace(runner)
- test_a_frameless_restore_stays_in_the_upload_namespace · function · L212-L228 — def test_a_frameless_restore_stays_in_the_upload_namespace(runner)
- test_exact_artifact_writers_serialize_edit_and_restore · function · L232-L299 — def test_exact_artifact_writers_serialize_edit_and_restore( runner, monkeypatch, follower )
- gate_stage · function · L249-L256 — def gate_stage(filename, data)
- first_restore · function · L260-L265 — def first_restore()
- follow · function · L267-L277 — def follow()
- test_frameless_restore_journal_recovery_keeps_the_committed_inode · function · L302-L332 — def test_frameless_restore_journal_recovery_keeps_the_committed_inode( runner, monkeypatch )
- leave_journal · function · L312-L315 — def leave_journal(self, args, *kwargs)
- test_restore_recovery_rolls_back_a_same_byte_published_inode_swap · function · L335-L373 — def test_restore_recovery_rolls_back_a_same_byte_published_inode_swap( runner, monkeypatch )
- leave_journal · function · L351-L354 — def leave_journal(self, args, *kwargs)
- test_a_frameless_edit_refuses_a_replaced_upload_directory · function · L376-L395 — def test_a_frameless_edit_refuses_a_replaced_upload_directory(runner, tmp_path)
- test_unchanged_exact_edit_rejects_a_same_byte_final_name_swap · function · L398-L432 — def test_unchanged_exact_edit_rejects_a_same_byte_final_name_swap(runner, monkeypatch)
- swap_after_first_read · function · L409-L417 — def swap_after_first_read(pinned, args, *kwargs)
- test_changed_exact_edit_rolls_back_a_same_byte_pre_publish_name_swap · function · L435-L473 — def test_changed_exact_edit_rolls_back_a_same_byte_pre_publish_name_swap( runner, monkeypatch )
- swap_before_backup · function · L449-L455 — def swap_before_backup(directory, source, destination)
- test_prior_head_freeze_stays_bound_when_the_final_name_is_swapped · function · L476-L518 — def test_prior_head_freeze_stays_bound_when_the_final_name_is_swapped( runner, monkeypatch )
- freeze_then_swap · function · L496-L500 — def freeze_then_swap(args, *kwargs)
- test_prior_head_snapshot_failure_refuses_before_publish_and_restart · function · L521-L562 — def test_prior_head_snapshot_failure_refuses_before_publish_and_restart( runner, monkeypatch )
- test_restore_rolls_back_a_same_byte_post_publish_name_swap · function · L565-L605 — def test_restore_rolls_back_a_same_byte_post_publish_name_swap(runner, monkeypatch)
- swap_after_publish · function · L583-L592 — def swap_after_publish(**fields)
- wrapped_publish · function · L586-L590 — def wrapped_publish(version_id, published_artifact_id)
- test_a_project_that_really_disagrees_is_still_refused · function · L608-L629 — def test_a_project_that_really_disagrees_is_still_refused(runner)
- test_the_route_answers_a_scope_conflict_as_a_conflict_not_a_500 · function · L632-L666 — def test_the_route_answers_a_scope_conflict_as_a_conflict_not_a_500(runner)
- test_a_five_thousand_row_upload_is_stored_whole · function · L669-L691 — def test_a_five_thousand_row_upload_is_stored_whole(runner, tmp_path)
- test_a_snapshot_that_cannot_be_written_leaves_no_version_behind · function · L697-L729 — def test_a_snapshot_that_cannot_be_written_leaves_no_version_behind( runner, monkeypatch )
- refuse · function · L717-L718 — def refuse(_filename, _data)
- test_every_committed_version_has_its_frozen_bytes · function · L732-L755 — def test_every_committed_version_has_its_frozen_bytes(runner)
- test_a_failed_upload_does_not_leave_a_pending_snapshot_behind · function · L758-L779 — def test_a_failed_upload_does_not_leave_a_pending_snapshot_behind(runner, monkeypatch)
- explode · function · L766-L768 — def explode(**kwargs)
- test_pending_snapshot_name_swap_cannot_commit_attacker_bytes · function · L782-L817 — def test_pending_snapshot_name_swap_cannot_commit_attacker_bytes(runner, monkeypatch)
- swap_pending · function · L794-L805 — def swap_pending(stage, final, *, size_bytes, checksum)
- test_upload_publish_fault_restores_exact_previous_state · function · L822-L893 — def test_upload_publish_fault_restores_exact_previous_state( runner, monkeypatch, existing, fault )
- fail_live_replace · function · L860-L863 — def fail_live_replace(directory, source, destination)
- test_lost_commit_response_is_compensated_before_api_failure · function · L897-L928 — def test_lost_commit_response_is_compensated_before_api_failure( runner, monkeypatch, existing )
- commit_then_lose_response · function · L913-L915 — def commit_then_lose_response(**fields)
- test_upload_head_cas_preserves_a_concurrent_writer · function · L932-L976 — def test_upload_head_cas_preserves_a_concurrent_writer(runner, monkeypatch, existing)
- race_then_commit · function · L948-L962 — def race_then_commit(**fields)
- test_startup_recovers_every_durable_upload_journal_stage · function · L983-L1051 — def test_startup_recovers_every_durable_upload_journal_stage( runner, existing, crash_point )
- test_startup_finishes_committed_upload_journal_cleanup · function · L1055-L1087 — def test_startup_finishes_committed_upload_journal_cleanup( runner, monkeypatch, existing )
- leave_journal · function · L1068-L1071 — def leave_journal(self, args, *kwargs)
- test_recovery_rolls_back_same_byte_final_snapshot_inode_swap · function · L1090-L1114 — def test_recovery_rolls_back_same_byte_final_snapshot_inode_swap(runner, monkeypatch)
- leave_journal · function · L1096-L1099 — def leave_journal(self, args, *kwargs)
- test_upload_keyboard_interrupt_closes_the_transaction · function · L1117-L1140 — def test_upload_keyboard_interrupt_closes_the_transaction(runner, monkeypatch)
- interrupt · function · L1128-L1129 — def interrupt(_args, *_kwargs)
- test_symlinked_upload_journal_fails_closed_without_following_it · function · L1143-L1155 — def test_symlinked_upload_journal_fails_closed_without_following_it(runner, tmp_path)
- test_nested_exact_artifact_recovery_finishes_committed_cleanup · function · L1158-L1182 — def test_nested_exact_artifact_recovery_finishes_committed_cleanup(runner, monkeypatch)
- leave_journal · function · L1163-L1166 — def leave_journal(self, args, *kwargs)
- test_nested_exact_artifact_recovery_refuses_a_swapped_parent · function · L1185-L1248 — def test_nested_exact_artifact_recovery_refuses_a_swapped_parent(runner, tmp_path)