|
21 | 21 | import io.fabric8.kubernetes.client.server.mock.KubernetesMockServer; |
22 | 22 | import org.junit.jupiter.api.Test; |
23 | 23 |
|
| 24 | +import org.mockito.Mockito; |
24 | 25 | import org.springframework.beans.factory.annotation.Autowired; |
25 | 26 | import org.springframework.boot.test.context.SpringBootTest; |
| 27 | +import org.springframework.boot.test.context.TestConfiguration; |
| 28 | +import org.springframework.cloud.kubernetes.commons.KubernetesNamespaceProvider; |
| 29 | +import org.springframework.cloud.kubernetes.commons.config.ConfigMapConfigProperties; |
26 | 30 | import org.springframework.cloud.kubernetes.fabric8.config.Fabric8ConfigMapPropertySourceLocator; |
27 | 31 | import org.springframework.cloud.kubernetes.fabric8.config.TestApplication; |
| 32 | +import org.springframework.cloud.kubernetes.fabric8.config.VisibleFabric8ConfigMapPropertySourceLocator; |
28 | 33 | import org.springframework.context.ApplicationContext; |
| 34 | +import org.springframework.context.annotation.Bean; |
29 | 35 | import org.springframework.mock.env.MockEnvironment; |
| 36 | +import org.springframework.test.context.bean.override.mockito.MockReset; |
30 | 37 | import org.springframework.test.context.bean.override.mockito.MockitoSpyBean; |
31 | 38 |
|
32 | 39 | import static org.assertj.core.api.Assertions.assertThat; |
|
49 | 56 | "spring.cloud.kubernetes.config.fail-fast=true", "spring.cloud.kubernetes.config.retry.enabled=false", |
50 | 57 | "spring.main.cloud-platform=KUBERNETES", "spring.cloud.kubernetes.config.enabled=false", |
51 | 58 | "spring.cloud.kubernetes.secrets.enabled=false" }, |
52 | | - classes = TestApplication.class) |
| 59 | + classes = { TestApplication.class, ConfigFailFastEnabledButRetryDisabled.ConfigForTest.class }) |
53 | 60 | abstract class ConfigFailFastEnabledButRetryDisabled { |
54 | 61 |
|
55 | 62 | private static final String API = "/api/v1/namespaces/default/configmaps/application"; |
@@ -89,4 +96,15 @@ void locateShouldFailWithoutRetrying() { |
89 | 96 | verify(propertySourceLocator, times(1)).locate(any()); |
90 | 97 | } |
91 | 98 |
|
| 99 | + @TestConfiguration |
| 100 | + static class ConfigForTest { |
| 101 | + |
| 102 | + @Bean |
| 103 | + Fabric8ConfigMapPropertySourceLocator propertySourceLocator(KubernetesClient client, |
| 104 | + ConfigMapConfigProperties properties, KubernetesNamespaceProvider provider) { |
| 105 | + return new VisibleFabric8ConfigMapPropertySourceLocator(client, properties, provider); |
| 106 | + } |
| 107 | + |
| 108 | + } |
| 109 | + |
92 | 110 | } |
0 commit comments