test: у подделок чужих интерфейсов нет ни одного снятого ответа — зелёное на них ничего не доказывает
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- github, python
- Domain
- api, testing-qa
Research direction
Start with tests/test_stepik_client*.py and tests/fixtures/github/README.md to understand the existing fixture conventions and their provenance checks. The remaining work is to capture Stepik API responses in an environment with secrets.json and Stepik network access, align the Stepik mocks with those responses, and check that mutations make tests fail. Done means the fixtures have a real source and the tests detect the likely mock mismatches.
Written by the indexing model from the issue text.
Description
Правило каталога 170 — «Зелёное на подделке — тоже гипотеза, и у подделки обязан быть источник».
Правило 037 у нас действует: дефект, найденный на подделке, — гипотеза, пока не подтверждён на настоящей поверхности. Обратное не действовало: набор, гоняемый на значениях, которые придумал автор, доказывает согласованность кода с его же представлением о чужой стороне и ничего не говорит о самой стороне.
Предмет здесь есть
Мы подделываем чужой интерфейс в нескольких местах: ответы GitHub REST (tests/test_gh_rest*.py, test_check_pr_ready.py, test_nightly_checks.py), ответы Stepik API (tests/test_stepik_client*.py), выгрузку каталога правил. Снятого ответа настоящей стороны рядом с ними нет ни одного.
Инцидент правила ровно про это: у соседа четыре теста «задачи нет» две недели были зелёными на неработающем механизме, потому что подделка отдавала при отсутствии задачи пустую строку — значение, которого площадка не отдаёт никогда. Отказ обнаружился на живой стороне и чужими глазами.
Асимметрия здесь обратная привычной: ложное красное на подделке дёшево, ложное зелёное стоит недель тишины.
Что сделать
- снять ответы GitHub REST и положить рядом с подделками как образцы —
scripts/capture_github_fixtures.py,tests/fixtures/github/(PR по этой задаче) - при смене версии чужой стороны образец переснимается, а не правится по памяти — блок происхождения с датой, срок 180 дней, сверка ночным обходом
- где живой ответ снять нечем — подделка помечается несверенной, а не притворяется, что источник есть — граница названа в
tests/fixtures/github/README.mdи проверяется тестом - снять ответы Stepik API — только локальное окно: у облака нет ни
secrets.json, ни сети до Stepik - подделки Stepik отдают то, что отдаёт площадка, включая неудобные формы — после съёмки
- мутации: тест обязан краснеть на исправленной подделке — проверить на подделках Stepik, где расхождение и вероятнее всего
Окно
Часть работы — только локальная: живой ответ Stepik API в облаке снять нечем (нет secrets.json и сети до Stepik). Ответы GitHub REST снимаются из облака.
Generated by Claude Code
- Dominant language
- Python
- Stars
- 3
- Forks
- 6
- Avg merge
- 2h 41m
- Merged PRs (30d)
- 48
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from ArtVsMark/Stepik-Python-Grader
-
Difficulty 2/5 1-3 hours Newbie friendliness 48/100
ArtVsMark/Stepik-Python-Grader#1636 ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 Half a day Newbie friendliness 35/100
ArtVsMark/Stepik-Python-Grader#1635 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 18/100
ArtVsMark/Stepik-Python-Grader#1634 ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 32/100
ArtVsMark/Stepik-Python-Grader#1633 ·
Maintainers usually reply within 1 day
-
Каталог v1.12.0: Python 3.14 / 3.15 / 3.16 — 3.15 в основной CI, 3.16 в python-next, подъём действийOpen
Difficulty 3/5 1-2 days Newbie friendliness 30/100
ArtVsMark/Stepik-Python-Grader#1632 ·
Maintainers usually reply within 1 day
All issues in ArtVsMark/Stepik-Python-Grader
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
btclib-org/btclib-wallet#587 · 1 comment ·
Maintainers usually reply within 1 day
-
documentation
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Judgment-Pack/judgment-pack-spec#275 ·
Maintainers usually reply within 1 day
-
ai-generated
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
Maintainers usually reply within 1 day
-
documentation good first issue priority: low size: XS
Difficulty 1/5 1-3 hours Newbie friendliness 92/100
yeongseon/azure-functions-doctor-python#651 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
Changaco/python-libarchive-c#146 ·