package io.swagger.jackson;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNotNull;
import static org.testng.FileAssert.fail;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.converter.ModelConverter;
import io.swagger.converter.ModelConverterContextImpl;
import io.swagger.models.Model;
import io.swagger.models.properties.Property;
import org.joda.time.DateTime;
import org.testng.annotations.Test;
import java.util.Map;
public class JodaTest extends SwaggerTestBase {
@Test
public void testSimple() throws Exception {
final ModelConverter mr = modelResolver();
final Model model = mr.resolve(ModelWithJodaDateTime.class, new ModelConverterContextImpl(mr), null);
assertNotNull(model);
final Map<String, Property> props = model.getProperties();
assertEquals(props.size(), 2);
for (Map.Entry<String, Property> entry : props.entrySet()) {
final String name = entry.getKey();
final Property prop = entry.getValue();
if ("name".equals(name)) {
assertEquals(prop.getType(), "string");
} else if ("createdAt".equals(name)) {
assertEquals(prop.getType(), "string");
assertEquals(prop.getFormat(), "date-time");
} else {
fail(String.format("Unknown property '%s'", name));
}
}
}
static class ModelWithJodaDateTime {
@ApiModelProperty(value = "Name!", position = 2)
public String name;
@ApiModelProperty(value = "creation timestamp", required = true, position = 1)
public DateTime createdAt;
}
}