Почему мои тесты не запускают мой фильтр? - PullRequest
0 голосов
/ 21 января 2019

У меня есть следующая проблема.Мои тесты всегда выполняются положительно, даже если заголовок HttpHeaders.AUTHORIZATION содержит неверный токен.Теоретически это должно дать сбой, потому что у меня есть фильтр, который проверяет токен.Моя программа Jax-RS отлично работает в браузере или использует httpclient, как почтальон.Поэтому сначала нужно сгенерировать токен, а затем использовать этот токен для запуска HTTP-команд, иначе он вернет код состояния 401. Я думаю, что моя конфигурация неверна, и Testframework запускает тесты без запуска фильтра.Я никогда раньше не работал с Jax-RS и понятия не имею, как это исправить ...

public class GamesTest extends JerseyTest{


@Override
protected Application configure() {
    return new ResourceConfig(Games.class).register(new AbstractBinder() {
        protected void configure() {
            bind(GamesXMLDB.class).to(MyGameDBInterfaceDB.class).in(Singleton.class);
            bind(UserXMLDB.class).to(MyUserInterfaceDB.class).in(Singleton.class);
        }
    });
}   


@Test
public void getWithoutTokenTest() {
    Response response = target("/games").request().header(HttpHeaders.AUTHORIZATION, "").get();
    assertEquals(200, response.getStatus());
}

}

1 Ответ

0 голосов
/ 21 января 2019

Я идиот, мне нужно было добавить filter.class в ResourceConfig.Я думал, что это не нужно, так как он найдет фильтр через аннотацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...