Код: Выделить всё
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
@ActiveProfiles("test")
public class IntegrationTest {
@Autowired
protected WebTestClient webClient;
public void test() {
webClient
.get()
.uri("api/v1/tasks")
.exchange()
.expectStatus().isOk();
}
}
Код: Выделить всё
@Configuration
@EnableWebSecurity
public class SecurityConfigurer {
@Bean
SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
// ...
http.authorizeHttpRequests(c -> c
.requestMatchers(GET, URL_V1_API_DOCS + "/**").permitAll()
.requestMatchers(URL_V1_BASE + "/**").authenticated()
.anyRequest().denyAll());
http
.oauth2Login(withDefaults());
// ...
return http.build();
}
}
Однако мне не удается интегрировать безопасность в моих тестах. В документации Spring Security я вижу поддержку mockOidcLogin при использовании WebTestClient в реактивном приложении или MockMvc в приложении сервлета. Тем не менее, я не нашел никакой информации при использовании WebTestClient для приложения сервлета.
Я не возражаю, если он использует либо издевающегося пользователя, либо с помощью реальный вход в систему с использованием тестового контейнера Keycloak.
Подробнее здесь: https://stackoverflow.com/questions/787 ... to-work-wi
Мобильная версия