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) {

Reply via email to