У меня есть служба REST с ограничением доступа для каждого ресурса. Допустим, у меня есть следующий сервис:
ПОЛУЧИТЬ /запись/{recordId}
Определяется количество доступов для каждой записи, и при достижении предела возвращается исключение.
Я написал интеграционный тест, который создает запись с ограничением доступа 5, а затем создает цикл, который отправляет запросы через mockMvc.
Когда я смотрю на примеры в Spring REST Docs, я вижу, что .andDo(...) добавляется сразу после теста, который создает фрагменты для теста. Я боюсь, что это перезапишет фрагменты одного и того же теста. Я хочу задокументировать, что ресурс имеет ограничения доступа для каждого идентификатора ресурса, и привести пример, когда ресурс доступен и когда достигнут предел доступа.
Должен ли я использовать 2 идентификатора документа для этих случаев (см. ниже)? Это правильный подход?
@Test
public void testWithLimit(final String recordId, final String value, final int limit) throws Exception {
for (int i = 0; i < limit; i++) {
final ResultActions test = mockMvc.perform(get("/record/" + recordId));
if (i < limit) {
test.andExpect(status().isFound())
.andExpect(jsonValue("$.value").exists())
.andDo(document("resource-accessible"));
} else {
test.andExpect(status().isGone())
.andExpect(validateException(RecordLimitExceededException.class))
.andDo(document("resource-access-limit-reached"));
}
}
}