#!/usr/bin/env python3 """Focused regression tests for source-assertion classification.""" import importlib.util import unittest from pathlib import Path SCRIPT = Path(__file__).with_name("check-test-quality.py") SPEC = importlib.util.spec_from_file_location("check_test_quality", SCRIPT) MODULE = importlib.util.module_from_spec(SPEC) assert SPEC.loader is not None SPEC.loader.exec_module(MODULE) class SourceAssertionClassificationTest(unittest.TestCase): def test_async_typescript_source_assertion_is_detected(self) -> None: source = """ import { readFile } from "node:fs/promises" const production = await readFile("appProtocol.ts", "utf8") expect(production).toContain("secure: true") """ self.assertTrue(MODULE.is_source_assertion_test(source)) def test_go_directory_source_assertion_is_detected(self) -> None: source = """ entries, _ := os.ReadDir("internal/store/app") if strings.HasSuffix(entry.Name(), ".go") { content, _ := os.ReadFile(entry.Name()) if strings.Contains(string(content), "forbidden") { t.Fatal("drift") } } """ self.assertTrue(MODULE.is_source_assertion_test(source)) def test_fixture_read_is_not_a_source_assertion(self) -> None: source = """ data, _ := os.ReadFile("testdata/result.json") require.Contains(t, string(data), "expected value") """ self.assertFalse(MODULE.is_source_assertion_test(source)) class TiDBFixtureGranularityTest(unittest.TestCase): def test_fixture_inside_subtest_is_detected(self) -> None: source = ''' func TestMatrix(t *testing.T) { for _, tc := range cases { t.Run(tc.name, func(t *testing.T) { db := startReviewRollbackDB(t, context.Background()) exercise(t, db) }) } } ''' self.assertEqual(1, len(MODULE.tidb_fixture_calls_in_subtests(source))) def test_outer_fixture_is_not_detected(self) -> None: source = ''' func TestMatrix(t *testing.T) { db := fixture.RollbackDB(t, context.Background()) for _, tc := range cases { t.Run(tc.name, func(t *testing.T) { exercise(t, db) }) } } ''' self.assertEqual([], MODULE.tidb_fixture_calls_in_subtests(source)) def test_comments_and_literals_do_not_create_false_hits(self) -> None: source = ''' func TestMatrix(t *testing.T) { t.Run("case", func(t *testing.T) { // db := startRollbackDB(t, ctx) message := `fixture.RollbackDB(t, ctx)` exercise(t, message) }) } ''' self.assertEqual([], MODULE.tidb_fixture_calls_in_subtests(source)) if __name__ == "__main__": unittest.main()