Skip to content

Commit 6db8790

Browse files
committed
Test operation security serialization
1 parent bf90b34 commit 6db8790

1 file changed

Lines changed: 37 additions & 0 deletions

File tree

modules/swagger-models/src/test/java/io/swagger/test/SimpleBuilderTest.java

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.fasterxml.jackson.annotation.JsonInclude;
44
import com.fasterxml.jackson.core.util.DefaultPrettyPrinter;
55
import com.fasterxml.jackson.databind.DeserializationFeature;
6+
import com.fasterxml.jackson.databind.JsonNode;
67
import com.fasterxml.jackson.databind.ObjectMapper;
78
import com.fasterxml.jackson.databind.SerializationFeature;
89
import io.swagger.v3.oas.models.Components;
@@ -22,13 +23,17 @@
2223
import io.swagger.v3.oas.models.parameters.QueryParameter;
2324
import io.swagger.v3.oas.models.responses.ApiResponse;
2425
import io.swagger.v3.oas.models.responses.ApiResponses;
26+
import io.swagger.v3.oas.models.security.SecurityRequirement;
27+
import io.swagger.v3.oas.models.security.SecurityScheme;
2528
import io.swagger.v3.oas.models.tags.Tag;
2629
import org.slf4j.Logger;
2730
import org.slf4j.LoggerFactory;
31+
import org.testng.Assert;
2832
import org.testng.annotations.Test;
2933

3034
import java.math.BigDecimal;
3135
import java.util.ArrayList;
36+
import java.util.Arrays;
3237
import java.util.HashMap;
3338
import java.util.Map;
3439

@@ -126,6 +131,38 @@ public void testBuilder() throws Exception {
126131
LOGGER.debug(writeJson(oai));
127132
}
128133

134+
@Test
135+
public void serializesOperationSecurityWithAnonymousAlternative() throws Exception {
136+
OpenAPI oai = new OpenAPI()
137+
.info(new Info()
138+
.title("Security alternatives")
139+
.version("1.0.0"))
140+
.components(new Components()
141+
.addSecuritySchemes("ApiKeyAuth", new SecurityScheme()
142+
.type(SecurityScheme.Type.APIKEY)
143+
.in(SecurityScheme.In.HEADER)
144+
.name("X-API-Key")))
145+
.paths(new Paths()
146+
.addPathItem("/search", new PathItem()
147+
.get(new Operation()
148+
.security(Arrays.asList(
149+
new SecurityRequirement(),
150+
new SecurityRequirement().addList("ApiKeyAuth")))
151+
.responses(new ApiResponses()
152+
.addApiResponse("200", new ApiResponse()
153+
.description("ok"))))));
154+
155+
JsonNode security = new ObjectMapper()
156+
.readTree(writeJson(oai))
157+
.at("/paths/~1search/get/security");
158+
159+
Assert.assertEquals(security.size(), 2);
160+
Assert.assertTrue(security.get(0).isObject());
161+
Assert.assertEquals(security.get(0).size(), 0);
162+
Assert.assertTrue(security.get(1).has("ApiKeyAuth"));
163+
Assert.assertEquals(security.get(1).get("ApiKeyAuth").size(), 0);
164+
}
165+
129166
public static String writeJson(Object value) throws Exception {
130167
ObjectMapper mapper = new ObjectMapper();
131168

0 commit comments

Comments
 (0)