← Về thư mục
tests/test_team_isolation_hardening.py
- daemon · function · L38-L47 — def daemon(tmp_path: Path)
- _body · function · L50-L51 — def _body(raw: bytes) -> dict
- _pid · function · L54-L55 — def _pid(daemon) -> str
- _uid · function · L58-L59 — def _uid(daemon, username: str) -> str
- _create_session · function · L62-L67 — def _create_session(daemon, cookie: str) -> str
- _seed_artifact · function · L70-L85 — def _seed_artifact(daemon, root_frame_id: str, filename: str, data: bytes) -> dict
- _delete · function · L88-L95 — def _delete(daemon, path: str, cookie: str)
- test_preview_route_cannot_serve_another_users_artifact · function · L101-L117 — def test_preview_route_cannot_serve_another_users_artifact(daemon)
- test_artifact_bytes_by_version_id_are_scoped · function · L120-L135 — def test_artifact_bytes_by_version_id_are_scoped(daemon)
- test_artifact_bytes_by_unique_filename_are_scoped · function · L138-L147 — def test_artifact_bytes_by_unique_filename_are_scoped(daemon)
- test_project_artifact_listing_and_zip_are_filtered · function · L150-L175 — def test_project_artifact_listing_and_zip_are_filtered(daemon)
- test_project_routes_refuse_non_participants · function · L181-L194 — def test_project_routes_refuse_non_participants(daemon)
- test_project_list_is_participant_filtered · function · L197-L207 — def test_project_list_is_participant_filtered(daemon)
- test_creating_a_project_makes_the_creator_a_participant · function · L210-L225 — def test_creating_a_project_makes_the_creator_a_participant(daemon)
- test_workbench_diff_cannot_smuggle_another_users_version · function · L228-L258 — def test_workbench_diff_cannot_smuggle_another_users_version(tmp_path)
- test_admin_private_artifact_reads_are_audited_but_mutations_are_not · function · L261-L340 — def test_admin_private_artifact_reads_are_audited_but_mutations_are_not(tmp_path)
- audit · function · L305-L306 — def audit()
- test_session_owner_reaches_their_project_without_a_membership_row · function · L343-L350 — def test_session_owner_reaches_their_project_without_a_membership_row(daemon)
- test_ws_subscription_stops_working_after_the_user_is_disabled · function · L356-L398 — def test_ws_subscription_stops_working_after_the_user_is_disabled(daemon)
- test_denylist_matches_table_words_not_substrings · function · L404-L424 — def test_denylist_matches_table_words_not_substrings(tmp_path)
- test_revoking_an_invite_by_wildcard_prefix_revokes_nothing · function · L430-L443 — def test_revoking_an_invite_by_wildcard_prefix_revokes_nothing(daemon)
- test_a_lost_username_race_gives_the_invite_back · function · L446-L463 — def test_a_lost_username_race_gives_the_invite_back(daemon)
- test_review_port_consults_the_same_llm_quota_gate · function · L469-L487 — def test_review_port_consults_the_same_llm_quota_gate(daemon)
- test_login_bucket_trim_actually_drops_idle_entries · function · L490-L510 — def test_login_bucket_trim_actually_drops_idle_entries()
- _Store · class · L497-L501 — class _Store
- team · class · L498-L501 — class team
- audit · method · L500-L501 — def audit(**kwargs)
- test_posting_a_frame_into_another_users_project_is_not_a_join · function · L516-L540 — def test_posting_a_frame_into_another_users_project_is_not_a_join(daemon)
- test_a_session_owner_still_cannot_destroy_the_project · function · L543-L555 — def test_a_session_owner_still_cannot_destroy_the_project(daemon)
- test_a_member_cannot_repoint_the_group_llm_endpoint · function · L558-L580 — def test_a_member_cannot_repoint_the_group_llm_endpoint(daemon)
- test_shares_are_scoped_to_the_session_they_project · function · L583-L617 — def test_shares_are_scoped_to_the_session_they_project(daemon)
- test_memory_scoped_by_query_parameter_is_still_a_project · function · L620-L659 — def test_memory_scoped_by_query_parameter_is_still_a_project(daemon)
- test_a_member_cannot_run_commands_as_the_daemon · function · L665-L691 — def test_a_member_cannot_run_commands_as_the_daemon(daemon)
- test_a_member_cannot_mutate_the_shared_instance · function · L694-L716 — def test_a_member_cannot_mutate_the_shared_instance(daemon)
- test_a_member_cannot_plant_a_global_permission_rule · function · L719-L745 — def test_a_member_cannot_plant_a_global_permission_rule(daemon)
- test_search_does_not_leak_another_users_datapro_hits · function · L748-L766 — def test_search_does_not_leak_another_users_datapro_hits(daemon)
- test_an_upload_cannot_target_another_users_session · function · L772-L798 — def test_an_upload_cannot_target_another_users_session(daemon)
- test_project_read_visibility_does_not_allow_session_resource_writes · function · L801-L876 — def test_project_read_visibility_does_not_allow_session_resource_writes(daemon)
- test_project_member_cannot_revoke_another_owners_share · function · L879-L907 — def test_project_member_cannot_revoke_another_owners_share(daemon)
- test_unknown_and_hidden_session_resources_are_indistinguishable · function · L910-L993 — def test_unknown_and_hidden_session_resources_are_indistinguishable(daemon)
- signature · function · L973-L975 — def signature(raw: bytes) -> tuple
- test_permission_writable_barrier_is_reported_only_after_team_authorization · function · L996-L1043 — def test_permission_writable_barrier_is_reported_only_after_team_authorization(daemon)
- test_the_owner_can_still_upload_to_their_own_session · function · L1046-L1056 — def test_the_owner_can_still_upload_to_their_own_session(daemon)
- test_a_member_may_not_publish_a_global_specialist · function · L1059-L1074 — def test_a_member_may_not_publish_a_global_specialist(daemon)
- test_search_does_not_lose_your_own_hits_behind_colleagues · function · L1077-L1102 — def test_search_does_not_lose_your_own_hits_behind_colleagues(daemon)