Skip to content

Commit affe11d

Browse files
author
Dave Syer
committed
Tidy up SpringBootTests
Tests with [at]SpringBootTest automatically look for configuration files nested inside them, so you don't need to explicitly enumerate them. Signed-off-by: Dave Syer <[email protected]>
1 parent 63de2d2 commit affe11d

File tree

6 files changed

+32
-70
lines changed

6 files changed

+32
-70
lines changed

spring/src/test/java/io/kubernetes/client/spring/extended/controller/KubernetesInformerCreatorTest.java

Lines changed: 22 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525
import com.github.tomakehurst.wiremock.junit.WireMockRule;
2626
import com.google.gson.Gson;
27-
import io.kubernetes.client.informer.SharedInformer;
27+
import io.kubernetes.client.informer.SharedIndexInformer;
2828
import io.kubernetes.client.informer.SharedInformerFactory;
2929
import io.kubernetes.client.informer.cache.Lister;
3030
import io.kubernetes.client.openapi.ApiClient;
@@ -34,29 +34,25 @@
3434
import io.kubernetes.client.openapi.models.V1ObjectMeta;
3535
import io.kubernetes.client.openapi.models.V1Pod;
3636
import io.kubernetes.client.openapi.models.V1PodList;
37-
import io.kubernetes.client.spring.extended.controller.annotation.GroupVersionResource;
38-
import io.kubernetes.client.spring.extended.controller.annotation.KubernetesInformer;
39-
import io.kubernetes.client.spring.extended.controller.annotation.KubernetesInformers;
4037
import io.kubernetes.client.util.ClientBuilder;
38+
import io.kubernetes.client.util.generic.GenericKubernetesApi;
4139
import java.util.Arrays;
4240
import org.junit.Rule;
4341
import org.junit.Test;
4442
import org.junit.runner.RunWith;
4543
import org.springframework.beans.factory.annotation.Autowired;
46-
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
4744
import org.springframework.boot.autoconfigure.SpringBootApplication;
4845
import org.springframework.boot.test.context.SpringBootTest;
4946
import org.springframework.context.annotation.Bean;
5047
import org.springframework.test.context.junit4.SpringRunner;
5148

