use of org.testng.annotations.Test in project swagger-core by swagger-api.
the class XMLGregorianCalendarTest method testXMLGregorianCalendar.
@Test(description = "it should read a model with XMLGregorianCalendar")
public void testXMLGregorianCalendar() {
final Map<String, Model> models = ModelConverters.getInstance().readAll(ModelWithCalendar.class);
// don't create a Joda DateTime object
assertEquals(models.size(), 1);
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");
}
use of org.testng.annotations.Test in project swagger-core by swagger-api.
the class XmlModelTest method processModelWithJAXBAnnotations.
@Test(description = "it should process a model with JAXB annotations")
public void processModelWithJAXBAnnotations() {
final Map<String, Model> schemas = ModelConverters.getInstance().readAll(ModelWithJAXBAnnotations.class);
assertEquals(schemas.size(), 1);
final Model model = schemas.get("ModelWithJAXBAnnotations");
assertNotNull(model);
assertTrue(model instanceof ModelImpl);
final Xml rootXml = ((ModelImpl) model).getXml();
assertNotNull(rootXml);
assertEquals(rootXml.getName(), "rootName");
for (Map.Entry<String, Property> entry : model.getProperties().entrySet()) {
final String name = entry.getKey();
final Property property = entry.getValue();
if ("id".equals(name)) {
final Xml xml = property.getXml();
assertNotNull(xml);
assertNull(xml.getName());
assertTrue(xml.getAttribute());
assertNull(xml.getWrapped());
} else if ("name".equals(name)) {
final Xml xml = property.getXml();
assertNotNull(xml);
assertEquals(xml.getName(), "renamed");
assertNull(xml.getAttribute());
assertNull(xml.getWrapped());
} else if (Arrays.asList("list", "forcedElement").contains(name)) {
assertNull(property.getXml());
} else if ("wrappedList".equals(name)) {
final Xml xml = property.getXml();
assertNotNull(xml);
assertEquals(xml.getName(), "wrappedListItems");
assertNull(xml.getAttribute());
assertTrue(xml.getWrapped());
} else {
fail(String.format("Unexpected property: %s", name));
}
}
}
use of org.testng.annotations.Test in project swagger-core by swagger-api.
the class XmlModelTest method deserializeModel.
@Test(description = "it should deserialize a model")
public void deserializeModel() throws IOException {
final String yaml = "---\n" + "type: \"object\"\n" + "properties:\n" + " id:\n" + " type: \"string\"\n" + " xml:\n" + " attribute: true\n" + " name:\n" + " type: \"string\"\n" + " xml:\n" + " name: \"renamed\"\n" + " list:\n" + " type: \"array\"\n" + " items:\n" + " type: \"string\"\n" + " wrappedList:\n" + " type: \"array\"\n" + " xml:\n" + " name: \"wrappedListItems\"\n" + " wrapped: true\n" + " items:\n" + " type: \"string\"\n" + " forcedElement:\n" + " type: \"array\"\n" + " items:\n" + " type: \"string\"\n" + "xml:\n" + " name: \"rootName\"";
final ModelImpl model = io.swagger.util.Yaml.mapper().readValue(yaml, ModelImpl.class);
final Property wrappedList = model.getProperties().get("wrappedList");
assertNotNull(wrappedList);
assertNotNull(wrappedList.getXml());
assertEquals(wrappedList.getXml().getName(), "wrappedListItems");
}
use of org.testng.annotations.Test in project swagger-core by swagger-api.
the class XmlModelTest method processXMLModelAttribute.
@Test(description = "it should process an XML model attribute")
public void processXMLModelAttribute() {
final Map<String, Model> schemas = ModelConverters.getInstance().readAll(Monster.class);
final Model model = schemas.get("Monster");
assertNotNull(model);
assertTrue(model instanceof ModelImpl);
Xml xml = ((ModelImpl) model).getXml();
assertNotNull(xml);
assertEquals(xml.getName(), "monster");
final Property property = model.getProperties().get("children");
assertNotNull(property);
xml = property.getXml();
assertTrue(xml.getWrapped());
assertNull(xml.getName());
}
use of org.testng.annotations.Test in project swagger-core by swagger-api.
the class XmlModelTest method itShouldNotCreateXmlObject.
@Test(description = "it should not create an xml object")
public void itShouldNotCreateXmlObject() {
final Map<String, Model> schemas = ModelConverters.getInstance().readAll(Address.class);
final Model model = schemas.get("Address");
assertNotNull(model);
assertTrue(model instanceof ModelImpl);
final Property property = model.getProperties().get("streetNumber");
final Xml xml = property.getXml();
assertNull(xml);
}
Aggregations