@ShellMethod(key = "desc", value = "Describe Hoodie Table properties")
  public String descTable() {
    HoodieTableMetaClient client = HoodieCLI.getTableMetaClient();
    TableHeader header = new TableHeader().addTableHeaderField("Property").addTableHeaderField("Value");
    List<Comparable[]> rows = new ArrayList<>();
    rows.add(new Comparable[] {"basePath", client.getBasePath()});
    rows.add(new Comparable[] {"metaPath", client.getMetaPath()});
    rows.add(new Comparable[] {"fileSystem", client.getStorage().getScheme()});
    client.getTableConfig().propsMap().entrySet().forEach(e -> {
      rows.add(new Comparable[] {e.getKey(), e.getValue()});
    });
    return HoodiePrintHelper.print(header, new HashMap<>(), "", false, -1, false, rows);
  }
@Test
  public void testDescTable() {
    // Prepare table
    assertTrue(prepareTable());

    // Test desc table
    Object result = shell.evaluate(() -> "desc");
    assertTrue(ShellEvaluationResultUtil.isSuccess(result));

    // check table's basePath metaPath and type
    assertTrue(result.toString().contains(tablePath));
    assertTrue(result.toString().contains(metaPath));
    assertTrue(result.toString().contains("COPY_ON_WRITE"));
  }