Я пишу DRF API для образовательного веб-сайта, где пользователи могут получать доступ к данным на основе групп разрешений и разрешений на уровне объектов, которые они имеют. Когда я начал писать тесты, я задумался, нужно ли тестировать запросы со всеми возможными комбинациями разрешений. Например, скажем, одна конечная точка API требует трех разрешений для предоставления доступа к своим данным, тогда вы можете написать множество методов тестирования, чтобы проверить все возможные комбинации разрешений, которые может иметь пользователь. Только одна комбинация, в которой у пользователя есть все три разрешения, приведет к получению данных, а остальная часть, скорее всего, приведет к 403 Запрещенному ответу.
Например, тремя разрешениями могут быть что-то вроде IsAuthenticated, IsOwner и IsTeacher. У пользователя должны быть все три разрешения, поэтому комбинации 403 запрещенных ответов будут:
IsOwner IsAuthenticated IsTeacher
False False False,
False False True,
False True True,
True False False,
True True False,
True False True,
False True False,
Действительный ответ, который дает пользователю доступ к данным, будет:
IsOwner IsAuthenticated IsTeacher
True True True
Нужно ли проверять их все? Должен ли я проверить это по-другому?