Тестирование сервиса GitHub Issues
создан репо https://github.com/Nokhrin/api-testing-lab/ созданы токены, записаны в .env в корне репозитория как READ_AND_WRITE_TOKEN - сценарии создания, обновления, комментирования, закрытия issues, чтение репо, issue READ_TOKEN - сценарии "ошибка доступа" при изменении
Поиск в спецификации
curl -s https://raw.githubusercontent.com/github/rest-api-description/refs/heads/main/descriptions/api.github.com/api.github.com.json | jq '.paths["/repos/{owner}/{repo}/issues"].post.requestBody.content."application/json".schema'# 1. Создать .env
touch .env
chmod 600 .env
# 2. Заполнить .env
# 3. Загрузить переменные
set -a; source .env; set +a;mvn -B -ntp test -Dgroups=readmvn test-compile exec:javaОдин тест с отчетом
mvn clean test allure:report -Dtest=org.nokhrin.github.graphql.IssueTest#verifyIssuesQueryReturnsValidIssues# Запустить тесты и сгенерировать отчёт
mvn clean test allure:report
# В произвольном каталоге
mvn -Dallure.results.directory=path/to/allure-results allure:serve
mvn -Dallure.results.directory=/tmp/allure allure:serve
#
# Открыть отчёт в браузере
firefox target/site/allure-maven-plugin/index.htmlПример (REST): GET /repos/{owner}/{repo}/issues -> HTTP 200, массив объектов JSON Пример (GraphQL): POST /graphql -> HTTP 200, объект JSON с обязательным ключом data (или errors)