Skip to content

Commit 53fab12

Browse files
committed
feat!: Removed MockWebServer deprecated methods
1 parent 8d508c7 commit 53fab12

File tree

15 files changed

+79
-165
lines changed

15 files changed

+79
-165
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
#### Bugs
66

77
#### Improvements
8+
* Fix #3562: Kubernetes Mock Server improvements
89

910
#### Dependency Upgrade
1011
* Fix #3562: Bump MockWebServer

extensions/camel-k/mock/src/main/java/io/fabric8/camelk/mock/CamelKServer.java

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,28 +15,25 @@
1515
*/
1616
package io.fabric8.camelk.mock;
1717

18+
import io.fabric8.camelk.client.CamelKClient;
1819
import io.fabric8.kubernetes.client.server.mock.KubernetesCrudDispatcher;
1920
import io.fabric8.mockwebserver.Context;
20-
import io.fabric8.mockwebserver.ServerRequest;
21-
import io.fabric8.mockwebserver.ServerResponse;
2221
import io.fabric8.mockwebserver.dsl.MockServerExpectation;
23-
import io.fabric8.camelk.client.CamelKClient;
2422
import okhttp3.mockwebserver.MockWebServer;
2523
import org.junit.rules.ExternalResource;
2624

2725
import java.util.HashMap;
28-
import java.util.Queue;
2926

