Skip to content

Commit 99b9bd7

Browse files
stephenokeefeItneet
authored andcommitted
Add open api validation test
1 parent c580d52 commit 99b9bd7

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed

build.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -515,6 +515,8 @@ dependencies {
515515

516516
testImplementation group: 'org.jeasy', name: 'easy-random-core', version: '5.0.0'
517517

518+
integrationTestImplementation 'com.atlassian.oai:swagger-request-validator-core:2.46.0'
519+
518520
compileJava.dependsOn = openApiGenerateTaskList
519521
}
520522

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package uk.gov.hmcts.darts.transcriptions.api;
2+
3+
import com.atlassian.oai.validator.OpenApiInteractionValidator;
4+
import com.atlassian.oai.validator.model.Request;
5+
import com.atlassian.oai.validator.model.SimpleRequest;
6+
import com.atlassian.oai.validator.report.ValidationReport;
7+
import lombok.extern.slf4j.Slf4j;
8+
import org.junit.jupiter.api.Test;
9+
10+
import static org.junit.jupiter.api.Assertions.assertTrue;
11+
12+
@Slf4j
13+
class TranscriptionOpenApiContractTest {
14+
15+
private static final OpenApiInteractionValidator VALIDATOR =
16+
OpenApiInteractionValidator.createForSpecificationUrl(
17+
TranscriptionOpenApiContractTest.class
18+
.getResource("/openapi/transcriptions.yaml")
19+
.toExternalForm()
20+
).build();
21+
22+
@Test
23+
void negativeTranscriptionId() {
24+
Request request = SimpleRequest.Builder
25+
.get("/transcriptions/-1/document")
26+
.build();
27+
28+
ValidationReport report = VALIDATOR.validateRequest(request);
29+
30+
assertTrue(report.hasErrors());
31+
report.getMessages().forEach(m -> log.info(m.getMessage()));
32+
}
33+
}

0 commit comments

Comments
 (0)