============================= test session starts ==============================
platform linux -- Python 3.12.14, pytest-9.1.1, pluggy-1.6.0
rootdir: /workspace/scratch/5655cab44c80/canvas-mcp-student-confirmation
configfile: pyproject.toml
plugins: asyncio-1.4.0, anyio-4.14.2
asyncio: mode=Mode.AUTO, debug=False, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function
collected 1627 items

tests/core/access/test_factory.py .....                                  [  0%]
tests/core/access/test_import_isolation.py ..                            [  0%]
tests/core/access/test_notify.py ...                                     [  0%]
tests/core/access/test_routes.py .....                                   [  0%]
tests/core/access/test_store.py .....                                    [  1%]
tests/core/access/test_tokens.py ....                                    [  1%]
tests/core/test_audit_access.py ...                                      [  1%]
tests/core/test_client.py ..........                                     [  2%]
tests/core/test_client_state_machine.py ............                     [  3%]
tests/core/test_config.py .......................................        [  5%]
tests/core/test_config_access.py ...                                     [  5%]
tests/core/test_dates.py ...ss....                                       [  6%]
tests/core/test_peer_reviews.py .                                        [  6%]
tests/core/test_tool_results.py ...........                              [  6%]
tests/security/test_anonymization_endpoints.py ......................... [  8%]
.................................................................        [ 12%]
tests/security/test_anonymization_shapes.py ............................ [ 14%]
..................................................................       [ 18%]
tests/security/test_audit_logging.py ........                            [ 18%]
tests/security/test_authentication.py ......s...ss....                   [ 19%]
tests/security/test_code_execution.py s....s...s.sss........             [ 21%]
tests/security/test_confirmation_state_machine.py ........               [ 21%]
tests/security/test_csv_formula_injection.py ........................... [ 23%]
...                                                                      [ 23%]
tests/security/test_dependencies.py sss.ss...s..s                        [ 24%]
tests/security/test_ferpa_compliance.py ......ss...s..                   [ 25%]
tests/security/test_file_tool_host_boundary.py ...........               [ 25%]
tests/security/test_input_validation.py ................................ [ 27%]
.....                                                                    [ 27%]
tests/security/test_local_export_host_boundary.py ....                   [ 28%]
tests/security/test_path_segment_injection.py .........................  [ 29%]
tests/security/test_pii_sanitization.py ..........                       [ 30%]
tests/security/test_privacy_default_consistency.py .....                 [ 30%]
tests/security/test_public_route_limits.py ................              [ 31%]
tests/security/test_sandbox_defaults.py .........                        [ 32%]
tests/security/test_sandbox_fail_closed.py ........                      [ 32%]
tests/security/test_sandbox_nonroot_user.py ..................           [ 33%]
tests/security/test_student_write_invariants.py ........................ [ 35%]
............................                                             [ 37%]
tests/security/test_untrusted_content.py ............................... [ 38%]
........................................................................ [ 43%]
...........................                                              [ 44%]
tests/security/test_untrusted_content_registry.py .                      [ 45%]
tests/security/test_workflow_permissions.py ..........                   [ 45%]
tests/test_cli_access.py ...                                             [ 45%]
tests/test_closing_keyword_guard.py .................................... [ 48%]
...............                                                          [ 48%]
tests/test_fastmcp_compat.py ........                                    [ 49%]
tests/test_github_session_brief.py ..................................    [ 51%]
tests/test_http_transport.py ..........................................  [ 54%]
tests/test_role_filtering.py ...............                             [ 55%]
tests/test_tool_metadata.py ........                                     [ 55%]
tests/tools/test_accessibility.py ........................               [ 57%]
tests/tools/test_admin_tools.py .............                            [ 57%]
tests/tools/test_assignments.py .........................                [ 59%]
tests/tools/test_bulk_grading.py ............                            [ 60%]
tests/tools/test_code_execution.py ..................................... [ 62%]
...                                                                      [ 62%]
tests/tools/test_content_migrations.py ........................          [ 64%]
tests/tools/test_course_structure.py .....                               [ 64%]
tests/tools/test_courses.py ............................................ [ 67%]
................                                                         [ 68%]
tests/tools/test_delete_confirmation.py ................................ [ 70%]
............                                                             [ 70%]
tests/tools/test_discovery.py ...............                            [ 71%]
tests/tools/test_discussions.py ...................................      [ 73%]
tests/tools/test_enrollment.py ......................................... [ 76%]
............                                                             [ 77%]
tests/tools/test_files.py .............................................. [ 79%]
...................                                                      [ 81%]
tests/tools/test_messaging.py .............                              [ 81%]
tests/tools/test_modules.py ....................................         [ 84%]
tests/tools/test_pages.py .........................                      [ 85%]
tests/tools/test_peer_review_comments.py .........                       [ 86%]
tests/tools/test_peer_reviews.py .........                               [ 86%]
tests/tools/test_rubric_grading_safety.py ..................             [ 87%]
tests/tools/test_rubrics.py ............................................ [ 90%]
.................................................                        [ 93%]
tests/tools/test_self_identity.py .........................              [ 95%]
tests/tools/test_student_tools.py ................................       [ 97%]
tests/tools/test_student_write.py ...................................... [ 99%]
..........                                                               [100%]

====================== 1606 passed, 21 skipped in 52.23s =======================
