Модульное тестирование JAX-RS (RESTEasy) - PullRequest
3 голосов
/ 17 января 2012

Я разработал сервер приложений REST на основе RESTEasy (JAX-RS).

У меня есть набор модульных тестов для каждой службы на основе org.jboss.resteasy.mock.MockDispatcherFactory. Они макетируют вызовы базы данных, чтобы я мог возвращать «законсервированные» ответы базы данных.

Все работало хорошо, пока я не добавил код безопасности, который проверял принципала DIGEST (java.security.Principal). Я написал перехватчик безопасности, который ожидает получить идентификационную информацию пользователя, вызывающего службу, и убедиться, что у этого пользователя есть полномочия на выполнение службы.

Я не могу найти способ отправить насмешливый директор.

За исключением отключения моих проверок безопасности в моих модульных тестах, есть ли способ сказать фиктивному серверу использовать фиктивный принципал? Я бы предпочел НЕ отключить защиту, потому что это часть того, что я хочу проверить.

1 Ответ

2 голосов
/ 05 апреля 2012

Я бы использовал Mockito . Mockito позволяет имитировать вызов любого метода, поэтому довольно легко создать «фальшивый», изготовленный вами, Основной объект. Посмотрите этот пример или google "java.security.Principal mocking with mockito" для большего количества примеров.

Надеюсь, это поможет, поскольку я не уверен на 100%, что вы можете применить такой метод в вашем случае.

...