public static RegisterTableRequest fromJson(String json) {
    return JsonUtil.parse(json, RegisterTableRequestParser::fromJson);
  }
@Test
  public void missingFields() {
    assertThatThrownBy(() -> RegisterTableRequestParser.fromJson("{}"))
        .isInstanceOf(IllegalArgumentException.class)
        .hasMessage("Cannot parse missing string: name");

    assertThatThrownBy(() -> RegisterTableRequestParser.fromJson("{\"name\" : \"test_tbl\"}"))
        .isInstanceOf(IllegalArgumentException.class)
        .hasMessage("Cannot parse missing string: metadata-location");

    assertThatThrownBy(
            () ->
                RegisterTableRequestParser.fromJson(
                    "{\"metadata-location\" : \"file://tmp/NS/test_tbl/metadata/00000-d4f60d2f-2ad2-408b-8832-0ed7fbd851ee.metadata.json\"}"))
        .isInstanceOf(IllegalArgumentException.class)
        .hasMessage("Cannot parse missing string: name");
  }