2012-01-17 2 views
3

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

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

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

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

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

ответ

2

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

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