This is an automated email from the ASF dual-hosted git repository. jasonhuynh pushed a commit to branch support/1.13 in repository https://gitbox.apache.org/repos/asf/geode.git
commit da8b98a5696a249f3424873957ac4d29e4d9fa95 Author: Joris Melchior <joris.melch...@gmail.com> AuthorDate: Wed Jun 24 20:21:20 2020 -0400 Add JQ testing for disk-store controller (cherry picked from commit c68479d2f36dacdecbedb9980fb84cc9ece1771d) --- .../management/JQFilterVerificationDUnitTest.java | 34 +++++++++++++++++++++- .../rest/controllers/DiskStoreController.java | 2 +- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/geode-assembly/src/distributedTest/java/org/apache/geode/management/JQFilterVerificationDUnitTest.java b/geode-assembly/src/distributedTest/java/org/apache/geode/management/JQFilterVerificationDUnitTest.java index 26fe9f4..e57fd1a 100644 --- a/geode-assembly/src/distributedTest/java/org/apache/geode/management/JQFilterVerificationDUnitTest.java +++ b/geode-assembly/src/distributedTest/java/org/apache/geode/management/JQFilterVerificationDUnitTest.java @@ -18,6 +18,7 @@ package org.apache.geode.management; import static org.assertj.core.api.Assertions.assertThat; import java.io.IOException; +import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.Map; @@ -36,6 +37,8 @@ import org.junit.Test; import org.apache.geode.management.api.ClusterManagementService; import org.apache.geode.management.client.ClusterManagementServiceBuilder; +import org.apache.geode.management.configuration.DiskDir; +import org.apache.geode.management.configuration.DiskStore; import org.apache.geode.management.configuration.Index; import org.apache.geode.management.configuration.IndexType; import org.apache.geode.management.configuration.Region; @@ -59,7 +62,7 @@ public class JQFilterVerificationDUnitTest { public static RequiresGeodeHome requiresGeodeHome = new RequiresGeodeHome(); private static GeodeDevRestClient client; - private static Map<String, JsonNode> apiWithJQFilters = new HashMap<>(); + private static final Map<String, JsonNode> apiWithJQFilters = new HashMap<>(); private static JqLibrary library; @BeforeClass @@ -80,6 +83,12 @@ public class JQFilterVerificationDUnitTest { index1.setIndexType(IndexType.RANGE); cms.create(index1); + DiskStore diskStore = new DiskStore(); + diskStore.setName("diskstore1"); + DiskDir diskDir = new DiskDir("./diskDir", null); + diskStore.setDirectories(Collections.singletonList(diskDir)); + cms.create(diskStore); + client = new GeodeDevRestClient("/management", "localhost", locator.getHttpPort(), false); JsonNode jsonObject = client.doGetAndAssert("/v1/api-docs").getJsonObject().get("paths"); @@ -181,4 +190,27 @@ public class JQFilterVerificationDUnitTest { System.out.println("JQ output: " + response.getOutput()); Assertions.assertThat(response.getOutput()).contains("\"name\": \"index1\""); } + + @Test + public void listDiskStores() throws Exception { + String uri = "/v1/diskstores"; + JqResponse response = + getJqResponse(uri, apiWithJQFilters.remove(uri).get("jqFilter").textValue()); + Assertions.assertThat(response.hasErrors()).isFalse(); + System.out.println("JQ output: " + response.getOutput()); + Assertions.assertThat(response.getOutput()).contains("\"Member\": \"server-1\""); + Assertions.assertThat(response.getOutput()).contains("\"Disk Store Name\": \"diskstore1\""); + } + + @Test + public void getDiskStore() throws Exception { + String uri = "/v1/diskstores/diskstore1"; + JqResponse response = + getJqResponse(uri, apiWithJQFilters.remove("/v1/diskstores/{id}").get("jqFilter").textValue()); + response.getErrors().forEach(System.out::println); + Assertions.assertThat(response.hasErrors()).isFalse(); + System.out.println("JQ output: " + response.getOutput()); + Assertions.assertThat(response.getOutput()).contains("\"Member\": \"server-1\""); + Assertions.assertThat(response.getOutput()).contains("\"Disk Store Name\": \"diskstore1\""); + } } diff --git a/geode-web-management/src/main/java/org/apache/geode/management/internal/rest/controllers/DiskStoreController.java b/geode-web-management/src/main/java/org/apache/geode/management/internal/rest/controllers/DiskStoreController.java index 0298e5e..b83144a 100644 --- a/geode-web-management/src/main/java/org/apache/geode/management/internal/rest/controllers/DiskStoreController.java +++ b/geode-web-management/src/main/java/org/apache/geode/management/internal/rest/controllers/DiskStoreController.java @@ -86,7 +86,7 @@ public class DiskStoreController extends AbstractManagementController { @ApiOperation(value = "get disk-store", extensions = {@Extension(properties = { @ExtensionProperty(name = "jqFilter", - value = ".result[] | .groups[] | .runtimeInfo[] + .configuration | {Member:.memberName,\"Disk Store Name\":.name}")})}) + value = ".result | .groups[] | .runtimeInfo[] + .configuration | {Member:.memberName,\"Disk Store Name\":.name}")})}) @GetMapping(DISK_STORE_CONFIG_ENDPOINT + "/{id}") public ClusterManagementGetResult<DiskStore, DiskStoreInfo> getDiskStore( @PathVariable(name = "id") String id) {