5249
@RunWith(SpringRunner.class)
53-
@SpringBootTest(classes = {KubernetesInformerCreatorTest.App.class})
50+
@SpringBootTest
5451
public class KubernetesInformerCreatorTest {
5552

5653
@Rule public WireMockRule wireMockRule = new WireMockRule(8188);
5754

5855
@SpringBootApplication
59-
@EnableAutoConfiguration
6056
static class App {
6157

6258
@Bean
@@ -66,43 +62,34 @@ public ApiClient testingApiClient() {
6662
}
6763

6864
@Bean
69-
@KubernetesInformers({
70-
@KubernetesInformer(
71-
apiTypeClass = V1Pod.class,
72-
apiListTypeClass = V1PodList.class,
73-
groupVersionResource =
74-
@GroupVersionResource(apiGroup = "", apiVersion = "v1", resourcePlural = "pods")),
75-
@KubernetesInformer(
76-
apiTypeClass = V1ConfigMap.class,
77-
apiListTypeClass = V1ConfigMapList.class,
78-
namespace = "default",
79-
groupVersionResource =
80-
@GroupVersionResource(
81-
apiGroup = "",
82-
apiVersion = "v1",
83-
resourcePlural = "configmaps")),
84-
})
85-
public SharedInformerFactory testSharedInformerFactory() {
86-
return new SharedInformerFactory();
65+
public SharedIndexInformer<V1Pod> podInformer(
66+
ApiClient apiClient, SharedInformerFactory sharedInformerFactory) {
67+
GenericKubernetesApi<V1Pod, V1PodList> genericApi =
68+
new GenericKubernetesApi<>(V1Pod.class, V1PodList.class, "", "v1", "pods", apiClient);
69+
return sharedInformerFactory.sharedIndexInformerFor(genericApi, V1Pod.class, 0);
70+
}
71+
72+
@Bean
73+
public SharedIndexInformer<V1ConfigMap> configMapInformer(
74+
ApiClient apiClient, SharedInformerFactory sharedInformerFactory) {
75+
GenericKubernetesApi<V1ConfigMap, V1ConfigMapList> genericApi =
76+
new GenericKubernetesApi<>(
77+
V1ConfigMap.class, V1ConfigMapList.class, "", "v1", "configmaps", apiClient);
78+
return sharedInformerFactory.sharedIndexInformerFor(
79+
genericApi, V1ConfigMap.class, 0, "default");
8780
}
8881
}
8982

9083
@Autowired private SharedInformerFactory informerFactory;
9184

92-
@Autowired private SharedInformer<V1Pod> podInformer;
93-
94-
@Autowired private SharedInformer<V1ConfigMap> configMapInformer;
95-
96-
@Autowired private Lister<V1Pod> podLister;
85+
@Autowired private SharedIndexInformer<V1Pod> podInformer;
9786

98-
@Autowired private Lister<V1ConfigMap> configMapLister;
87+
@Autowired private SharedIndexInformer<V1ConfigMap> configMapInformer;
9988

10089
@Test
10190
public void testInformerInjection() throws InterruptedException {
10291
assertNotNull(podInformer);
10392
assertNotNull(configMapInformer);
104-
assertNotNull(podLister);
105-
assertNotNull(configMapLister);
10693

10794
V1Pod foo1 =
10895
new V1Pod().kind("Pod").metadata(new V1ObjectMeta().namespace("default").name("foo1"));
@@ -162,7 +149,7 @@ public void testInformerInjection() throws InterruptedException {
162149
getRequestedFor(urlPathEqualTo("/api/v1/namespaces/default/configmaps"))
163150
.withQueryParam("watch", equalTo("true")));
164151

165-
assertEquals(1, podLister.list().size());
166-
assertEquals(1, configMapLister.list().size());
152+
assertEquals(1, new Lister<>(podInformer.getIndexer()).list().size());
153+
assertEquals(1, new Lister<>(configMapInformer.getIndexer()).list().size());
167154
}
168155
}

spring/src/test/java/io/kubernetes/client/spring/extended/manifests/KubernetesFromConfigMapTest.java

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212
*/
1313
package io.kubernetes.client.spring.extended.manifests;
1414

15-
import static junit.framework.TestCase.assertEquals;
16-
import static junit.framework.TestCase.assertNotNull;
1715
import static org.awaitility.Awaitility.await;
16+
import static org.junit.Assert.assertEquals;
17+
import static org.junit.Assert.assertNotNull;
1818

1919
import io.kubernetes.client.openapi.models.V1ConfigMap;
2020
import io.kubernetes.client.spring.extended.manifests.annotation.FromConfigMap;
@@ -30,24 +30,18 @@
3030
import org.junit.runner.RunWith;
3131
import org.junit.runners.model.Statement;
3232
import org.springframework.beans.factory.annotation.Autowired;
33-
import org.springframework.boot.SpringBootConfiguration;
34-
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
33+
import org.springframework.boot.autoconfigure.SpringBootApplication;
3534
import org.springframework.boot.test.context.SpringBootTest;
3635
import org.springframework.context.annotation.Bean;
3736
import org.springframework.test.context.junit4.SpringRunner;
3837

3938
@RunWith(SpringRunner.class)
40-
@SpringBootTest(
41-
classes = KubernetesFromConfigMapTest.App.class,
42-
properties = {
43-
"kubernetes.manifests.refreshInterval=1s",
44-
})
39+
@SpringBootTest("kubernetes.manifests.refreshInterval=1s")
4540
public class KubernetesFromConfigMapTest {
4641

4742
@Rule public ConfigMapResetter configMapResetter = new ConfigMapResetter();
4843

49-
@SpringBootConfiguration
50-
@EnableAutoConfiguration
44+
@SpringBootApplication
5145
static class App {
5246

5347
@Bean

spring/src/test/java/io/kubernetes/client/spring/extended/manifests/KubernetesFromYamlTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
import org.springframework.test.context.junit4.SpringRunner;
2727

2828
@RunWith(SpringRunner.class)
29-
@SpringBootTest(classes = KubernetesFromYamlTest.App.class)
29+
@SpringBootTest
3030
public class KubernetesFromYamlTest {
3131

3232
@SpringBootConfiguration

spring/src/test/java/io/kubernetes/client/spring/extended/manifests/KubernetesManifestTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
import org.springframework.test.context.junit4.SpringRunner;
4747

4848
@RunWith(SpringRunner.class)
49-
@SpringBootTest(classes = KubernetesManifestTest.App.class)
49+
@SpringBootTest
5050
public class KubernetesManifestTest {
5151

5252
private static final Resource DISCOVERY_API = new ClassPathResource("discovery-api.json");

spring/src/test/java/io/kubernetes/client/spring/extended/network/KubernetesEndpointsLoadBalancerCreatorTest.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,17 +34,16 @@
3434
import org.junit.Test;
3535
import org.junit.runner.RunWith;
3636
import org.springframework.beans.factory.annotation.Autowired;
37+
import org.springframework.boot.autoconfigure.SpringBootApplication;
3738
import org.springframework.boot.test.context.SpringBootTest;
38-
import org.springframework.boot.test.context.TestConfiguration;
3939
import org.springframework.context.annotation.Bean;
40-
import org.springframework.context.annotation.Import;
4140
import org.springframework.test.context.junit4.SpringRunner;
4241

4342
@RunWith(SpringRunner.class)
4443
@SpringBootTest
45-
@Import(KubernetesEndpointsLoadBalancerCreatorTest.TestConfig.class)
4644
public class KubernetesEndpointsLoadBalancerCreatorTest {
47-
@TestConfiguration
45+
46+
@SpringBootApplication
4847
static class TestConfig {
4948
@Bean
5049
public Cache<V1Endpoints> endpointsCache() {

spring/src/test/java/io/kubernetes/client/spring/extended/network/TestApplication.java

Lines changed: 0 additions & 18 deletions
This file was deleted.

0 commit comments

Comments
 (0)