5.4. 使用 Maven 插件测试模式和 API 工件

您可能需要验证能否注册工件,而无需实际进行任何更改。这在 Service Registry 中配置规则时通常很有用。测试工件会导致在工件内容违反任何配置的规则时失败。

注意

当使用 Maven 插件测试工件时,即使工件通过测试,也不会将任何内容添加到 Service Registry。

先决条件

  • 必须在您的环境中安装并运行 Service Registry

流程

更新您的 Maven pom.xml 文件,以使用 apicurio-registry-maven-plugin 测试工件。以下示例显示了测试 Apache Avro 模式:

<plugin>
  <groupId>io.apicurio</groupId>
  <artifactId>apicurio-registry-maven-plugin</artifactId>
  <version>${apicurio.version}</version>
  <executions>
      <execution>
        <phase>generate-sources</phase>
        <goals>
            <goal>test-update</goal>  1
        </goals>
        <configuration>
            <registryUrl>MY-REGISTRY-URL/apis/registry/v2</registryUrl> 2
            <authServerUrl>MY-AUTH-SERVER</authServerUrl>
            <clientId>MY-CLIENT-ID</clientId>
            <clientSecret>MY-CLIENT-SECRET</clientSecret> 3
            <artifacts>
                <artifact>
                    <groupId>TestGroup</groupId> 4
                    <artifactId>FullNameRecord</artifactId>
                    <file>${project.basedir}/src/main/resources/schemas/record.avsc</file> 5
                </artifact>
                <artifact>
                    <groupId>TestGroup</groupId>
                    <artifactId>ExampleAPI</artifactId>
                    <type>GRAPHQL</type>
                    <file>${project.basedir}/src/main/resources/apis/example.graphql</file>
                </artifact>
            </artifacts>
        </configuration>
    </execution>
  </executions>
 </plugin>
  1. 指定 test-update 作为测试 schema 工件的执行目的。
  2. 使用 ../apis/registry/v2 端点指定 Service Registry URL。
  3. 如果需要身份验证,您可以指定身份验证服务器和客户端凭证。
  4. 指定 Service Registry 工件组 ID。如果您不想使用唯一组,您可以指定 default 组。
  5. 您可以使用工件 ID 从指定目录中测试多个工件。