ReaderTest.java
package io.swagger.v3.java17.Reader;
import io.swagger.v3.java17.matchers.SerializationMatchers;
import io.swagger.v3.java17.resources.JavaRecordWithPathResource;
import io.swagger.v3.java17.resources.OtherJavaRecordWithPathsResource;
import io.swagger.v3.java17.resources.TestControllerWithRecordResource;
import io.swagger.v3.jaxrs2.Reader;
import io.swagger.v3.oas.integration.SwaggerConfiguration;
import io.swagger.v3.oas.models.OpenAPI;
import org.testng.annotations.Test;
import java.util.HashSet;
import java.util.Set;
public class ReaderTest {
@Test
public void TestJavaRecordRef(){
Reader reader = new Reader(new SwaggerConfiguration().openAPI(new OpenAPI()).openAPI31(true));
OpenAPI openAPI = reader.read(TestControllerWithRecordResource.class);
String yaml = "openapi: 3.1.0\n" +
"paths:\n" +
" /v17:\n" +
" post:\n" +
" operationId: opsRecordID\n" +
" responses:\n" +
" default:\n" +
" description: Successful operation\n" +
" content:\n" +
" application/json:\n" +
" schema:\n" +
" $ref: '#/components/schemas/JavaRecordResource'\n" +
"components:\n" +
" schemas:\n" +
" JavaRecordResource:\n" +
" type: object\n" +
" properties:\n" +
" test:\n" +
" type: string\n" +
" description: Testing of Java Record Processing\n" +
" isLatest:\n" +
" type: boolean\n" +
" id:\n" +
" type: string\n" +
" age:\n" +
" type: integer\n" +
" format: int32";
SerializationMatchers.assertEqualsToYaml31(openAPI, yaml);
}
@Test
public void TestSetOfRecords(){
Set<Class<?>> classes = new HashSet<>();
classes.add(JavaRecordWithPathResource.class);
classes.add(OtherJavaRecordWithPathsResource.class);
Reader reader = new Reader(new OpenAPI());
OpenAPI openAPI = reader.read(classes);
String yaml = "openapi: 3.0.1\n" +
"paths:\n" +
" /sample/1:\n" +
" post:\n" +
" description: description 1\n" +
" operationId: id 1\n" +
" responses:\n" +
" default:\n" +
" description: default response\n" +
" content:\n" +
" '*/*': {}\n" +
" /sample/2:\n" +
" post:\n" +
" description: description 2\n" +
" operationId: id 2\n" +
" responses:\n" +
" default:\n" +
" description: default response\n" +
" content:\n" +
" '*/*': {}\n" +
" /sample2:\n" +
" get:\n" +
" description: description\n" +
" operationId: Operation Id\n" +
" responses:\n" +
" default:\n" +
" description: default response\n" +
" content:\n" +
" '*/*': {}\n" +
" security:\n" +
" - security_key:\n" +
" - write:pets\n" +
" - read:pets\n" +
" /sample2/2:\n" +
" get:\n" +
" description: description 2\n" +
" operationId: Operation Id 2\n" +
" responses:\n" +
" default:\n" +
" description: default response\n" +
" content:\n" +
" '*/*': {}\n" +
" security:\n" +
" - security_key2:\n" +
" - write:pets\n" +
" - read:pets";
SerializationMatchers.assertEqualsToYaml(openAPI, yaml);
}
}