Search in sources :

Example 46 with Model

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

the class PostParamTest method findPostOperationWithObjectsList.

@Test(description = "find a Post operation with list of objects")
public void findPostOperationWithObjectsList() {
    Path petPath = getPath("listOfObjects");
    assertNotNull(petPath);
    Operation petPost = petPath.getPost();
    assertNotNull(petPost);
    assertEquals(petPost.getParameters().size(), 1);
    BodyParameter petPostBodyParam = (BodyParameter) petPost.getParameters().get(0);
    assertEquals(petPostBodyParam.getName(), BODY);
    Model inputModel = petPostBodyParam.getSchema();
    assertTrue(inputModel instanceof ArrayModel);
    ArrayModel ap = (ArrayModel) inputModel;
    Property inputSchema = ap.getItems();
    assertTrue(inputSchema instanceof RefProperty);
    RefProperty rm = (RefProperty) inputSchema;
    assertEquals(rm.getSimpleRef(), PET);
}
Also used : Path(io.swagger.models.Path) Model(io.swagger.models.Model) ArrayModel(io.swagger.models.ArrayModel) Operation(io.swagger.models.Operation) BodyParameter(io.swagger.models.parameters.BodyParameter) ArrayModel(io.swagger.models.ArrayModel) StringProperty(io.swagger.models.properties.StringProperty) RefProperty(io.swagger.models.properties.RefProperty) Property(io.swagger.models.properties.Property) RefProperty(io.swagger.models.properties.RefProperty) Test(org.testng.annotations.Test)

Example 47 with Model

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

the class PostParamTest method findPostOperationWithSingleObject.

@Test(description = "find a Post operation with single object")
public void findPostOperationWithSingleObject() {
    Path petPath = getPath("singleObject");
    assertNotNull(petPath);
    assertNull(petPath.getGet());
    Operation petPost = petPath.getPost();
    assertNotNull(petPost);
    assertEquals(petPost.getParameters().size(), 1);
    BodyParameter petPostBodyParam = (BodyParameter) petPost.getParameters().get(0);
    assertEquals(petPostBodyParam.getName(), BODY);
    assertTrue(petPostBodyParam.getSchema() instanceof Model);
    assertEquals(swagger.getDefinitions().get(PET).getProperties().get("status").getAccess(), "public");
}
Also used : Path(io.swagger.models.Path) Model(io.swagger.models.Model) ArrayModel(io.swagger.models.ArrayModel) Operation(io.swagger.models.Operation) BodyParameter(io.swagger.models.parameters.BodyParameter) Test(org.testng.annotations.Test)

Example 48 with Model

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

the class ChildTypeTest method testChildTypeParameter.

@Test(description = "Tests schema ref is correctly set up for child type parameter")
public void testChildTypeParameter() {
    Operation op = swagger.getPath("/childType/testChildTypeParameter").getPost();
    BodyParameter parameter = getBodyParameter(op, 0);
    Model schema = parameter.getSchema();
    assertEquals(schema.getClass().getName(), RefModel.class.getName());
    assertEquals(((RefModel) schema).getSimpleRef(), "Sub1Bean");
}
Also used : RefModel(io.swagger.models.RefModel) RefModel(io.swagger.models.RefModel) Model(io.swagger.models.Model) Operation(io.swagger.models.Operation) BodyParameter(io.swagger.models.parameters.BodyParameter) Test(org.testng.annotations.Test)

Example 49 with Model

use of io.swagger.models.Model in project camel by apache.

the class RestSwaggerReader method appendModels.

/**
     * If the class is annotated with swagger annotations its parsed into a Swagger model representation
     * which is added to swagger
     *
     * @param clazz   the class such as pojo with swagger annotation
     * @param swagger the swagger model
     */
private void appendModels(Class clazz, Swagger swagger) {
    RestModelConverters converters = new RestModelConverters();
    final Map<String, Model> models = converters.readClass(clazz);
    for (Map.Entry<String, Model> entry : models.entrySet()) {
        // favor keeping any existing model that has the vendor extension in the model
        boolean oldExt = false;
        if (swagger.getDefinitions() != null && swagger.getDefinitions().get(entry.getKey()) != null) {
            Model oldModel = swagger.getDefinitions().get(entry.getKey());
            if (oldModel.getVendorExtensions() != null && !oldModel.getVendorExtensions().isEmpty()) {
                oldExt = oldModel.getVendorExtensions().get("x-className") != null;
            }
        }
        if (!oldExt) {
            swagger.model(entry.getKey(), entry.getValue());
        }
    }
}
Also used : Model(io.swagger.models.Model) RefModel(io.swagger.models.RefModel) ArrayModel(io.swagger.models.ArrayModel) Map(java.util.Map)

Example 50 with Model

use of io.swagger.models.Model in project camel by apache.

the class RestSwaggerReader method modelTypeAsRef.

private String modelTypeAsRef(String typeName, Swagger swagger) {
    boolean array = typeName.endsWith("[]");
    if (array) {
        typeName = typeName.substring(0, typeName.length() - 2);
    }
    Model model = asModel(typeName, swagger);
    if (model != null) {
        typeName = ((ModelImpl) model).getName();
        return typeName;
    }
    return null;
}
Also used : Model(io.swagger.models.Model) RefModel(io.swagger.models.RefModel) ArrayModel(io.swagger.models.ArrayModel)

Aggregations

Model (io.swagger.models.Model)108 Test (org.testng.annotations.Test)90 Property (io.swagger.models.properties.Property)52 StringProperty (io.swagger.models.properties.StringProperty)34 ArrayModel (io.swagger.models.ArrayModel)30 ArrayProperty (io.swagger.models.properties.ArrayProperty)27 ModelImpl (io.swagger.models.ModelImpl)24 RefProperty (io.swagger.models.properties.RefProperty)23 RefModel (io.swagger.models.RefModel)20 ApiModelProperty (io.swagger.annotations.ApiModelProperty)19 ApiModel (io.swagger.annotations.ApiModel)16 BodyParameter (io.swagger.models.parameters.BodyParameter)15 IntegerProperty (io.swagger.models.properties.IntegerProperty)15 Operation (io.swagger.models.Operation)14 MapProperty (io.swagger.models.properties.MapProperty)14 Path (io.swagger.models.Path)13 LongProperty (io.swagger.models.properties.LongProperty)13 ComposedModel (io.swagger.models.ComposedModel)12 EmptyModel (io.swagger.models.EmptyModel)12 JacksonReadonlyModel (io.swagger.models.JacksonReadonlyModel)12