3027
public class CamelKServer extends ExternalResource {
3128

3229
protected CamelKMockServer mock;
3330
private CamelKClient client;
3431

35-
private boolean https;
32+
private final boolean https;
3633
// In this mode the mock web server will store, read, update and delete
3734
// kubernetes resources using an in memory map and will appear as a real api
3835
// server.
39-
private boolean crudMode;
36+
private final boolean crudMode;
4037

4138
public CamelKServer() {
4239
this(true, false);
@@ -51,6 +48,7 @@ public CamelKServer(boolean https, boolean crudMode) {
5148
this.crudMode = crudMode;
5249
}
5350

51+
@Override
5452
public void before() {
5553
mock = crudMode
5654
? new CamelKMockServer(new Context(), new MockWebServer(), new HashMap<>(), new KubernetesCrudDispatcher(), true)
@@ -59,6 +57,7 @@ public void before() {
5957
client = mock.createCamelKClient();
6058
}
6159

60+
@Override
6261
public void after() {
6362
mock.destroy();
6463
client.close();
@@ -83,8 +82,4 @@ public <T> void expectAndReturnAsJson(String path, int code, T body) {
8382
public void expectAndReturnAsString(String path, int code, String body) {
8483
expect().withPath(path).andReturn(code, body).always();
8584
}
86-
87-
public MockWebServer getMockServer() {
88-
return mock.getServer();
89-
}
9085
}

extensions/certmanager/mock/src/main/java/io/fabric8/certmanager/server/mock/CertManagerServer.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,28 +15,25 @@
1515
*/
1616
package io.fabric8.certmanager.server.mock;
1717

18+
import io.fabric8.certmanager.client.CertManagerClient;
1819
import io.fabric8.kubernetes.client.server.mock.KubernetesCrudDispatcher;
1920
import io.fabric8.mockwebserver.Context;
20-
import io.fabric8.mockwebserver.ServerRequest;
21-
import io.fabric8.mockwebserver.ServerResponse;
2221
import io.fabric8.mockwebserver.dsl.MockServerExpectation;
23-
import io.fabric8.certmanager.client.CertManagerClient;
2422
import okhttp3.mockwebserver.MockWebServer;
2523
import org.junit.rules.ExternalResource;
2624

2725
import java.util.HashMap;
28-
import java.util.Queue;
2926

3027
public class CertManagerServer extends ExternalResource {
3128

3229
protected CertManagerMockServer mock;
3330
private CertManagerClient client;
3431

35-
private boolean https;
32+
private final boolean https;
3633
// In this mode the mock web server will store, read, update and delete
3734
// kubernetes resources using an in memory map and will appear as a real api
3835
// server.
39-
private boolean crudMode;
36+
private final boolean crudMode;
4037

4138
public CertManagerServer() {
4239
this(true, false);
@@ -51,6 +48,7 @@ public CertManagerServer(boolean https, boolean crudMode) {
5148
this.crudMode = crudMode;
5249
}
5350

51+
@Override
5452
public void before() {
5553
mock = crudMode
5654
? new CertManagerMockServer(new Context(), new MockWebServer(), new HashMap<>(), new KubernetesCrudDispatcher(), true)
@@ -59,6 +57,7 @@ public void before() {
5957
client = mock.createCertManager();
6058
}
6159

60+
@Override
6261
public void after() {
6362
mock.destroy();
6463
client.close();

extensions/knative/mock/src/main/java/io/fabric8/knative/mock/KnativeServer.java

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,28 +15,25 @@
1515
*/
1616
package io.fabric8.knative.mock;
1717

18+
import io.fabric8.knative.client.KnativeClient;
1819
import io.fabric8.kubernetes.client.server.mock.KubernetesCrudDispatcher;
1920
import io.fabric8.mockwebserver.Context;
20-
import io.fabric8.mockwebserver.ServerRequest;
21-
import io.fabric8.mockwebserver.ServerResponse;
2221
import io.fabric8.mockwebserver.dsl.MockServerExpectation;
23-
import io.fabric8.knative.client.KnativeClient;
2422
import okhttp3.mockwebserver.MockWebServer;
2523
import org.junit.rules.ExternalResource;
2624

2725
import java.util.HashMap;
28-
import java.util.Queue;
2926

3027
public class KnativeServer extends ExternalResource {
3128

3229
protected KnativeMockServer mock;
3330
private KnativeClient client;
3431

35-
private boolean https;
32+
private final boolean https;
3633
// In this mode the mock web server will store, read, update and delete
3734
// kubernetes resources using an in memory map and will appear as a real api
3835
// server.
39-
private boolean crudMode;
36+
private final boolean crudMode;
4037

4138
public KnativeServer() {
4239
this(true, false);
@@ -51,6 +48,7 @@ public KnativeServer(boolean https, boolean crudMode) {
5148
this.crudMode = crudMode;
5249
}
5350

51+
@Override
5452
public void before() {
5553
mock = crudMode
5654
? new KnativeMockServer(new Context(), new MockWebServer(), new HashMap<>(), new KubernetesCrudDispatcher(), true)
@@ -59,17 +57,16 @@ public void before() {
5957
client = mock.createKnative();
6058
}
6159

60+
@Override
6261
public void after() {
6362
mock.destroy();
6463
client.close();
6564
}
6665

67-
6866
public KnativeClient getKnativeClient() {
6967
return client;
7068
}
7169

72-
7370
public MockServerExpectation expect() {
7471
return mock.expect();
7572
}
@@ -83,8 +80,4 @@ public <T> void expectAndReturnAsJson(String path, int code, T body) {
8380
public void expectAndReturnAsString(String path, int code, String body) {
8481
expect().withPath(path).andReturn(code, body).always();
8582
}
86-
87-
public MockWebServer getMockServer() {
88-
return mock.getServer();
89-
}
9083
}

extensions/service-catalog/mock/src/main/java/io/fabric8/servicecatalog/server/mock/ServiceCatalogServer.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,11 @@ public class ServiceCatalogServer extends ExternalResource {
3232
protected ServiceCatalogMockServer mock;
3333
private ServiceCatalogClient client;
3434

35-
private boolean https;
35+
private final boolean https;
3636
// In this mode the mock web server will store, read, update and delete
3737
// kubernetes resources using an in memory map and will appear as a real api
3838
// server.
39-
private boolean crudMode;
39+
private final boolean crudMode;
4040

4141
public ServiceCatalogServer() {
4242
this(true, false);
@@ -51,6 +51,7 @@ public ServiceCatalogServer(boolean https, boolean crudMode) {
5151
this.crudMode = crudMode;
5252
}
5353

54+
@Override
5455
public void before() {
5556
mock = crudMode
5657
? new ServiceCatalogMockServer(new Context(), new MockWebServer(), new HashMap<>(), new KubernetesCrudDispatcher(), true)
@@ -59,12 +60,12 @@ public void before() {
5960
client = mock.createServiceCatalog();
6061
}
6162

63+
@Override
6264
public void after() {
6365
mock.destroy();
6466
client.close();
6567
}
6668

67-
6869
public ServiceCatalogClient getServiceCatalogClient() {
6970
return client;
7071
}
@@ -83,8 +84,4 @@ public <T> void expectAndReturnAsJson(String path, int code, T body) {
8384
public void expectAndReturnAsString(String path, int code, String body) {
8485
expect().withPath(path).andReturn(code, body).always();
8586
}
86-
87-
public MockWebServer getMockServer() {
88-
return mock.getServer();
89-
}
9087
}

extensions/tekton/mock/src/main/java/io/fabric8/tekton/mock/TektonServer.java

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,26 +17,23 @@
1717

1818
import io.fabric8.kubernetes.client.server.mock.KubernetesCrudDispatcher;
1919
import io.fabric8.mockwebserver.Context;
20-
import io.fabric8.mockwebserver.ServerRequest;
21-
import io.fabric8.mockwebserver.ServerResponse;
2220
import io.fabric8.mockwebserver.dsl.MockServerExpectation;
2321
import io.fabric8.tekton.client.TektonClient;
2422
import okhttp3.mockwebserver.MockWebServer;
2523
import org.junit.rules.ExternalResource;
2624

2725
import java.util.HashMap;
28-
import java.util.Queue;
2926

3027
public class TektonServer extends ExternalResource {
3128

3229
protected TektonMockServer mock;
3330
private TektonClient client;
3431

35-
private boolean https;
32+
private final boolean https;
3633
// In this mode the mock web server will store, read, update and delete
3734
// kubernetes resources using an in memory map and will appear as a real api
3835
// server.
39-
private boolean crudMode;
36+
private final boolean crudMode;
4037

4138
public TektonServer() {
4239
this(true, false);
@@ -51,6 +48,7 @@ public TektonServer(boolean https, boolean crudMode) {
5148
this.crudMode = crudMode;
5249
}
5350

51+
@Override
5452
public void before() {
5553
mock = crudMode
5654
? new TektonMockServer(new Context(), new MockWebServer(), new HashMap<>(), new KubernetesCrudDispatcher(), true)
@@ -59,6 +57,7 @@ public void before() {
5957
client = mock.createTekton();
6058
}
6159

60+
@Override
6261
public void after() {
6362
mock.destroy();
6463
client.close();
@@ -69,7 +68,6 @@ public TektonClient getTektonClient() {
6968
return client;
7069
}
7170

72-
7371
public MockServerExpectation expect() {
7472
return mock.expect();
7573
}
@@ -83,8 +81,4 @@ public <T> void expectAndReturnAsJson(String path, int code, T body) {
8381
public void expectAndReturnAsString(String path, int code, String body) {
8482
expect().withPath(path).andReturn(code, body).always();
8583
}
86-
87-
public MockWebServer getMockServer() {
88-
return mock.getServer();
89-
}
9084
}

kubernetes-client/src/test/java/io/fabric8/kubernetes/server/mock/KubernetesMockServer.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020
import io.fabric8.kubernetes.client.ConfigBuilder;
2121
import io.fabric8.kubernetes.client.DefaultKubernetesClient;
2222
import io.fabric8.kubernetes.client.NamespacedKubernetesClient;
23+
import io.fabric8.kubernetes.client.utils.Serialization;
2324
import io.fabric8.mockwebserver.Context;
24-
import io.fabric8.mockwebserver.ContextBuilder;
2525
import io.fabric8.mockwebserver.DefaultMockServer;
2626
import io.fabric8.mockwebserver.ServerRequest;
2727
import io.fabric8.mockwebserver.ServerResponse;
@@ -38,15 +38,14 @@
3838
// The class has moved under mvn:io.fabric8:kubernetes-server-mock in package: io.fabric8.client.server.mock
3939
public class KubernetesMockServer extends DefaultMockServer {
4040

41-
private static final Context context = new ContextBuilder()
42-
.build();
41+
private static final Context context = new Context(Serialization.jsonMapper());
4342

4443
public KubernetesMockServer() {
4544
this(true);
4645
}
4746

4847
public KubernetesMockServer(boolean useHttps) {
49-
this(new MockWebServer(), new HashMap(), useHttps);
48+
this(new MockWebServer(), new HashMap<>(), useHttps);
5049
}
5150

5251
public KubernetesMockServer(MockWebServer server, Map<ServerRequest, Queue<ServerResponse>> responses, boolean useHttps) {

kubernetes-client/src/test/java/io/fabric8/kubernetes/server/mock/KubernetesServer.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,14 @@
1717

1818
import io.fabric8.kubernetes.client.NamespacedKubernetesClient;
1919
import io.fabric8.mockwebserver.dsl.MockServerExpectation;
20-
import okhttp3.mockwebserver.MockWebServer;
2120
import org.junit.rules.ExternalResource;
2221

2322
@Deprecated
2423
// The class has moved under mvn:io.fabric8:kubernetes-server-mock in package: io.fabric8.client.server.mock
2524
public class KubernetesServer extends ExternalResource {
2625
private KubernetesMockServer mock;
2726
private NamespacedKubernetesClient client;
28-
private boolean https;
27+
private final boolean https;
2928

3029
public KubernetesServer() {
3130
this(true);
@@ -70,8 +69,4 @@ public <T> void expectAndReturnAsJson(String method, String path, int code, T bo
7069
public void expectAndReturnAsString(String method, String path, int code, String body) {
7170
expect().withPath(path).andReturn(code, body).always();
7271
}
73-
74-
public MockWebServer getMockServer() {
75-
return mock.getServer();
76-
}
7772
}

kubernetes-server-mock/src/main/java/io/fabric8/kubernetes/client/server/mock/CustomResourceDefinitionProcessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public class CustomResourceDefinitionProcessor {
3030
private static final String V1BETA1_PATH = "/apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions";
3131
private static final String V1_PATH = "/apis/apiextensions.k8s.io/v1/customresourcedefinitions";
3232

33-
private KubernetesAttributesExtractor extractor;
33+
private final KubernetesAttributesExtractor extractor;
3434

3535
public CustomResourceDefinitionProcessor(KubernetesAttributesExtractor extractor) {
3636
this.extractor = extractor;

kubernetes-server-mock/src/main/java/io/fabric8/kubernetes/client/server/mock/KubernetesAttributesExtractor.java

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
import static io.fabric8.mockwebserver.crud.AttributeType.NOT_EXISTS;
4545
import static io.fabric8.mockwebserver.crud.AttributeType.WITHOUT;
4646

47-
public class KubernetesAttributesExtractor implements AttributeExtractor<HasMetadata> {
47+
public class KubernetesAttributesExtractor implements AttributeExtractor {
4848

4949
private static final Logger LOGGER = LoggerFactory.getLogger(KubernetesAttributesExtractor.class);
5050

@@ -88,7 +88,7 @@ public class KubernetesAttributesExtractor implements AttributeExtractor<HasMeta
8888
private static final String SCHEME = "http";
8989
private static final String HOST = "localhost";
9090

91-
private Map<List<String>, CustomResourceDefinitionContext> crdContexts;
91+
private final Map<List<String>, CustomResourceDefinitionContext> crdContexts;
9292

9393
public KubernetesAttributesExtractor() {
9494
this(Collections.emptyList());
@@ -160,12 +160,6 @@ public AttributeSet fromResource(String s) {
160160
return new AttributeSet();
161161
}
162162

163-
@Override
164-
public AttributeSet extract(String s) {
165-
return fromPath(s);
166-
}
167-
168-
@Override
169163
public AttributeSet extract(HasMetadata hasMetadata) {
170164
AttributeSet metadataAttributes = new AttributeSet();
171165
String apiVersion = hasMetadata.getApiVersion();

0 commit comments

Comments
 (0)