如何使用SwaggerValidator(com.atlassian.oai.validator)来验证lagom AP



好吧,我陷入了这种情况下,我想使用Swagger API来验证Lagom Service API的响应。这是一些示例代码:

@Test
public void shouldPayloadFromFileConformToSchema() throws Exception {
    // first test the plain json is valid with schema
    SwaggerRequestResponseValidator validator = SwaggerRequestResponseValidator
        .createFor("my-service-schema.yaml").build();
    final Request validRequest = SimpleRequest.Builder.get("/myService/AL20170730/11111555556161/191919")
        .withHeader("api-key", "TESTKEY")
        .build();
    Response validResponse = SimpleResponse.Builder.ok()
        .withBody(ValidatorTestUtil.loadResponse("my_service_sample_response_2017_03_16")).build();
    ValidationReport reportForText = validator.validate(validRequest, validResponse);
    logger.info(
        "shouldPayloadFromFileConformToSchema() ################# VALIDATION PAYLOAD REPORT ##################");
    reportForText.getMessages().forEach((m) -> {
        logger.info("{}", m);
    });
    assertFalse(reportForText.hasErrors());
    logger.info(
        "shouldPayloadFromFileConformToSchema() ################# VALIDATION PAYLOAD REPORT END ##################");
    logger.info(validRequest.getHeaders().toString());
    SwaggerModule swagger = new SwaggerModule();

}

此代码运行时,似乎它进入了服务(因为它打印了服务的一些日志。(,但不调用将具有给定值数据库的方法。

我需要在这里做一些事情,以调用服务的方法并根据此Swagger Spec验证响应。

我看到了此链接,但没有得到解决方案如何用Swagger验证测试中的API?

如果您想验证实际的交互对运行服务的实际交互SRC/Master/Swagger-Request-validator-restassured/(

这将使您可以针对运行服务执行请求,然后验证请求/响应互动与您的Swagger规范匹配。

在示例中有一个用途的示例模块-https://bitbucket.org/atlassian/swagger-request-request-validator/src/src/master/master/swagger-request-request-validator-examples-examples/src/src/test/java/java/comcom/atlassian/oai/validator/示例/重新安装/swaggerValidationFilterTestexample.java(请注意,那里的示例使用WireMock固定真实的服务,但是您可以用实际的运行服务来代替。

(。

相关内容

  • 没有找到相关文章

最新更新