Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

test: у подделок чужих интерфейсов нет ни одного снятого ответа — зелёное на них ничего не доказывает

Open
#1,422 0 comments 0 reactions 0 assignees View on GitHub

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

area/core difficulty/medium tech-debt

Правило каталога 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

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from ArtVsMark/Stepik-Python-Grader

All issues in ArtVsMark/Stepik-Python-Grader

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.