gabriel / musehub public
test task/api-surface-phase2 #1 / 1
AI Agent gabriel · 137 days ago · May 3, 2026 · Diff

test: add 30-test TDD suite for intel/api-surface page (all RED pre-implementation)

sha256:8cb45b0ed58aab04ce47273d615de53ebf01675acb88dd6667eb4c29c65bbc39 sha
+53 symbols
sha256:a92e88674233d8f00d0217707e8bda3b39fe477e0ba23e79e25b96f8d4398b1d snapshot
+53
symbols added
0
dead code introduced
Semantic Changes 53 symbols
~ tests/test_intel_api_surface.py .py 53 symbols added
+ TestDBModel class class TestDBModel L96–137
+ test_T01_model_has_required_columns method method test_T01_model_has_required_columns L98–102
+ test_T02_signature_id_is_nullable method method test_T02_signature_id_is_nullable L104–107
+ test_T03_row_insert_and_cascade_delete method async_method test_T03_row_insert_and_cascade_delete L110–137
+ TestE2E class class TestE2E L358–400
+ test_T16_total_count_chip_shows_correct_value method async_method test_T16_total_count_chip_shows_correct_value L361–368
+ test_T17_kind_breakdown_chips_present method async_method test_T17_kind_breakdown_chips_present L371–379
+ test_T18_symbol_address_split_rendered method async_method test_T18_symbol_address_split_rendered L382–391
+ test_T19_dashboard_card_links_to_api_surface_page method async_method test_T19_dashboard_card_links_to_api_surface_page L394–400
+ TestPerformance class class TestPerformance L477–556
+ test_T23_route_responds_under_200ms_for_5k_symbols method async_method test_T23_route_responds_under_200ms_for_5k_symbols L480–513
+ test_T24_db_query_uses_repo_index method async_method test_T24_db_query_uses_repo_index L516–528
+ test_T25_batch_upsert_1000_rows_under_500ms method async_method test_T25_batch_upsert_1000_rows_under_500ms L531–556
+ TestProviderBatch class class TestProviderBatch L144–254
+ test_T04_provider_issues_one_sql_per_chunk method async_method test_T04_provider_issues_one_sql_per_chunk L147–184
+ test_T05_provider_uses_ceil_n_over_1000_sql_calls_for_2500_symbols method async_method test_T05_provider_uses_ceil_n_over_1000_sql_calls_for_2500_symbols L187–224
+ test_T06_empty_symbols_returns_empty_list method async_method test_T06_empty_symbols_returns_empty_list L227–254
+ TestRoute class class TestRoute L261–351
+ test_T07_returns_200_with_empty_repo method async_method test_T07_returns_200_with_empty_repo L264–271
+ test_T08_returns_200_with_data method async_method test_T08_returns_200_with_data L274–279
+ test_T09_kind_filter_function_only method async_method test_T09_kind_filter_function_only L282–290
+ test_T10_kind_filter_class_only class async_method test_T10_kind_filter_class_only L293–300
+ test_T11_kind_filter_async_function method async_method test_T11_kind_filter_async_function L303–310
+ test_T12_unknown_kind_coerced_to_all method async_method test_T12_unknown_kind_coerced_to_all L313–318
+ test_T13_top_param_limits_results method async_method test_T13_top_param_limits_results L321–335
+ test_T14_top_invalid_string_returns_422 method async_method test_T14_top_invalid_string_returns_422 L338–343
+ test_T15_unknown_repo_returns_404 method async_method test_T15_unknown_repo_returns_404 L346–351
+ TestSecurity class class TestSecurity L563–622
+ test_T26_xss_in_address_is_escaped method async_method test_T26_xss_in_address_is_escaped L566–578
+ test_T27_xss_in_kind_field_is_escaped method async_method test_T27_xss_in_kind_field_is_escaped L581–593
+ test_T28_sql_injection_in_kind_param_safe method async_method test_T28_sql_injection_in_kind_param_safe L596–603
+ test_T29_top_zero_coerced_to_default method async_method test_T29_top_zero_coerced_to_default L606–614
+ test_T30_private_repo_returns_403_or_404_unauthenticated method async_method test_T30_private_repo_returns_403_or_404_unauthenticated L617–622
+ TestStateIntegrity class class TestStateIntegrity L407–470
+ test_T20_double_upsert_produces_one_row method async_method test_T20_double_upsert_produces_one_row L410–427
+ test_T21_second_upsert_overwrites_kind method async_method test_T21_second_upsert_overwrites_kind L430–451
+ test_T22_cross_repo_isolation method async_method test_T22_cross_repo_isolation L454–470
+ _REF variable variable _REF L29–29
+ _insert_as_row function async_function _insert_as_row L36–65
+ _mock_process function function _mock_process L629–633
+ as_repo function async_function as_repo L72–89
+ AsyncClient import import AsyncClient L22–22
+ AsyncMock import import AsyncMock L18–18
+ AsyncSession import import AsyncSession L24–24
+ annotations import import annotations L15–15
+ create_repo import import create_repo L27–27
+ dbm import import dbm L26–26
+ patch import import patch L18–18
+ pg_insert import import pg_insert L23–23
+ pytest import import pytest L20–20
+ pytest_asyncio import import pytest_asyncio L68–68
+ sa import import sa L21–21
+ time import import time L17–17
← Older Oldest on task/api-surface-phase2
All commits
Newer → Latest on task/api-surface-phase2

0 comments

No comments yet. Be the first to start the discussion.

To add a comment, use the Muse CLI: muse hub commit comment sha256:8cb45b0ed58aab04ce47273d615de53ebf01675acb88dd6667eb4c29c65bbc39 --body "your comment"