Add regression corpus and opt-in catalog test route

This commit is contained in:
Fiden committed 2026-08-07 17:44:17 +03:00
1 parent 476cbb0116
commit c7b19d1310
7 files changed
+491 -13

No files matched your search

+16 -1
View File
@@ -436,7 +436,7 @@ Elasticsearch или другой поисковый кластер имеет
python -m pytest -q
```
В текущем наборе 67 тестов:
Набор тестов покрывает:
- точные совпадения;
- алиасы и разговорные названия;
@@ -453,6 +453,20 @@ python -m pytest -q
- строгий формат request/response;
- единственный endpoint `/match`.
`tests/test_message_corpus.py` автоматически читает все непустые строки из
`messages.txt` и `more_messages.txt`, прогоняет их через matcher и строго
сравнивает статус и SKU с таблицей `EXPECTED_RESULTS`. Ключом служит сам текст
сообщения, поэтому добавление строки не сдвигает остальные ожидания:
```python
"бур sds 10х210": ("matched", ("BIT-0080",)),
"диск": ("ambiguous", ("DSK-0011", "DSK-0012", "DSK-0013")),
```
Для `ambiguous` SKU перечисляются в ожидаемом порядке. Confidence намеренно не
фиксируется точным числом: тест проверяет только допустимый диапазон, чтобы
изменение формулы оценки не ломало проверенные статус и состав кандидатов.
## Структура
```text
@@ -472,6 +486,7 @@ app/
tests/
├── conftest.py
├── test_api.py
├── test_message_corpus.py
├── test_matcher.py
└── test_normalization.py
```