1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.bremersee.spring.boot.autoconfigure.keycloak;
18
19 import static org.assertj.core.api.Assertions.assertThat;
20 import static org.mockito.Mockito.doReturn;
21 import static org.mockito.Mockito.mock;
22
23 import java.util.List;
24 import org.bremersee.exception.RestApiExceptionParserImpl;
25 import org.bremersee.exception.feign.FeignClientExceptionErrorDecoder;
26 import org.bremersee.exception.webclient.DefaultWebClientErrorDecoder;
27 import org.bremersee.keycloak.api.webflux.AdminApi;
28 import org.bremersee.keycloak.api.webflux.KeycloakAdminClient;
29 import org.junit.jupiter.api.BeforeEach;
30 import org.junit.jupiter.api.Test;
31 import org.springframework.beans.factory.ObjectProvider;
32
33
34
35
36
37
38 class ReactiveKeycloakClientAutoConfigurationTest {
39
40 private ReactiveKeycloakClientAutoConfiguration target;
41
42
43
44
45 @BeforeEach
46 void setUp() {
47 KeycloakProperties properties = new KeycloakProperties();
48 properties.setBaseUri("https://localhost:8443");
49 properties.setRealm("junit");
50 properties.getAdminClient().setLoginRealm("master");
51 properties.getAdminClient().setClientId("admin-cli");
52 properties.getAdminClient().setUsername("admin");
53 properties.getAdminClient().setPassword("change-it");
54 target = new ReactiveKeycloakClientAutoConfiguration(properties);
55 target.init();
56 }
57
58
59
60
61 @Test
62 void keycloakAdminApi() {
63 DefaultWebClientErrorDecoder errorDecoder = new DefaultWebClientErrorDecoder(
64 new RestApiExceptionParserImpl());
65
66 ObjectProvider<DefaultWebClientErrorDecoder> provider = mock(ObjectProvider.class);
67 doReturn(errorDecoder)
68 .when(provider)
69 .getIfAvailable();
70 FeignClientExceptionErrorDecoder feignErrorDecoder = new FeignClientExceptionErrorDecoder();
71
72 ObjectProvider<FeignClientExceptionErrorDecoder> feignProvider = mock(ObjectProvider.class);
73 doReturn(feignErrorDecoder)
74 .when(feignProvider)
75 .getIfAvailable();
76 AdminApi actual = target.keycloakAdminApi(List.of(), List.of(), provider, feignProvider);
77 assertThat(actual).isNotNull();
78 }
79
80
81
82
83 @Test
84 void keycloakAdminClient() {
85 KeycloakAdminClient actial = target.keycloakAdminClient(mock(AdminApi.class));
86 assertThat(actial).isNotNull();
87 }
88 }