From 2ddce2fdc4c1f3300a7e3902e22f4dc4528fb600 Mon Sep 17 00:00:00 2001 From: Brendan Burns Date: Mon, 28 Nov 2022 01:03:54 +0000 Subject: [PATCH] Add validation that the request body is as expected. --- .../client/extended/kubectl/KubectlLabelTest.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/extended/src/test/java/io/kubernetes/client/extended/kubectl/KubectlLabelTest.java b/extended/src/test/java/io/kubernetes/client/extended/kubectl/KubectlLabelTest.java index 154339d6bf..2de0abca72 100644 --- a/extended/src/test/java/io/kubernetes/client/extended/kubectl/KubectlLabelTest.java +++ b/extended/src/test/java/io/kubernetes/client/extended/kubectl/KubectlLabelTest.java @@ -13,8 +13,10 @@ package io.kubernetes.client.extended.kubectl; import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; +import static com.github.tomakehurst.wiremock.client.WireMock.equalToJson; import static com.github.tomakehurst.wiremock.client.WireMock.get; import static com.github.tomakehurst.wiremock.client.WireMock.getRequestedFor; +import static com.github.tomakehurst.wiremock.client.WireMock.matchingJsonPath; import static com.github.tomakehurst.wiremock.client.WireMock.put; import static com.github.tomakehurst.wiremock.client.WireMock.putRequestedFor; import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo; @@ -56,6 +58,9 @@ public void testKubectlLabelNamespacedResourceShouldWork() throws KubectlExcepti .withBody("{\"metadata\":{\"name\":\"foo\",\"namespace\":\"default\"}}"))); wireMockRule.stubFor( put(urlPathEqualTo("/api/v1/namespaces/default/pods/foo")) + .withRequestBody( + matchingJsonPath( + "$.metadata.labels", equalToJson("{ \"k1\": \"v1\", \"k2\": \"v2\" }"))) .willReturn( aResponse() .withStatus(200) @@ -85,6 +90,9 @@ public void testKubectlLabelNamespacedResourceReceiveForbiddenShouldThrowExcepti .withBody("{\"metadata\":{\"name\":\"foo\",\"namespace\":\"default\"}}"))); wireMockRule.stubFor( put(urlPathEqualTo("/api/v1/namespaces/default/pods/foo")) + .withRequestBody( + matchingJsonPath( + "$.metadata.labels", equalToJson("{ \"k1\": \"v1\", \"k2\": \"v2\" }"))) .willReturn(aResponse().withStatus(403).withBody("{\"metadata\":{}}"))); assertThrows( KubectlException.class, @@ -109,6 +117,9 @@ public void testKubectlLabelClusterResourceShouldWork() throws KubectlException .willReturn(aResponse().withStatus(200).withBody("{\"metadata\":{\"name\":\"foo\"}}"))); wireMockRule.stubFor( put(urlPathEqualTo("/api/v1/nodes/foo")) + .withRequestBody( + matchingJsonPath( + "$.metadata.labels", equalToJson("{ \"k1\": \"v1\", \"k2\": \"v2\" }"))) .willReturn(aResponse().withStatus(200).withBody("{\"metadata\":{\"name\":\"foo\"}}"))); V1Node labelledNode = Kubectl.label(V1Node.class) @@ -131,6 +142,9 @@ public void testKubectlLabelClusterResourceReceiveForbiddenShouldThrowException( .willReturn(aResponse().withStatus(200).withBody("{\"metadata\":{\"name\":\"foo\"}}"))); wireMockRule.stubFor( put(urlPathEqualTo("/api/v1/nodes/foo")) + .withRequestBody( + matchingJsonPath( + "$.metadata.labels", equalToJson("{ \"k1\": \"v1\", \"k2\": \"v2\" }"))) .willReturn(aResponse().withStatus(403).withBody("{\"metadata\":{\"name\":\"foo\"}}"))); assertThrows( KubectlException.class,