Search in sources :

Example 11 with RefModel

use of io.swagger.models.RefModel in project swagger-core by swagger-api.

the class ParameterSerializationTest method serializeRefBodyParameter.

@Test(description = "it should serialize a ref BodyParameter")
public void serializeRefBodyParameter() {
    final RefModel model = new RefModel("Cat");
    final BodyParameter p = new BodyParameter().schema(model);
    final String json = "{\"in\":\"body\",\"required\":false,\"schema\":{\"$ref\":\"#/definitions/Cat\"}}";
    SerializationMatchers.assertEqualsToJson(p, json);
}
Also used : RefModel(io.swagger.models.RefModel) BodyParameter(io.swagger.models.parameters.BodyParameter) Test(org.testng.annotations.Test)

Example 12 with RefModel

use of io.swagger.models.RefModel in project swagger-core by swagger-api.

the class SimpleReaderTest method checkResponseModelsProcessing.

@Test(description = "check response models processing")
public void checkResponseModelsProcessing() {
    Swagger swagger = getSwagger(ResourceWithTypedResponses.class);
    assertEquals(swagger.getDefinitions().keySet(), Arrays.asList("Tag"));
    for (Map.Entry<String, Path> entry : swagger.getPaths().entrySet()) {
        String name = entry.getKey().substring(entry.getKey().lastIndexOf("/") + 1);
        if ("testPrimitiveResponses".equals(name)) {
            Map<String, String[]> expected = ImmutableMap.of("400", new String[] { "string", "uri" }, "401", new String[] { "string", "url" }, "402", new String[] { "string", "uuid" }, "403", new String[] { "integer", "int64" }, "404", new String[] { "string", null });
            assertEquals(entry.getValue().getGet().getResponses().size(), expected.size());
            for (Map.Entry<String, Response> responseEntry : entry.getValue().getGet().getResponses().entrySet()) {
                String[] expectedProp = expected.get(responseEntry.getKey());
                Property property = responseEntry.getValue().getSchema();
                assertEquals(property.getType(), expectedProp[0]);
                assertEquals(property.getFormat(), expectedProp[1]);
            }
        } else {
            Operation op = entry.getValue().getGet();
            Property response = op.getResponses().get("200").getSchema();
            Model model = ((BodyParameter) op.getParameters().get(0)).getSchema();
            assertEquals(op.getParameters().size(), 1);
            if ("testObjectResponse".equals(name)) {
                assertEquals(((RefProperty) response).getSimpleRef(), "Tag");
                assertEquals(((RefModel) model).getSimpleRef(), "Tag");
            } else if ("testObjectsResponse".equals(name)) {
                assertEquals(((RefProperty) ((ArrayProperty) response).getItems()).getSimpleRef(), "Tag");
                assertEquals(((RefProperty) ((ArrayModel) model).getItems()).getSimpleRef(), "Tag");
            } else if ("testStringResponse".equals(name)) {
                assertEquals(response.getClass(), StringProperty.class);
                assertEquals(((ModelImpl) model).getType(), "string");
            } else if ("testStringsResponse".equals(name)) {
                assertEquals(((ArrayProperty) response).getItems().getClass(), StringProperty.class);
                assertEquals(((ArrayModel) model).getItems().getClass(), StringProperty.class);
            } else if ("testMapResponse".equals(name)) {
                assertEquals(((RefProperty) ((MapProperty) response).getAdditionalProperties()).getSimpleRef(), "Tag");
                assertNull(model.getProperties());
                assertEquals(((RefProperty) ((ModelImpl) model).getAdditionalProperties()).getSimpleRef(), "Tag");
            } else {
                fail(String.format("Unexpected property: %s", name));
            }
        }
    }
}
Also used : Path(io.swagger.models.Path) MapProperty(io.swagger.models.properties.MapProperty) StringProperty(io.swagger.models.properties.StringProperty) Operation(io.swagger.models.Operation) NicknamedOperation(io.swagger.resources.NicknamedOperation) BodyParameter(io.swagger.models.parameters.BodyParameter) RefProperty(io.swagger.models.properties.RefProperty) ResourceWithResponse(io.swagger.resources.ResourceWithResponse) Response(io.swagger.models.Response) Swagger(io.swagger.models.Swagger) Model(io.swagger.models.Model) ResourceWithEmptyModel(io.swagger.resources.ResourceWithEmptyModel) RefModel(io.swagger.models.RefModel) ArrayModel(io.swagger.models.ArrayModel) ModelImpl(io.swagger.models.ModelImpl) Map(java.util.Map) ImmutableMap(com.google.common.collect.ImmutableMap) StringProperty(io.swagger.models.properties.StringProperty) ArrayProperty(io.swagger.models.properties.ArrayProperty) Property(io.swagger.models.properties.Property) MapProperty(io.swagger.models.properties.MapProperty) RefProperty(io.swagger.models.properties.RefProperty) IntegerProperty(io.swagger.models.properties.IntegerProperty) Test(org.testng.annotations.Test)

Example 13 with RefModel

use of io.swagger.models.RefModel in project swagger-core by swagger-api.

the class RefModelTest method identifyRefFormats.

@Test(description = "it should correctly identify ref formats")
public void identifyRefFormats() {
    assertRefFormat(new RefModel("http://my.company.com/models/model.json"), RefFormat.URL);
    assertRefFormat(new RefModel("http://my.company.com/models/model.json#/thing"), RefFormat.URL);
    assertRefFormat(new RefModel("./models/model.json"), RefFormat.RELATIVE);
    assertRefFormat(new RefModel("./models/model.json#/thing"), RefFormat.RELATIVE);
    assertRefFormat(new RefModel("#/definitions/foo"), RefFormat.INTERNAL);
    assertRefFormat(new RefModel("foo"), RefFormat.INTERNAL);
}
Also used : RefModel(io.swagger.models.RefModel) Test(org.testng.annotations.Test)

Aggregations

RefModel (io.swagger.models.RefModel)13 Model (io.swagger.models.Model)7 BodyParameter (io.swagger.models.parameters.BodyParameter)7 Test (org.testng.annotations.Test)6 ModelImpl (io.swagger.models.ModelImpl)4 Operation (io.swagger.models.Operation)4 RefProperty (io.swagger.models.properties.RefProperty)4 StringProperty (io.swagger.models.properties.StringProperty)4 ArrayModel (io.swagger.models.ArrayModel)3 Path (io.swagger.models.Path)3 Response (io.swagger.models.Response)3 Swagger (io.swagger.models.Swagger)3 ArrayProperty (io.swagger.models.properties.ArrayProperty)3 IntegerProperty (io.swagger.models.properties.IntegerProperty)3 Property (io.swagger.models.properties.Property)3 HashMap (java.util.HashMap)3 ComposedModel (io.swagger.models.ComposedModel)2 PathParameter (io.swagger.models.parameters.PathParameter)2 QueryParameter (io.swagger.models.parameters.QueryParameter)2 LongProperty (io.swagger.models.properties.LongProperty)2