Вера Ланская · лид QA, #qa-antrakt
Пришёл отчёт аудита безопасности. Первый пункт: «Зритель, вошедший в приложение, может открыть чужой заказ, подставив номер в
GET /orders/{id}. Номера идут подряд». Тимур говорит, что проверка владельца там есть. Я посмотрела набор: все 41 тест Глеба ходят под админом, а админу можно всё. Набор вообще не знает, что существуют зрители. Сделай так, чтобы знал.
В прошлом уроке мы собрали запросы в одного клиента с таймаутом. Токен в этот клиент по-прежнему кладёт фикстура admin_token, и под этим токеном живёт весь набор. Проблема в том, что тест под админом проверяет только то, что видит админ. Права зрителя, организатора и человека без входа остаются непроверенными. В этом уроке научимся входить под нужной ролью, держать вход в фикстуре и ловить классическую дыру API: доступ к чужому объекту.
Браслет на фестивале
На входе на фестиваль охрана проверяет билет и надевает браслет. Это ответ на вопрос «кто ты»: зритель, участник, техник. Дальше браслет показывают у каждой двери. Зелёный пускает в зал, жёлтый ещё и за сцену, красный везде. Охранник у двери не проверяет билет заново, он смотрит на браслет.
Тест под админом это проверка охраны человеком с красным браслетом. Он пройдёт в любую дверь и решит, что двери работают. А проверить надо, что зелёный браслет не пускает за сцену. И что без браслета не пускают никуда.
урок из курса
Урок из курса «Автотестирование с нуля». Курс покупается один раз и остаётся навсегда: 500 ₽.
Оплата пока не подключена: премиум и курсы открываются промокодом.