package io.swagger; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertTrue; import io.swagger.annotations.ApiModelProperty; import io.swagger.converter.ModelConverters; import io.swagger.models.Model; import io.swagger.models.properties.DateTimeProperty; import io.swagger.models.properties.Property; import io.swagger.models.properties.StringProperty; import org.testng.annotations.Test; import java.util.Map; import javax.xml.datatype.XMLGregorianCalendar; public class XMLGregorianCalendarTest { @Test(description = "it should read a model with XMLGregorianCalendar") public void testXMLGregorianCalendar() { final Map<String, Model> models = ModelConverters.getInstance().readAll(ModelWithCalendar.class); assertEquals(models.size(), 1); // don't create a Joda DateTime object final Map<String, Property> properties = models.get("ModelWithCalendar").getProperties(); final Property nameProperty = properties.get("name"); assertTrue(nameProperty instanceof StringProperty); assertEquals((int) nameProperty.getPosition(), 2); assertEquals(nameProperty.getDescription(), "name of the model"); final Property dateTimeProperty = properties.get("createdAt"); assertTrue(dateTimeProperty instanceof DateTimeProperty); assertEquals((int) dateTimeProperty.getPosition(), 1); assertTrue(dateTimeProperty.getRequired()); assertEquals(dateTimeProperty.getDescription(), "creation timestamp"); } class ModelWithCalendar { @ApiModelProperty(value = "name of the model", position = 2) public String name; @ApiModelProperty(value = "creation timestamp", required = true, position = 1) public XMLGregorianCalendar createdAt; } }