このシナリオでは、Swagger APIを使用してLagom Service APIの応答を検証したいと思っています。 (。それはサービスのいくつかのログを出力として): ここではいくつかのサンプルコードです。このコードは、サービスに入ると思われ実行されるとSwaggerValidator(com.atlassian.oai.validator)を使用してLagom 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();
}
ではなく、メソッドを呼び出しているだろう与えられた値を使用してデータベース。
ここでは、サービスのメソッドを呼び出し、このスウィガー仕様に基づいて応答を検証する必要があります。
私は、このリンクを見ていますが、私はRestAssuredモジュール(https://bitbucket.org/atlassian/swagger-request-validator/src/master/swagger-request-validator-restassured/)
を使用することをお勧めしたいあなたの実行中のサービスに対する実際の相互作用を検証するために探しているなら解決How to validate API in tests with Swagger?