2013-05-17 3 views
0

У меня есть службы JAX-RS, который возвращает несколько «Link» заголовки:Как проверить «multi header»?

Expires=Thu, 01 Jan 1970 01:00:00 CET 
Link=http://localhost:7080/rest/resource?ps=2&category=service&page=2; rel='next' 
Link=http://localhost:7080/rest/resource?page=1&ps=2&category=service; rel='current' 
Content-Encoding=gzip 

Теперь я хочу, чтобы подтвердить, что существует связь с отн = следующий, а другой с отн = текущий, но ни с отн = предыдущая

Когда я пишу

expect() 
.header("Link", containsString("page=2")) 
.header("Link", containsString("current")) 
.header("Link", not(containsString("prev"))) 

Тогда будьте уверены, не будет работать на 2-й линии, как 1-й строке заголовка Link сверху не содержит «текущий»

Каков правильный способ запуска этих проверок?

ответ

1

Я не думаю, что вы можете сделать это таким образом, к сожалению (поскольку REST Assured возвращает только первое значение заголовка). Обходной бы:

List<Header> listHeaders = get("/your_resource").headers().getList("Link"); 

Теперь вы можете утверждать каждое значение заголовка с помощью с помощью обычного JUnit утверждающего (или что-то подобное).