2017-06-01 3 views
0

このシナリオでは、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?

答えて

0

を取得できませんでしたこれにより、実行中のサービスに対して要求を実行し、要求/応答のやりとりがあなたのスガーガン仕様と一致することを検証できるようになります。

exampleモジュールでの使用例 - https://bitbucket.org/atlassian/swagger-request-validator/src/master/swagger-request-validator-examples/src/test/java/com/atlassian/oai/validator/examples/restassured/SwaggerValidationFilterTestExample.java(実際のサービスをスタブアウトするためにWireMockを使用していますが、実際のサービスと置き換えて使用しています)。

関連する問題