You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2018/01/18 19:01:05 UTC
[09/10] juneau git commit: JUNEAU-78
http://git-wip-us.apache.org/repos/asf/juneau/blob/8df34f56/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/dto/swagger/ParameterInfoTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/dto/swagger/ParameterInfoTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/dto/swagger/ParameterInfoTest.java
new file mode 100644
index 0000000..6aa8ce1
--- /dev/null
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/dto/swagger/ParameterInfoTest.java
@@ -0,0 +1,729 @@
+// ***************************************************************************************************************************
+// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file *
+// * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file *
+// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance *
+// * with the License. You may obtain a copy of the License at *
+// * *
+// * http://www.apache.org/licenses/LICENSE-2.0 *
+// * *
+// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an *
+// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the *
+// * specific language governing permissions and limitations under the License. *
+// ***************************************************************************************************************************
+package org.apache.juneau.dto.swagger;
+
+import static org.apache.juneau.TestUtils.*;
+import static org.apache.juneau.dto.swagger.SwaggerBuilder.*;
+import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+
+import java.util.*;
+
+import org.apache.juneau.json.*;
+import org.apache.juneau.utils.*;
+
+import org.junit.*;
+
+/**
+ * Testcase for {@link ParameterInfo}.
+ */
+public class ParameterInfoTest {
+
+ /**
+ * Test method for {@link ParameterInfo#name(java.lang.Object)}.
+ */
+ @Test
+ public void testName() {
+ ParameterInfo t = new ParameterInfo();
+
+ t.name("foo");
+ assertEquals("foo", t.getName());
+
+ t.name(new StringBuilder("foo"));
+ assertEquals("foo", t.getName());
+ assertType(String.class, t.getName());
+
+ t.name(null);
+ assertNull(t.getName());
+ }
+
+ /**
+ * Test method for {@link ParameterInfo#in(java.lang.Object)}.
+ */
+ @Test
+ public void testIn() {
+ ParameterInfo t = new ParameterInfo();
+
+ t.in("foo");
+ assertEquals("foo", t.getIn());
+
+ t.in(new StringBuilder("foo"));
+ assertEquals("foo", t.getIn());
+ assertType(String.class, t.getIn());
+
+ t.in(null);
+ assertNull(t.getIn());
+ }
+
+ /**
+ * Test method for {@link ParameterInfo#description(java.lang.Object)}.
+ */
+ @Test
+ public void testDescription() {
+ ParameterInfo t = new ParameterInfo();
+
+ t.description("foo");
+ assertEquals("foo", t.getDescription());
+
+ t.description(new StringBuilder("foo"));
+ assertEquals("foo", t.getDescription());
+ assertType(String.class, t.getDescription());
+
+ t.description(null);
+ assertNull(t.getDescription());
+ }
+
+ /**
+ * Test method for {@link ParameterInfo#required(java.lang.Object)}.
+ */
+ @Test
+ public void testRequired() {
+ ParameterInfo t = new ParameterInfo();
+
+ t.required(true);
+ assertEquals(true, t.getRequired());
+ assertType(Boolean.class, t.getRequired());
+
+ t.required("true");
+ assertEquals(true, t.getRequired());
+ assertType(Boolean.class, t.getRequired());
+
+ t.required(new StringBuilder("true"));
+ assertEquals(true, t.getRequired());
+ assertType(Boolean.class, t.getRequired());
+
+ t.required(null);
+ assertNull(t.getRequired());
+ }
+
+ /**
+ * Test method for {@link ParameterInfo#schema(java.lang.Object)}.
+ */
+ @Test
+ public void testSchema() {
+ ParameterInfo t = new ParameterInfo();
+
+ t.schema(schemaInfo().title("foo"));
+ assertObjectEquals("{title:'foo'}", t.getSchema());
+
+ t.schema("{title:'foo'}");
+ assertObjectEquals("{title:'foo'}", t.getSchema());
+ assertType(SchemaInfo.class, t.getSchema());
+
+ t.schema(null);
+ assertNull(t.getSchema());
+ }
+
+ /**
+ * Test method for {@link ParameterInfo#type(java.lang.Object)}.
+ */
+ @Test
+ public void testType() {
+ ParameterInfo t = new ParameterInfo();
+
+ t.type("foo");
+ assertEquals("foo", t.getType());
+
+ t.type(new StringBuilder("foo"));
+ assertEquals("foo", t.getType());
+ assertType(String.class, t.getType());
+
+ t.type(null);
+ assertNull(t.getType());
+ }
+
+ /**
+ * Test method for {@link ParameterInfo#format(java.lang.Object)}.
+ */
+ @Test
+ public void testFormat() {
+ ParameterInfo t = new ParameterInfo();
+
+ t.format("foo");
+ assertEquals("foo", t.getFormat());
+
+ t.format(new StringBuilder("foo"));
+ assertEquals("foo", t.getFormat());
+ assertType(String.class, t.getFormat());
+
+ t.format(null);
+ assertNull(t.getFormat());
+ }
+
+ /**
+ * Test method for {@link ParameterInfo#allowEmptyValue(java.lang.Object)}.
+ */
+ @Test
+ public void testAllowEmptyValue() {
+ ParameterInfo t = new ParameterInfo();
+
+ t.allowEmptyValue(true);
+ assertEquals(true, t.getAllowEmptyValue());
+ assertType(Boolean.class, t.getAllowEmptyValue());
+
+ t.allowEmptyValue("true");
+ assertEquals(true, t.getAllowEmptyValue());
+ assertType(Boolean.class, t.getAllowEmptyValue());
+
+ t.allowEmptyValue(new StringBuilder("true"));
+ assertEquals(true, t.getAllowEmptyValue());
+ assertType(Boolean.class, t.getAllowEmptyValue());
+
+ t.allowEmptyValue(null);
+ assertNull(t.getAllowEmptyValue());
+ }
+
+ /**
+ * Test method for {@link ParameterInfo#items(java.lang.Object)}.
+ */
+ @Test
+ public void testItems() {
+ ParameterInfo t = new ParameterInfo();
+
+ t.items(items("foo"));
+ assertObjectEquals("{type:'foo'}", t.getItems());
+
+ t.items("{type:'foo'}");
+ assertObjectEquals("{type:'foo'}", t.getItems());
+ assertType(Items.class, t.getItems());
+
+ t.items(null);
+ assertNull(t.getItems());
+ }
+
+ /**
+ * Test method for {@link ParameterInfo#collectionFormat(java.lang.Object)}.
+ */
+ @Test
+ public void testCollectionFormat() {
+ ParameterInfo t = new ParameterInfo();
+
+ t.collectionFormat("foo");
+ assertEquals("foo", t.getCollectionFormat());
+
+ t.collectionFormat(new StringBuilder("foo"));
+ assertEquals("foo", t.getCollectionFormat());
+ assertType(String.class, t.getCollectionFormat());
+
+ t.collectionFormat(null);
+ assertNull(t.getCollectionFormat());
+ }
+
+ /**
+ * Test method for {@link ParameterInfo#_default(java.lang.Object)}.
+ */
+ @Test
+ public void test_default() {
+ ParameterInfo t = new ParameterInfo();
+
+ t._default("foo");
+ assertEquals("foo", t.getDefault());
+
+ t._default(new StringBuilder("foo"));
+ assertEquals("foo", t.getDefault().toString());
+ assertType(StringBuilder.class, t.getDefault());
+
+ t._default(null);
+ assertNull(t.getDefault());
+ }
+
+ /**
+ * Test method for {@link ParameterInfo#maximum(java.lang.Object)}.
+ */
+ @Test
+ public void testMaximum() {
+ ParameterInfo t = new ParameterInfo();
+
+ t.maximum(123);
+ assertEquals(123, t.getMaximum());
+ assertType(Integer.class, t.getMaximum());
+
+ t.maximum(123f);
+ assertEquals(123f, t.getMaximum());
+ assertType(Float.class, t.getMaximum());
+
+ t.maximum("123");
+ assertEquals(123, t.getMaximum());
+ assertType(Integer.class, t.getMaximum());
+
+ t.maximum(new StringBuilder("123"));
+ assertEquals(123, t.getMaximum());
+ assertType(Integer.class, t.getMaximum());
+
+ t.maximum(null);
+ assertNull(t.getMaximum());
+ }
+
+ /**
+ * Test method for {@link ParameterInfo#exclusiveMaximum(java.lang.Object)}.
+ */
+ @Test
+ public void testExclusiveMaximum() {
+ ParameterInfo t = new ParameterInfo();
+
+ t.exclusiveMaximum(true);
+ assertEquals(true, t.getExclusiveMaximum());
+ assertType(Boolean.class, t.getExclusiveMaximum());
+
+ t.exclusiveMaximum("true");
+ assertEquals(true, t.getExclusiveMaximum());
+ assertType(Boolean.class, t.getExclusiveMaximum());
+
+ t.exclusiveMaximum(new StringBuilder("true"));
+ assertEquals(true, t.getExclusiveMaximum());
+ assertType(Boolean.class, t.getExclusiveMaximum());
+
+ t.exclusiveMaximum(null);
+ assertNull(t.getExclusiveMaximum());
+ }
+
+ /**
+ * Test method for {@link ParameterInfo#minimum(java.lang.Object)}.
+ */
+ @Test
+ public void testMinimum() {
+ ParameterInfo t = new ParameterInfo();
+
+ t.minimum(123);
+ assertEquals(123, t.getMinimum());
+ assertType(Integer.class, t.getMinimum());
+
+ t.minimum(123f);
+ assertEquals(123f, t.getMinimum());
+ assertType(Float.class, t.getMinimum());
+
+ t.minimum("123");
+ assertEquals(123, t.getMinimum());
+ assertType(Integer.class, t.getMinimum());
+
+ t.minimum(new StringBuilder("123"));
+ assertEquals(123, t.getMinimum());
+ assertType(Integer.class, t.getMinimum());
+
+ t.minimum(null);
+ assertNull(t.getMinimum());
+ }
+
+ /**
+ * Test method for {@link ParameterInfo#exclusiveMinimum(java.lang.Object)}.
+ */
+ @Test
+ public void testExclusiveMinimum() {
+ ParameterInfo t = new ParameterInfo();
+
+ t.exclusiveMinimum(true);
+ assertEquals(true, t.getExclusiveMinimum());
+ assertType(Boolean.class, t.getExclusiveMinimum());
+
+ t.exclusiveMinimum("true");
+ assertEquals(true, t.getExclusiveMinimum());
+ assertType(Boolean.class, t.getExclusiveMinimum());
+
+ t.exclusiveMinimum(new StringBuilder("true"));
+ assertEquals(true, t.getExclusiveMinimum());
+ assertType(Boolean.class, t.getExclusiveMinimum());
+
+ t.exclusiveMinimum(null);
+ assertNull(t.getExclusiveMinimum());
+ }
+
+ /**
+ * Test method for {@link ParameterInfo#maxLength(java.lang.Object)}.
+ */
+ @Test
+ public void testMaxLength() {
+ ParameterInfo t = new ParameterInfo();
+
+ t.maxLength(123);
+ assertEquals(123, t.getMaxLength().intValue());
+ assertType(Integer.class, t.getMaxLength());
+
+ t.maxLength(123f);
+ assertEquals(123, t.getMaxLength().intValue());
+ assertType(Integer.class, t.getMaxLength());
+
+ t.maxLength("123");
+ assertEquals(123, t.getMaxLength().intValue());
+ assertType(Integer.class, t.getMaxLength());
+
+ t.maxLength(new StringBuilder("123"));
+ assertEquals(123, t.getMaxLength().intValue());
+ assertType(Integer.class, t.getMaxLength());
+
+ t.maxLength(null);
+ assertNull(t.getMaxLength());
+ }
+
+ /**
+ * Test method for {@link ParameterInfo#minLength(java.lang.Object)}.
+ */
+ @Test
+ public void testMinLength() {
+ ParameterInfo t = new ParameterInfo();
+
+ t.minLength(123);
+ assertEquals(123, t.getMinLength().intValue());
+ assertType(Integer.class, t.getMinLength());
+
+ t.minLength(123f);
+ assertEquals(123, t.getMinLength().intValue());
+ assertType(Integer.class, t.getMinLength());
+
+ t.minLength("123");
+ assertEquals(123, t.getMinLength().intValue());
+ assertType(Integer.class, t.getMinLength());
+
+ t.minLength(new StringBuilder("123"));
+ assertEquals(123, t.getMinLength().intValue());
+ assertType(Integer.class, t.getMinLength());
+
+ t.minLength(null);
+ assertNull(t.getMinLength());
+ }
+
+ /**
+ * Test method for {@link ParameterInfo#pattern(java.lang.Object)}.
+ */
+ @Test
+ public void testPattern() {
+ ParameterInfo t = new ParameterInfo();
+
+ t.pattern("foo");
+ assertEquals("foo", t.getPattern());
+
+ t.pattern(new StringBuilder("foo"));
+ assertEquals("foo", t.getPattern());
+ assertType(String.class, t.getPattern());
+
+ t.pattern(null);
+ assertNull(t.getPattern());
+ }
+
+ /**
+ * Test method for {@link ParameterInfo#maxItems(java.lang.Object)}.
+ */
+ @Test
+ public void testMaxItems() {
+ ParameterInfo t = new ParameterInfo();
+
+ t.maxItems(123);
+ assertEquals(123, t.getMaxItems().intValue());
+ assertType(Integer.class, t.getMaxItems());
+
+ t.maxItems(123f);
+ assertEquals(123, t.getMaxItems().intValue());
+ assertType(Integer.class, t.getMaxItems());
+
+ t.maxItems("123");
+ assertEquals(123, t.getMaxItems().intValue());
+ assertType(Integer.class, t.getMaxItems());
+
+ t.maxItems(new StringBuilder("123"));
+ assertEquals(123, t.getMaxItems().intValue());
+ assertType(Integer.class, t.getMaxItems());
+
+ t.maxItems(null);
+ assertNull(t.getMaxItems());
+ }
+
+ /**
+ * Test method for {@link ParameterInfo#minItems(java.lang.Object)}.
+ */
+ @Test
+ public void testMinItems() {
+ ParameterInfo t = new ParameterInfo();
+
+ t.minItems(123);
+ assertEquals(123, t.getMinItems().intValue());
+ assertType(Integer.class, t.getMinItems());
+
+ t.minItems(123f);
+ assertEquals(123, t.getMinItems().intValue());
+ assertType(Integer.class, t.getMinItems());
+
+ t.minItems("123");
+ assertEquals(123, t.getMinItems().intValue());
+ assertType(Integer.class, t.getMinItems());
+
+ t.minItems(new StringBuilder("123"));
+ assertEquals(123, t.getMinItems().intValue());
+ assertType(Integer.class, t.getMinItems());
+
+ t.minItems(null);
+ assertNull(t.getMinItems());
+ }
+
+ /**
+ * Test method for {@link ParameterInfo#uniqueItems(java.lang.Object)}.
+ */
+ @Test
+ public void testUniqueItems() {
+ ParameterInfo t = new ParameterInfo();
+
+ t.uniqueItems(true);
+ assertEquals(true, t.getUniqueItems());
+ assertType(Boolean.class, t.getUniqueItems());
+
+ t.uniqueItems("true");
+ assertEquals(true, t.getUniqueItems());
+ assertType(Boolean.class, t.getUniqueItems());
+
+ t.uniqueItems(new StringBuilder("true"));
+ assertEquals(true, t.getUniqueItems());
+ assertType(Boolean.class, t.getUniqueItems());
+
+ t.uniqueItems(null);
+ assertNull(t.getUniqueItems());
+ }
+
+ /**
+ * Test method for {@link ParameterInfo#setEnum(java.util.Collection)}.
+ */
+ @Test
+ public void testSetEnum() {
+ ParameterInfo t = new ParameterInfo();
+
+ t.setEnum(new ASet<Object>().appendAll("foo","bar"));
+ assertObjectEquals("['foo','bar']", t.getEnum());
+ assertType(List.class, t.getEnum());
+
+ t.setEnum(new ASet<Object>());
+ assertObjectEquals("[]", t.getEnum());
+ assertType(List.class, t.getEnum());
+
+ t.setEnum(null);
+ assertNull(t.getEnum());
+ }
+
+ /**
+ * Test method for {@link ParameterInfo#addEnum(java.util.Collection)}.
+ */
+ @Test
+ public void testAddEnum() {
+ ParameterInfo t = new ParameterInfo();
+
+ t.addEnum(new ASet<Object>().appendAll("foo","bar"));
+ assertObjectEquals("['foo','bar']", t.getEnum());
+ assertType(List.class, t.getEnum());
+
+ t.addEnum(new ASet<Object>().appendAll("baz"));
+ assertObjectEquals("['foo','bar','baz']", t.getEnum());
+ assertType(List.class, t.getEnum());
+
+ t.addEnum(null);
+ assertObjectEquals("['foo','bar','baz']", t.getEnum());
+ assertType(List.class, t.getEnum());
+ }
+
+ /**
+ * Test method for {@link ParameterInfo#_enum(java.lang.Object[])}.
+ */
+ @Test
+ public void test_enum() {
+ ParameterInfo t = new ParameterInfo();
+
+ t._enum(new ASet<Object>().appendAll("foo","bar"));
+ assertObjectEquals("['foo','bar']", t.getEnum());
+ assertType(List.class, t.getEnum());
+
+ t._enum(new ASet<Object>().appendAll("baz"));
+ assertObjectEquals("['foo','bar','baz']", t.getEnum());
+ assertType(List.class, t.getEnum());
+
+ t._enum((Object[])null);
+ assertObjectEquals("['foo','bar','baz']", t.getEnum());
+ assertType(List.class, t.getEnum());
+
+ t.setEnum(null);
+ t._enum("foo")._enum(new StringBuilder("bar"))._enum("['baz','qux']")._enum((Object)new String[]{"quux"});
+ assertObjectEquals("['foo','bar','baz','qux','quux']", t.getEnum());
+ assertType(List.class, t.getEnum());
+ }
+
+ /**
+ * Test method for {@link ParameterInfo#multipleOf(java.lang.Object)}.
+ */
+ @Test
+ public void testMultipleOf() {
+ ParameterInfo t = new ParameterInfo();
+
+ t.multipleOf(123);
+ assertEquals(123, t.getMultipleOf());
+ assertType(Integer.class, t.getMultipleOf());
+
+ t.multipleOf(123f);
+ assertEquals(123f, t.getMultipleOf());
+ assertType(Float.class, t.getMultipleOf());
+
+ t.multipleOf("123");
+ assertEquals(123, t.getMultipleOf());
+ assertType(Integer.class, t.getMultipleOf());
+
+ t.multipleOf(new StringBuilder("123"));
+ assertEquals(123, t.getMultipleOf());
+ assertType(Integer.class, t.getMultipleOf());
+
+ t.multipleOf(null);
+ assertNull(t.getMultipleOf());
+ }
+
+ /**
+ * Test method for {@link ParameterInfo#set(java.lang.String, java.lang.Object)}.
+ */
+ @Test
+ public void testSet() throws Exception {
+ ParameterInfo t = new ParameterInfo();
+
+ t
+ .set("default", "a")
+ .set("enum", new ASet<Object>().appendAll("b"))
+ .set("allowEmptyValue", true)
+ .set("collectionFormat", "c")
+ .set("description", "d")
+ .set("exclusiveMaximum", true)
+ .set("exclusiveMinimum", true)
+ .set("format", "e")
+ .set("in", "f")
+ .set("items", items("g"))
+ .set("maximum", 123f)
+ .set("maxItems", 123)
+ .set("maxLength", 123)
+ .set("minimum", 123f)
+ .set("minItems", 123)
+ .set("minLength", 123)
+ .set("multipleOf", 123f)
+ .set("name", "h")
+ .set("pattern", "i")
+ .set("required", true)
+ .set("schema", schemaInfo().title("j"))
+ .set("type", "k")
+ .set("uniqueItems", true)
+ .set("$ref", "ref");
+
+ assertObjectEquals("{'in':'f',name:'h',type:'k',description:'d',required:true,schema:{title:'j'},format:'e',allowEmptyValue:true,items:{type:'g'},collectionFormat:'c','default':'a',maximum:123.0,exclusiveMaximum:true,minimum:123.0,exclusiveMinimum:true,maxLength:123,minLength:123,pattern:'i',maxItems:123,minItems:123,uniqueItems:true,'enum':['b'],multipleOf:123.0,'$ref':'ref'}", t);
+
+ t
+ .set("default", "a")
+ .set("enum", "['b']")
+ .set("allowEmptyValue", "true")
+ .set("collectionFormat", "c")
+ .set("description", "d")
+ .set("exclusiveMaximum", "true")
+ .set("exclusiveMinimum", "true")
+ .set("format", "e")
+ .set("in", "f")
+ .set("items", "{type:'g'}")
+ .set("maximum", "123.0")
+ .set("maxItems", "123")
+ .set("maxLength", "123")
+ .set("minimum", "123.0")
+ .set("minItems", "123")
+ .set("minLength", "123")
+ .set("multipleOf", "123.0")
+ .set("name", "h")
+ .set("pattern", "i")
+ .set("required", "true")
+ .set("schema", "{title:'j'}")
+ .set("type", "k")
+ .set("uniqueItems", "true")
+ .set("$ref", "ref");
+
+ assertObjectEquals("{'in':'f',name:'h',type:'k',description:'d',required:true,schema:{title:'j'},format:'e',allowEmptyValue:true,items:{type:'g'},collectionFormat:'c','default':'a',maximum:123.0,exclusiveMaximum:true,minimum:123.0,exclusiveMinimum:true,maxLength:123,minLength:123,pattern:'i',maxItems:123,minItems:123,uniqueItems:true,'enum':['b'],multipleOf:123.0,'$ref':'ref'}", t);
+
+ t
+ .set("default", new StringBuilder("a"))
+ .set("enum", new StringBuilder("['b']"))
+ .set("allowEmptyValue", new StringBuilder("true"))
+ .set("collectionFormat", new StringBuilder("c"))
+ .set("description", new StringBuilder("d"))
+ .set("exclusiveMaximum", new StringBuilder("true"))
+ .set("exclusiveMinimum", new StringBuilder("true"))
+ .set("format", new StringBuilder("e"))
+ .set("in", new StringBuilder("f"))
+ .set("items", new StringBuilder("{type:'g'}"))
+ .set("maximum", new StringBuilder("123.0"))
+ .set("maxItems", new StringBuilder("123"))
+ .set("maxLength", new StringBuilder("123"))
+ .set("minimum", new StringBuilder("123.0"))
+ .set("minItems", new StringBuilder("123"))
+ .set("minLength", new StringBuilder("123"))
+ .set("multipleOf", new StringBuilder("123.0"))
+ .set("name", new StringBuilder("h"))
+ .set("pattern", new StringBuilder("i"))
+ .set("required", new StringBuilder("true"))
+ .set("schema", new StringBuilder("{title:'j'}"))
+ .set("type", new StringBuilder("k"))
+ .set("uniqueItems", new StringBuilder("true"))
+ .set("$ref", new StringBuilder("ref"));
+
+ assertObjectEquals("{'in':'f',name:'h',type:'k',description:'d',required:true,schema:{title:'j'},format:'e',allowEmptyValue:true,items:{type:'g'},collectionFormat:'c','default':'a',maximum:123.0,exclusiveMaximum:true,minimum:123.0,exclusiveMinimum:true,maxLength:123,minLength:123,pattern:'i',maxItems:123,minItems:123,uniqueItems:true,'enum':['b'],multipleOf:123.0,'$ref':'ref'}", t);
+
+ assertEquals("a", t.get("default", String.class));
+ assertEquals("['b']", t.get("enum", String.class));
+ assertEquals("true", t.get("allowEmptyValue", String.class));
+ assertEquals("c", t.get("collectionFormat", String.class));
+ assertEquals("d", t.get("description", String.class));
+ assertEquals("true", t.get("exclusiveMaximum", String.class));
+ assertEquals("true", t.get("exclusiveMinimum", String.class));
+ assertEquals("e", t.get("format", String.class));
+ assertEquals("f", t.get("in", String.class));
+ assertEquals("{type:'g'}", t.get("items", String.class));
+ assertEquals("123.0", t.get("maximum", String.class));
+ assertEquals("123", t.get("maxItems", String.class));
+ assertEquals("123", t.get("maxLength", String.class));
+ assertEquals("123.0", t.get("minimum", String.class));
+ assertEquals("123", t.get("minItems", String.class));
+ assertEquals("123", t.get("minLength", String.class));
+ assertEquals("123.0", t.get("multipleOf", String.class));
+ assertEquals("h", t.get("name", String.class));
+ assertEquals("i", t.get("pattern", String.class));
+ assertEquals("true", t.get("required", String.class));
+ assertEquals("{title:'j'}", t.get("schema", String.class));
+ assertEquals("k", t.get("type", String.class));
+ assertEquals("true", t.get("uniqueItems", String.class));
+ assertEquals("ref", t.get("$ref", String.class));
+
+ assertType(StringBuilder.class, t.get("default", Object.class));
+ assertType(List.class, t.get("enum", Object.class));
+ assertType(Boolean.class, t.get("allowEmptyValue", Object.class));
+ assertType(String.class, t.get("collectionFormat", Object.class));
+ assertType(String.class, t.get("description", Object.class));
+ assertType(Boolean.class, t.get("exclusiveMaximum", Object.class));
+ assertType(Boolean.class, t.get("exclusiveMinimum", Object.class));
+ assertType(String.class, t.get("format", Object.class));
+ assertType(String.class, t.get("in", Object.class));
+ assertType(Items.class, t.get("items", Object.class));
+ assertType(Float.class, t.get("maximum", Object.class));
+ assertType(Integer.class, t.get("maxItems", Object.class));
+ assertType(Integer.class, t.get("maxLength", Object.class));
+ assertType(Float.class, t.get("minimum", Object.class));
+ assertType(Integer.class, t.get("minItems", Object.class));
+ assertType(Integer.class, t.get("minLength", Object.class));
+ assertType(Float.class, t.get("multipleOf", Object.class));
+ assertType(String.class, t.get("name", Object.class));
+ assertType(String.class, t.get("pattern", Object.class));
+ assertType(Boolean.class, t.get("required", Object.class));
+ assertType(SchemaInfo.class, t.get("schema", Object.class));
+ assertType(String.class, t.get("type", Object.class));
+ assertType(Boolean.class, t.get("uniqueItems", Object.class));
+ assertType(StringBuilder.class, t.get("$ref", Object.class));
+
+ t.set("null", null).set(null, "null");
+ assertNull(t.get("null", Object.class));
+ assertNull(t.get(null, Object.class));
+ assertNull(t.get("foo", Object.class));
+
+ String s = "{'in':'f',name:'h',type:'k',description:'d',required:true,schema:{title:'j'},format:'e',allowEmptyValue:true,items:{type:'g'},collectionFormat:'c','default':'a',maximum:123.0,exclusiveMaximum:true,minimum:123.0,exclusiveMinimum:true,maxLength:123,minLength:123,pattern:'i',maxItems:123,minItems:123,uniqueItems:true,'enum':['b'],multipleOf:123.0,'$ref':'ref'}";
+ assertObjectEquals(s, JsonParser.DEFAULT.parse(s, ParameterInfo.class));
+ }
+}
http://git-wip-us.apache.org/repos/asf/juneau/blob/8df34f56/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/dto/swagger/ResponseInfoTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/dto/swagger/ResponseInfoTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/dto/swagger/ResponseInfoTest.java
new file mode 100644
index 0000000..06eb4f8
--- /dev/null
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/dto/swagger/ResponseInfoTest.java
@@ -0,0 +1,265 @@
+// ***************************************************************************************************************************
+// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file *
+// * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file *
+// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance *
+// * with the License. You may obtain a copy of the License at *
+// * *
+// * http://www.apache.org/licenses/LICENSE-2.0 *
+// * *
+// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an *
+// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the *
+// * specific language governing permissions and limitations under the License. *
+// ***************************************************************************************************************************
+package org.apache.juneau.dto.swagger;
+
+import static org.apache.juneau.TestUtils.*;
+import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+
+import java.util.*;
+
+import org.apache.juneau.json.*;
+import org.apache.juneau.utils.*;
+
+import static org.apache.juneau.dto.swagger.SwaggerBuilder.*;
+
+import org.junit.*;
+
+/**
+ * Testcase for {@link ResponseInfo}.
+ */
+public class ResponseInfoTest {
+
+ /**
+ * Test method for {@link ResponseInfo#description(java.lang.Object)}.
+ */
+ @Test
+ public void testDescription() {
+ ResponseInfo t = new ResponseInfo();
+
+ t.description("foo");
+ assertEquals("foo", t.getDescription());
+
+ t.description(new StringBuilder("foo"));
+ assertEquals("foo", t.getDescription());
+ assertType(String.class, t.getDescription());
+
+ t.description(null);
+ assertNull(t.getDescription());
+ }
+
+ /**
+ * Test method for {@link ResponseInfo#schema(java.lang.Object)}.
+ */
+ @Test
+ public void testSchema() {
+ ResponseInfo t = new ResponseInfo();
+
+ t.schema(schemaInfo().title("foo"));
+ assertObjectEquals("{title:'foo'}", t.getSchema());
+
+ t.schema("{title:'foo'}");
+ assertObjectEquals("{title:'foo'}", t.getSchema());
+ assertType(SchemaInfo.class, t.getSchema());
+
+ t.schema(null);
+ assertNull(t.getSchema());
+ }
+
+ /**
+ * Test method for {@link ResponseInfo#setHeaders(java.util.Map)}.
+ */
+ @Test
+ public void testSetHeaders() {
+ ResponseInfo t = new ResponseInfo();
+
+ t.setHeaders(new AMap<String,HeaderInfo>().append("foo",headerInfo("bar")));
+ assertObjectEquals("{foo:{type:'bar'}}", t.getHeaders());
+ assertType(Map.class, t.getHeaders());
+ assertType(HeaderInfo.class, t.getHeaders().get("foo"));
+
+ t.setHeaders(new AMap<String,HeaderInfo>());
+ assertObjectEquals("{}", t.getHeaders());
+ assertType(Map.class, t.getHeaders());
+
+ t.setHeaders(null);
+ assertNull(t.getExamples());
+ }
+
+ /**
+ * Test method for {@link ResponseInfo#addHeaders(java.util.Map)}.
+ */
+ @Test
+ public void testAddHeaders() {
+ ResponseInfo t = new ResponseInfo();
+
+ t.addHeaders(new AMap<String,HeaderInfo>().append("foo",headerInfo("bar")));
+ assertObjectEquals("{foo:{type:'bar'}}", t.getHeaders());
+ assertType(Map.class, t.getHeaders());
+ assertType(HeaderInfo.class, t.getHeaders().get("foo"));
+
+ t.addHeaders(new AMap<String,HeaderInfo>());
+ assertObjectEquals("{foo:{type:'bar'}}", t.getHeaders());
+ assertType(Map.class, t.getHeaders());
+ assertType(HeaderInfo.class, t.getHeaders().get("foo"));
+
+ t.addHeaders(null);
+ assertObjectEquals("{foo:{type:'bar'}}", t.getHeaders());
+ assertType(Map.class, t.getHeaders());
+ assertType(HeaderInfo.class, t.getHeaders().get("foo"));
+ }
+
+ /**
+ * Test method for {@link ResponseInfo#header(java.lang.String, org.apache.juneau.dto.swagger.HeaderInfo)}.
+ */
+ @Test
+ public void testHeader() {
+ ResponseInfo t = new ResponseInfo();
+
+ t.header("a", headerInfo("a1"));
+ t.header("b", null);
+ t.header(null, headerInfo("c1"));
+
+ assertObjectEquals("{a:{type:'a1'},b:null,null:{type:'c1'}}", t.getHeaders());
+ }
+
+ /**
+ * Test method for {@link ResponseInfo#headers(java.lang.Object[])}.
+ */
+ @Test
+ public void testHeaders() {
+ ResponseInfo t = new ResponseInfo();
+
+ t.headers(new AMap<String,HeaderInfo>().append("a", headerInfo("a1")));
+ t.headers(new AMap<String,String>().append("b", "{type:'b1'}"));
+ t.headers("{c:{type:'c1'}}");
+ t.headers("{}");
+ t.headers((Object[])null);
+
+ assertObjectEquals("{a:{type:'a1'},b:{type:'b1'},c:{type:'c1'}}", t.getHeaders());
+ }
+
+ /**
+ * Test method for {@link ResponseInfo#setExamples(java.util.Map)}.
+ */
+ @Test
+ public void testSetExamples() {
+ ResponseInfo t = new ResponseInfo();
+
+ t.setExamples(new AMap<String,Object>().append("foo","bar").append("baz",new AList<String>().append("qux")));
+ assertObjectEquals("{foo:'bar',baz:['qux']}", t.getExamples());
+ assertType(Map.class, t.getExamples());
+
+ t.setExamples(new AMap<String,Object>());
+ assertObjectEquals("{}", t.getExamples());
+ assertType(Map.class, t.getExamples());
+
+ t.setExamples(null);
+ assertNull(t.getExamples());
+ }
+
+ /**
+ * Test method for {@link ResponseInfo#addExamples(java.util.Map)}.
+ */
+ @Test
+ public void testAddExamples() {
+ ResponseInfo t = new ResponseInfo();
+
+ t.addExamples(new AMap<String,Object>().append("foo","bar").append("baz",new AList<String>().append("qux")));
+ assertObjectEquals("{foo:'bar',baz:['qux']}", t.getExamples());
+ assertType(Map.class, t.getExamples());
+
+ t.addExamples(new AMap<String,Object>());
+ assertObjectEquals("{foo:'bar',baz:['qux']}", t.getExamples());
+ assertType(Map.class, t.getExamples());
+
+ t.addExamples(null);
+ assertObjectEquals("{foo:'bar',baz:['qux']}", t.getExamples());
+ assertType(Map.class, t.getExamples());
+ }
+
+ /**
+ * Test method for {@link ResponseInfo#example(java.lang.String, java.lang.Object)}.
+ */
+ @Test
+ public void testExample() {
+ ResponseInfo t = new ResponseInfo();
+
+ t.example("text/a", "a");
+ t.example("text/b", null);
+ t.example(null, "c");
+
+ assertObjectEquals("{'text/a':'a','text/b':null,null:'c'}", t.getExamples());
+ }
+
+ /**
+ * Test method for {@link ResponseInfo#examples(java.lang.Object[])}.
+ */
+ @Test
+ public void testExamples() {
+ ResponseInfo t = new ResponseInfo();
+
+ t.examples(new AMap<String,Object>().append("1",new AList<String>().append("a")));
+ t.examples("{2:{c1:'c2'}}");
+ t.examples("{}");
+ t.examples((Object)null);
+
+ assertObjectEquals("{'1':['a'],'2':{c1:'c2'}}", t.getExamples());
+ }
+
+ /**
+ * Test method for {@link ResponseInfo#set(java.lang.String, java.lang.Object)}.
+ */
+ @Test
+ public void testSet() throws Exception {
+ ResponseInfo t = new ResponseInfo();
+
+ t
+ .set("description", "a")
+ .set("examples", new AMap<String,Object>().append("foo","bar").append("baz",new AList<String>().append("qux")))
+ .set("headers", new AMap<String,HeaderInfo>().append("a", headerInfo("a1")))
+ .set("schema", schemaInfo().type("d"))
+ .set("$ref", "ref");
+
+ assertObjectEquals("{description:'a',schema:{type:'d'},headers:{a:{type:'a1'}},examples:{foo:'bar',baz:['qux']},'$ref':'ref'}", t);
+
+ t
+ .set("description", "a")
+ .set("examples", "{foo:'bar',baz:['qux']}")
+ .set("headers", "{a:{type:'a1'}}")
+ .set("schema", "{type:'d'}")
+ .set("$ref", "ref");
+
+ assertObjectEquals("{description:'a',schema:{type:'d'},headers:{a:{type:'a1'}},examples:{foo:'bar',baz:['qux']},'$ref':'ref'}", t);
+
+ t
+ .set("description", new StringBuilder("a"))
+ .set("examples", new StringBuilder("{foo:'bar',baz:['qux']}"))
+ .set("headers", new StringBuilder("{a:{type:'a1'}}"))
+ .set("schema", new StringBuilder("{type:'d'}"))
+ .set("$ref", new StringBuilder("ref"));
+
+ assertObjectEquals("{description:'a',schema:{type:'d'},headers:{a:{type:'a1'}},examples:{foo:'bar',baz:['qux']},'$ref':'ref'}", t);
+
+ assertEquals("a", t.get("description", String.class));
+ assertEquals("{foo:'bar',baz:['qux']}", t.get("examples", String.class));
+ assertEquals("{a:{type:'a1'}}", t.get("headers", String.class));
+ assertEquals("{type:'d'}", t.get("schema", String.class));
+ assertEquals("ref", t.get("$ref", String.class));
+
+ assertType(String.class, t.get("description", Object.class));
+ assertType(Map.class, t.get("examples", Object.class));
+ assertType(Map.class, t.get("headers", Object.class));
+ assertType(HeaderInfo.class, t.get("headers", Map.class).values().iterator().next());
+ assertType(SchemaInfo.class, t.get("schema", Object.class));
+ assertType(StringBuilder.class, t.get("$ref", Object.class));
+
+ t.set("null", null).set(null, "null");
+ assertNull(t.get("null", Object.class));
+ assertNull(t.get(null, Object.class));
+ assertNull(t.get("foo", Object.class));
+
+ String s = "{description:'a',schema:{type:'d'},headers:{a:{type:'a1'}},examples:{foo:'bar',baz:['qux']},'$ref':'ref'}";
+ assertObjectEquals(s, JsonParser.DEFAULT.parse(s, ResponseInfo.class));
+ }
+}
http://git-wip-us.apache.org/repos/asf/juneau/blob/8df34f56/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/dto/swagger/SchemaInfoTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/dto/swagger/SchemaInfoTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/dto/swagger/SchemaInfoTest.java
new file mode 100644
index 0000000..4aac32a
--- /dev/null
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/dto/swagger/SchemaInfoTest.java
@@ -0,0 +1,1011 @@
+// ***************************************************************************************************************************
+// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file *
+// * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file *
+// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance *
+// * with the License. You may obtain a copy of the License at *
+// * *
+// * http://www.apache.org/licenses/LICENSE-2.0 *
+// * *
+// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an *
+// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the *
+// * specific language governing permissions and limitations under the License. *
+// ***************************************************************************************************************************
+package org.apache.juneau.dto.swagger;
+
+import static org.apache.juneau.TestUtils.*;
+import static org.apache.juneau.dto.swagger.SwaggerBuilder.*;
+import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+
+import java.util.*;
+
+import org.apache.juneau.json.*;
+import org.apache.juneau.utils.*;
+
+import org.junit.*;
+
+/**
+ * Testcase for {@link SchemaInfo}.
+ */
+public class SchemaInfoTest {
+
+ /**
+ * Test method for {@link SchemaInfo#format(java.lang.Object)}.
+ */
+ @Test
+ public void testFormat() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.format("foo");
+ assertEquals("foo", t.getFormat());
+
+ t.format(new StringBuilder("foo"));
+ assertEquals("foo", t.getFormat());
+ assertType(String.class, t.getFormat());
+
+ t.format(null);
+ assertNull(t.getFormat());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#title(java.lang.Object)}.
+ */
+ @Test
+ public void testTitle() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.title("foo");
+ assertEquals("foo", t.getTitle());
+
+ t.title(new StringBuilder("foo"));
+ assertEquals("foo", t.getTitle());
+ assertType(String.class, t.getTitle());
+
+ t.title(null);
+ assertNull(t.getTitle());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#description(java.lang.Object)}.
+ */
+ @Test
+ public void testDescription() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.description("foo");
+ assertEquals("foo", t.getDescription());
+
+ t.description(new StringBuilder("foo"));
+ assertEquals("foo", t.getDescription());
+ assertType(String.class, t.getDescription());
+
+ t.description(null);
+ assertNull(t.getDescription());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#_default(java.lang.Object)}.
+ */
+ @Test
+ public void test_default() {
+ SchemaInfo t = new SchemaInfo();
+
+ t._default("foo");
+ assertEquals("foo", t.getDefault());
+
+ t._default(new StringBuilder("foo"));
+ assertEquals("foo", t.getDefault().toString());
+ assertType(StringBuilder.class, t.getDefault());
+
+ t._default(null);
+ assertNull(t.getDefault());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#multipleOf(java.lang.Object)}.
+ */
+ @Test
+ public void testMultipleOf() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.multipleOf(123);
+ assertEquals(123, t.getMultipleOf());
+ assertType(Integer.class, t.getMultipleOf());
+
+ t.multipleOf(123f);
+ assertEquals(123f, t.getMultipleOf());
+ assertType(Float.class, t.getMultipleOf());
+
+ t.multipleOf("123");
+ assertEquals(123, t.getMultipleOf());
+ assertType(Integer.class, t.getMultipleOf());
+
+ t.multipleOf(new StringBuilder("123"));
+ assertEquals(123, t.getMultipleOf());
+ assertType(Integer.class, t.getMultipleOf());
+
+ t.multipleOf(null);
+ assertNull(t.getMultipleOf());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#maximum(java.lang.Object)}.
+ */
+ @Test
+ public void testMaximum() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.maximum(123);
+ assertEquals(123, t.getMaximum());
+ assertType(Integer.class, t.getMaximum());
+
+ t.maximum(123f);
+ assertEquals(123f, t.getMaximum());
+ assertType(Float.class, t.getMaximum());
+
+ t.maximum("123");
+ assertEquals(123, t.getMaximum());
+ assertType(Integer.class, t.getMaximum());
+
+ t.maximum(new StringBuilder("123"));
+ assertEquals(123, t.getMaximum());
+ assertType(Integer.class, t.getMaximum());
+
+ t.maximum(null);
+ assertNull(t.getMaximum());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#exclusiveMaximum(java.lang.Object)}.
+ */
+ @Test
+ public void testExclusiveMaximum() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.exclusiveMaximum(true);
+ assertEquals(true, t.getExclusiveMaximum());
+ assertType(Boolean.class, t.getExclusiveMaximum());
+
+ t.exclusiveMaximum("true");
+ assertEquals(true, t.getExclusiveMaximum());
+ assertType(Boolean.class, t.getExclusiveMaximum());
+
+ t.exclusiveMaximum(new StringBuilder("true"));
+ assertEquals(true, t.getExclusiveMaximum());
+ assertType(Boolean.class, t.getExclusiveMaximum());
+
+ t.exclusiveMaximum(null);
+ assertNull(t.getExclusiveMaximum());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#minimum(java.lang.Object)}.
+ */
+ @Test
+ public void testMinimum() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.minimum(123);
+ assertEquals(123, t.getMinimum());
+ assertType(Integer.class, t.getMinimum());
+
+ t.minimum(123f);
+ assertEquals(123f, t.getMinimum());
+ assertType(Float.class, t.getMinimum());
+
+ t.minimum("123");
+ assertEquals(123, t.getMinimum());
+ assertType(Integer.class, t.getMinimum());
+
+ t.minimum(new StringBuilder("123"));
+ assertEquals(123, t.getMinimum());
+ assertType(Integer.class, t.getMinimum());
+
+ t.minimum(null);
+ assertNull(t.getMinimum());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#exclusiveMinimum(java.lang.Object)}.
+ */
+ @Test
+ public void testExclusiveMinimum() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.exclusiveMinimum(true);
+ assertEquals(true, t.getExclusiveMinimum());
+ assertType(Boolean.class, t.getExclusiveMinimum());
+
+ t.exclusiveMinimum("true");
+ assertEquals(true, t.getExclusiveMinimum());
+ assertType(Boolean.class, t.getExclusiveMinimum());
+
+ t.exclusiveMinimum(new StringBuilder("true"));
+ assertEquals(true, t.getExclusiveMinimum());
+ assertType(Boolean.class, t.getExclusiveMinimum());
+
+ t.exclusiveMinimum(null);
+ assertNull(t.getExclusiveMinimum());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#maxLength(java.lang.Object)}.
+ */
+ @Test
+ public void testMaxLength() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.maxLength(123);
+ assertEquals(123, t.getMaxLength().intValue());
+ assertType(Integer.class, t.getMaxLength());
+
+ t.maxLength(123f);
+ assertEquals(123, t.getMaxLength().intValue());
+ assertType(Integer.class, t.getMaxLength());
+
+ t.maxLength("123");
+ assertEquals(123, t.getMaxLength().intValue());
+ assertType(Integer.class, t.getMaxLength());
+
+ t.maxLength(new StringBuilder("123"));
+ assertEquals(123, t.getMaxLength().intValue());
+ assertType(Integer.class, t.getMaxLength());
+
+ t.maxLength(null);
+ assertNull(t.getMaxLength());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#minLength(java.lang.Object)}.
+ */
+ @Test
+ public void testMinLength() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.minLength(123);
+ assertEquals(123, t.getMinLength().intValue());
+ assertType(Integer.class, t.getMinLength());
+
+ t.minLength(123f);
+ assertEquals(123, t.getMinLength().intValue());
+ assertType(Integer.class, t.getMinLength());
+
+ t.minLength("123");
+ assertEquals(123, t.getMinLength().intValue());
+ assertType(Integer.class, t.getMinLength());
+
+ t.minLength(new StringBuilder("123"));
+ assertEquals(123, t.getMinLength().intValue());
+ assertType(Integer.class, t.getMinLength());
+
+ t.minLength(null);
+ assertNull(t.getMinLength());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#pattern(java.lang.Object)}.
+ */
+ @Test
+ public void testPattern() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.pattern("foo");
+ assertEquals("foo", t.getPattern());
+
+ t.pattern(new StringBuilder("foo"));
+ assertEquals("foo", t.getPattern());
+ assertType(String.class, t.getPattern());
+
+ t.pattern(null);
+ assertNull(t.getPattern());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#maxItems(java.lang.Object)}.
+ */
+ @Test
+ public void testMaxItems() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.maxItems(123);
+ assertEquals(123, t.getMaxItems().intValue());
+ assertType(Integer.class, t.getMaxItems());
+
+ t.maxItems(123f);
+ assertEquals(123, t.getMaxItems().intValue());
+ assertType(Integer.class, t.getMaxItems());
+
+ t.maxItems("123");
+ assertEquals(123, t.getMaxItems().intValue());
+ assertType(Integer.class, t.getMaxItems());
+
+ t.maxItems(new StringBuilder("123"));
+ assertEquals(123, t.getMaxItems().intValue());
+ assertType(Integer.class, t.getMaxItems());
+
+ t.maxItems(null);
+ assertNull(t.getMaxItems());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#minItems(java.lang.Object)}.
+ */
+ @Test
+ public void testMinItems() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.minItems(123);
+ assertEquals(123, t.getMinItems().intValue());
+ assertType(Integer.class, t.getMinItems());
+
+ t.minItems(123f);
+ assertEquals(123, t.getMinItems().intValue());
+ assertType(Integer.class, t.getMinItems());
+
+ t.minItems("123");
+ assertEquals(123, t.getMinItems().intValue());
+ assertType(Integer.class, t.getMinItems());
+
+ t.minItems(new StringBuilder("123"));
+ assertEquals(123, t.getMinItems().intValue());
+ assertType(Integer.class, t.getMinItems());
+
+ t.minItems(null);
+ assertNull(t.getMinItems());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#uniqueItems(java.lang.Object)}.
+ */
+ @Test
+ public void testUniqueItems() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.uniqueItems(true);
+ assertEquals(true, t.getUniqueItems());
+ assertType(Boolean.class, t.getUniqueItems());
+
+ t.uniqueItems("true");
+ assertEquals(true, t.getUniqueItems());
+ assertType(Boolean.class, t.getUniqueItems());
+
+ t.uniqueItems(new StringBuilder("true"));
+ assertEquals(true, t.getUniqueItems());
+ assertType(Boolean.class, t.getUniqueItems());
+
+ t.uniqueItems(null);
+ assertNull(t.getUniqueItems());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#maxProperties(java.lang.Object)}.
+ */
+ @Test
+ public void testMaxProperties() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.maxProperties(123);
+ assertEquals(123, t.getMaxProperties().intValue());
+ assertType(Integer.class, t.getMaxProperties());
+
+ t.maxProperties(123f);
+ assertEquals(123, t.getMaxProperties().intValue());
+ assertType(Integer.class, t.getMaxProperties());
+
+ t.maxProperties("123");
+ assertEquals(123, t.getMaxProperties().intValue());
+ assertType(Integer.class, t.getMaxProperties());
+
+ t.maxProperties(new StringBuilder("123"));
+ assertEquals(123, t.getMaxProperties().intValue());
+ assertType(Integer.class, t.getMaxProperties());
+
+ t.maxProperties(null);
+ assertNull(t.getMaxProperties());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#minProperties(java.lang.Object)}.
+ */
+ @Test
+ public void testMinProperties() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.minProperties(123);
+ assertEquals(123, t.getMinProperties().intValue());
+ assertType(Integer.class, t.getMinProperties());
+
+ t.minProperties(123f);
+ assertEquals(123, t.getMinProperties().intValue());
+ assertType(Integer.class, t.getMinProperties());
+
+ t.minProperties("123");
+ assertEquals(123, t.getMinProperties().intValue());
+ assertType(Integer.class, t.getMinProperties());
+
+ t.minProperties(new StringBuilder("123"));
+ assertEquals(123, t.getMinProperties().intValue());
+ assertType(Integer.class, t.getMinProperties());
+
+ t.minProperties(null);
+ assertNull(t.getMinProperties());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#required(java.lang.Object)}.
+ */
+ @Test
+ public void testRequired() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.required(true);
+ assertEquals(true, t.getRequired());
+ assertType(Boolean.class, t.getRequired());
+
+ t.required("true");
+ assertEquals(true, t.getRequired());
+ assertType(Boolean.class, t.getRequired());
+
+ t.required(new StringBuilder("true"));
+ assertEquals(true, t.getRequired());
+ assertType(Boolean.class, t.getRequired());
+
+ t.required(null);
+ assertNull(t.getRequired());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#setEnum(java.util.Collection)}.
+ */
+ @Test
+ public void testSetEnum() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.setEnum(new ASet<Object>().appendAll("foo","bar"));
+ assertObjectEquals("['foo','bar']", t.getEnum());
+ assertType(List.class, t.getEnum());
+
+ t.setEnum(new ASet<Object>());
+ assertObjectEquals("[]", t.getEnum());
+ assertType(List.class, t.getEnum());
+
+ t.setEnum(null);
+ assertNull(t.getEnum());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#addEnum(java.util.Collection)}.
+ */
+ @Test
+ public void testAddEnum() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.addEnum(new ASet<Object>().appendAll("foo","bar"));
+ assertObjectEquals("['foo','bar']", t.getEnum());
+ assertType(List.class, t.getEnum());
+
+ t.addEnum(new ASet<Object>().appendAll("baz"));
+ assertObjectEquals("['foo','bar','baz']", t.getEnum());
+ assertType(List.class, t.getEnum());
+
+ t.addEnum(null);
+ assertObjectEquals("['foo','bar','baz']", t.getEnum());
+ assertType(List.class, t.getEnum());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#_enum(java.lang.Object[])}.
+ */
+ @Test
+ public void test_enum() {
+ SchemaInfo t = new SchemaInfo();
+
+ t._enum(new ASet<Object>().appendAll("foo","bar"));
+ assertObjectEquals("['foo','bar']", t.getEnum());
+ assertType(List.class, t.getEnum());
+
+ t._enum(new ASet<Object>().appendAll("baz"));
+ assertObjectEquals("['foo','bar','baz']", t.getEnum());
+ assertType(List.class, t.getEnum());
+
+ t._enum((Object[])null);
+ assertObjectEquals("['foo','bar','baz']", t.getEnum());
+ assertType(List.class, t.getEnum());
+
+ t.setEnum(null);
+ t._enum("foo")._enum(new StringBuilder("bar"))._enum("['baz','qux']")._enum((Object)new String[]{"quux"});
+ assertObjectEquals("['foo','bar','baz','qux','quux']", t.getEnum());
+ assertType(List.class, t.getEnum());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#type(java.lang.Object)}.
+ */
+ @Test
+ public void testType() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.type("foo");
+ assertEquals("foo", t.getType());
+
+ t.type(new StringBuilder("foo"));
+ assertEquals("foo", t.getType());
+ assertType(String.class, t.getType());
+
+ t.type(null);
+ assertNull(t.getType());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#items(java.lang.Object)}.
+ */
+ @Test
+ public void testItems() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.items(items("foo"));
+ assertObjectEquals("{type:'foo'}", t.getItems());
+
+ t.items("{type:'foo'}");
+ assertObjectEquals("{type:'foo'}", t.getItems());
+ assertType(Items.class, t.getItems());
+
+ t.items(null);
+ assertNull(t.getItems());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#setAllOf(java.util.Collection)}.
+ */
+ @Test
+ public void testSetAllOf() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.setAllOf(new ASet<Object>().appendAll("foo","bar"));
+ assertObjectEquals("['foo','bar']", t.getAllOf());
+ assertType(List.class, t.getAllOf());
+
+ t.setAllOf(new ASet<Object>());
+ assertObjectEquals("[]", t.getAllOf());
+ assertType(List.class, t.getAllOf());
+
+ t.setAllOf(null);
+ assertNull(t.getAllOf());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#addAllOf(java.util.Collection)}.
+ */
+ @Test
+ public void testAddAllOf() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.addAllOf(new ASet<Object>().appendAll("foo","bar"));
+ assertObjectEquals("['foo','bar']", t.getAllOf());
+ assertType(List.class, t.getAllOf());
+
+ t.addAllOf(new ASet<Object>());
+ assertObjectEquals("['foo','bar']", t.getAllOf());
+ assertType(List.class, t.getAllOf());
+
+ t.addAllOf(null);
+ assertObjectEquals("['foo','bar']", t.getAllOf());
+ assertType(List.class, t.getAllOf());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#allOf(java.lang.Object[])}.
+ */
+ @Test
+ public void testAllOf() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.allOf(new ASet<String>().appendAll("a"));
+ t.allOf(new ASet<Object>().appendAll(new StringBuilder("b")));
+ t.allOf((Object)new String[] {"c"});
+ t.allOf((Object)new Object[] {new StringBuilder("d")});
+ t.allOf("e");
+ t.allOf("['f']");
+ t.allOf("[]");
+ t.allOf((Object)null);
+ assertObjectEquals("['a','b','c','d','e','f']", t.getAllOf());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#setProperties(java.util.Map)}.
+ */
+ @Test
+ public void testSetProperties() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.setProperties(new AMap<String,Map<String,Object>>().append("foo",new AMap<String,Object>().append("bar",new AList<Number>().append(123))));
+ assertObjectEquals("{foo:{bar:[123]}}", t.getProperties());
+ assertType(Map.class, t.getProperties());
+
+ t.setProperties(new AMap<String,Map<String,Object>>());
+ assertObjectEquals("{}", t.getProperties());
+ assertType(Map.class, t.getProperties());
+
+ t.setProperties(null);
+ assertNull(t.getProperties());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#addProperties(java.util.Map)}.
+ */
+ @Test
+ public void testAddProperties() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.addProperties(new AMap<String,Map<String,Object>>().append("foo",new AMap<String,Object>().append("bar",new AList<Number>().append(123))));
+ assertObjectEquals("{foo:{bar:[123]}}", t.getProperties());
+ assertType(Map.class, t.getProperties());
+
+ t.addProperties(new AMap<String,Map<String,Object>>());
+ assertObjectEquals("{foo:{bar:[123]}}", t.getProperties());
+ assertType(Map.class, t.getProperties());
+
+ t.addProperties(null);
+ assertObjectEquals("{foo:{bar:[123]}}", t.getProperties());
+ assertType(Map.class, t.getProperties());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#properties(java.lang.Object[])}.
+ */
+ @Test
+ public void testProperties() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.properties(new AMap<String,Map<String,Object>>().append("a", new AMap<String,Object>().append("a1", 1)));
+ t.properties(new AMap<String,String>().append("b", "{b1:2}"));
+ t.properties("{c:{c1:'c2'}}");
+ t.properties("{}");
+ t.properties((Object[])null);
+
+ assertObjectEquals("{a:{a1:1},b:{b1:2},c:{c1:'c2'}}", t.getProperties());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#setAdditionalProperties(java.util.Map)}.
+ */
+ @Test
+ public void testSetAdditionalProperties() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.setAdditionalProperties(new AMap<String,Object>().append("foo",new AList<String>().append("bar")));
+ assertObjectEquals("{foo:['bar']}", t.getAdditionalProperties());
+ assertType(Map.class, t.getAdditionalProperties());
+
+ t.setAdditionalProperties(new AMap<String,Object>());
+ assertObjectEquals("{}", t.getAdditionalProperties());
+ assertType(Map.class, t.getAdditionalProperties());
+
+ t.setAdditionalProperties(null);
+ assertNull(t.getAdditionalProperties());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#addAdditionalProperties(java.util.Map)}.
+ */
+ @Test
+ public void testAddAdditionalProperties() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.addAdditionalProperties(new AMap<String,Object>().append("foo",new AList<String>().append("bar")));
+ assertObjectEquals("{foo:['bar']}", t.getAdditionalProperties());
+ assertType(Map.class, t.getAdditionalProperties());
+
+ t.addAdditionalProperties(new AMap<String,Object>());
+ assertObjectEquals("{foo:['bar']}", t.getAdditionalProperties());
+ assertType(Map.class, t.getAdditionalProperties());
+
+ t.addAdditionalProperties(null);
+ assertObjectEquals("{foo:['bar']}", t.getAdditionalProperties());
+ assertType(Map.class, t.getAdditionalProperties());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#additionalProperty(java.lang.String, java.lang.Object)}.
+ */
+ @Test
+ public void testAdditionalProperty() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.additionalProperty("a", "a1");
+ t.additionalProperty(null, "b1");
+ t.additionalProperty("c", null);
+
+ assertObjectEquals("{a:'a1',null:'b1',c:null}", t.getAdditionalProperties());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#additionalProperties(java.lang.Object[])}.
+ */
+ @Test
+ public void testAdditionalProperties() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.additionalProperties(new AMap<String,Object>().append("a",new AList<String>().append("a1")));
+ t.additionalProperties(new AMap<String,Object>().append("b","b1"));
+ t.additionalProperties("{c:['c1']}");
+ t.additionalProperties("{}");
+ t.additionalProperties((Object)null);
+
+ assertObjectEquals("{a:['a1'],b:'b1',c:['c1']}", t.getAdditionalProperties());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#discriminator(java.lang.Object)}.
+ */
+ @Test
+ public void testDiscriminator() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.discriminator("foo");
+ assertEquals("foo", t.getDiscriminator());
+
+ t.discriminator(new StringBuilder("foo"));
+ assertEquals("foo", t.getDiscriminator());
+ assertType(String.class, t.getDiscriminator());
+
+ t.discriminator(null);
+ assertNull(t.getDiscriminator());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#readOnly(java.lang.Object)}.
+ */
+ @Test
+ public void testReadOnly() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.readOnly(true);
+ assertEquals(true, t.getReadOnly());
+ assertType(Boolean.class, t.getReadOnly());
+
+ t.readOnly("true");
+ assertEquals(true, t.getReadOnly());
+ assertType(Boolean.class, t.getReadOnly());
+
+ t.readOnly(new StringBuilder("true"));
+ assertEquals(true, t.getReadOnly());
+ assertType(Boolean.class, t.getReadOnly());
+
+ t.readOnly(null);
+ assertNull(t.getReadOnly());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#xml(java.lang.Object)}.
+ */
+ @Test
+ public void testXml() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.xml(xml().name("foo"));
+ assertObjectEquals("{name:'foo'}", t.getXml());
+
+ t.xml("{name:'foo'}");
+ assertObjectEquals("{name:'foo'}", t.getXml());
+ assertType(Xml.class, t.getXml());
+
+ t.xml(null);
+ assertNull(t.getXml());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#externalDocs(java.lang.Object)}.
+ */
+ @Test
+ public void testExternalDocs() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.externalDocs(externalDocumentation("foo"));
+ assertObjectEquals("{url:'foo'}", t.getExternalDocs());
+
+ t.externalDocs("{url:'foo'}");
+ assertObjectEquals("{url:'foo'}", t.getExternalDocs());
+ assertType(ExternalDocumentation.class, t.getExternalDocs());
+
+ t.externalDocs(null);
+ assertNull(t.getExternalDocs());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#example(java.lang.Object)}.
+ */
+ @Test
+ public void testExample() {
+ SchemaInfo t = new SchemaInfo();
+
+ t.example("foo");
+ assertEquals("foo", t.getExample());
+
+ t.example(123);
+ assertEquals(123, t.getExample());
+
+ t.example(null);
+ assertNull(t.getExample());
+ }
+
+ /**
+ * Test method for {@link SchemaInfo#set(java.lang.String, java.lang.Object)}.
+ */
+ @Test
+ public void testSet() throws Exception {
+ SchemaInfo t = new SchemaInfo();
+
+ t
+ .set("default", "a")
+ .set("enum", new ASet<Object>().appendAll("b"))
+ .set("additionalProperties", new AMap<String,Object>().append("c",new AList<String>().append("c1")))
+ .set("allOf", new ASet<String>().appendAll("d"))
+ .set("description", "e")
+ .set("discriminator", "f")
+ .set("example", "g")
+ .set("exclusiveMaximum", true)
+ .set("exclusiveMinimum", true)
+ .set("externalDocs", externalDocumentation("h"))
+ .set("format", "i")
+ .set("items", items("j"))
+ .set("maximum", 123f)
+ .set("maxItems", 123)
+ .set("maxLength", 123)
+ .set("maxProperties", 123)
+ .set("minimum", 123f)
+ .set("minItems", 123)
+ .set("minLength", 123)
+ .set("minProperties", 123)
+ .set("multipleOf", 123f)
+ .set("pattern", "k")
+ .set("properties", new AMap<String,Map<String,Object>>().append("l", new AMap<String,Object>().append("l1", 1)))
+ .set("readOnly", true)
+ .set("required", true)
+ .set("title", "m")
+ .set("type", "n")
+ .set("uniqueItems", true)
+ .set("xml", xml().name("o"))
+ .set("$ref", "ref");
+
+ assertObjectEquals("{format:'i',title:'m',description:'e','default':'a',multipleOf:123.0,maximum:123.0,exclusiveMaximum:true,minimum:123.0,exclusiveMinimum:true,maxLength:123,minLength:123,pattern:'k',maxItems:123,minItems:123,uniqueItems:true,maxProperties:123,minProperties:123,required:true,'enum':['b'],type:'n',items:{type:'j'},allOf:['d'],properties:{l:{l1:1}},additionalProperties:{c:['c1']},discriminator:'f',readOnly:true,xml:{name:'o'},externalDocs:{url:'h'},example:'g','$ref':'ref'}", t);
+
+ t
+ .set("default", "a")
+ .set("enum", "['b']")
+ .set("additionalProperties", "{c:['c1']}")
+ .set("allOf", "['d']")
+ .set("description", "e")
+ .set("discriminator", "f")
+ .set("example", "g")
+ .set("exclusiveMaximum", "true")
+ .set("exclusiveMinimum", "true")
+ .set("externalDocs", "{url:'h'}")
+ .set("format", "i")
+ .set("items", "{type:'j'}")
+ .set("maximum", "123.0")
+ .set("maxItems", "123")
+ .set("maxLength", "123")
+ .set("maxProperties", "123")
+ .set("minimum", "123.0")
+ .set("minItems", "123")
+ .set("minLength", "123")
+ .set("minProperties", "123")
+ .set("multipleOf", "123.0")
+ .set("pattern", "k")
+ .set("properties", "{l:{l1:1}}")
+ .set("readOnly", "true")
+ .set("required", "true")
+ .set("title", "m")
+ .set("type", "n")
+ .set("uniqueItems", "true")
+ .set("xml", "{name:'o'}")
+ .set("$ref", "ref");
+
+ assertObjectEquals("{format:'i',title:'m',description:'e','default':'a',multipleOf:123.0,maximum:123.0,exclusiveMaximum:true,minimum:123.0,exclusiveMinimum:true,maxLength:123,minLength:123,pattern:'k',maxItems:123,minItems:123,uniqueItems:true,maxProperties:123,minProperties:123,required:true,'enum':['b'],type:'n',items:{type:'j'},allOf:['d'],properties:{l:{l1:1}},additionalProperties:{c:['c1']},discriminator:'f',readOnly:true,xml:{name:'o'},externalDocs:{url:'h'},example:'g','$ref':'ref'}", t);
+
+ t
+ .set("default", new StringBuilder("a"))
+ .set("enum", new StringBuilder("['b']"))
+ .set("additionalProperties", new StringBuilder("{c:['c1']}"))
+ .set("allOf", new StringBuilder("['d']"))
+ .set("description", new StringBuilder("e"))
+ .set("discriminator", new StringBuilder("f"))
+ .set("example", new StringBuilder("g"))
+ .set("exclusiveMaximum", new StringBuilder("true"))
+ .set("exclusiveMinimum", new StringBuilder("true"))
+ .set("externalDocs", new StringBuilder("{url:'h'}"))
+ .set("format", new StringBuilder("i"))
+ .set("items", new StringBuilder("{type:'j'}"))
+ .set("maximum", new StringBuilder("123.0"))
+ .set("maxItems", new StringBuilder("123"))
+ .set("maxLength", new StringBuilder("123"))
+ .set("maxProperties", new StringBuilder("123"))
+ .set("minimum", new StringBuilder("123.0"))
+ .set("minItems", new StringBuilder("123"))
+ .set("minLength", new StringBuilder("123"))
+ .set("minProperties", new StringBuilder("123"))
+ .set("multipleOf", new StringBuilder("123.0"))
+ .set("pattern", new StringBuilder("k"))
+ .set("properties", new StringBuilder("{l:{l1:1}}"))
+ .set("readOnly", new StringBuilder("true"))
+ .set("required", new StringBuilder("true"))
+ .set("title", new StringBuilder("m"))
+ .set("type", new StringBuilder("n"))
+ .set("uniqueItems", new StringBuilder("true"))
+ .set("xml", new StringBuilder("{name:'o'}"))
+ .set("$ref", new StringBuilder("ref"));
+
+ assertObjectEquals("{format:'i',title:'m',description:'e','default':'a',multipleOf:123.0,maximum:123.0,exclusiveMaximum:true,minimum:123.0,exclusiveMinimum:true,maxLength:123,minLength:123,pattern:'k',maxItems:123,minItems:123,uniqueItems:true,maxProperties:123,minProperties:123,required:true,'enum':['b'],type:'n',items:{type:'j'},allOf:['d'],properties:{l:{l1:1}},additionalProperties:{c:['c1']},discriminator:'f',readOnly:true,xml:{name:'o'},externalDocs:{url:'h'},example:'g','$ref':'ref'}", t);
+
+ assertEquals("a", t.get("default", String.class));
+ assertEquals("['b']", t.get("enum", String.class));
+ assertEquals("{c:['c1']}", t.get("additionalProperties", String.class));
+ assertEquals("['d']", t.get("allOf", String.class));
+ assertEquals("e", t.get("description", String.class));
+ assertEquals("f", t.get("discriminator", String.class));
+ assertEquals("g", t.get("example", String.class));
+ assertEquals("true", t.get("exclusiveMaximum", String.class));
+ assertEquals("true", t.get("exclusiveMinimum", String.class));
+ assertEquals("{url:'h'}", t.get("externalDocs", String.class));
+ assertEquals("i", t.get("format", String.class));
+ assertEquals("{type:'j'}", t.get("items", String.class));
+ assertEquals("123.0", t.get("maximum", String.class));
+ assertEquals("123", t.get("maxItems", String.class));
+ assertEquals("123", t.get("maxLength", String.class));
+ assertEquals("123", t.get("maxProperties", String.class));
+ assertEquals("123.0", t.get("minimum", String.class));
+ assertEquals("123", t.get("minItems", String.class));
+ assertEquals("123", t.get("minLength", String.class));
+ assertEquals("123", t.get("minProperties", String.class));
+ assertEquals("123.0", t.get("multipleOf", String.class));
+ assertEquals("k", t.get("pattern", String.class));
+ assertEquals("{l:{l1:1}}", t.get("properties", String.class));
+ assertEquals("true", t.get("readOnly", String.class));
+ assertEquals("true", t.get("required", String.class));
+ assertEquals("m", t.get("title", String.class));
+ assertEquals("n", t.get("type", String.class));
+ assertEquals("true", t.get("uniqueItems", String.class));
+ assertEquals("{name:'o'}", t.get("xml", String.class));
+ assertEquals("ref", t.get("$ref", String.class));
+
+ assertType(StringBuilder.class, t.get("default", Object.class));
+ assertType(List.class, t.get("enum", Object.class));
+ assertType(Map.class, t.get("additionalProperties", Object.class));
+ assertType(List.class, t.get("allOf", Object.class));
+ assertType(String.class, t.get("description", Object.class));
+ assertType(String.class, t.get("discriminator", Object.class));
+ assertType(StringBuilder.class, t.get("example", Object.class));
+ assertType(Boolean.class, t.get("exclusiveMaximum", Object.class));
+ assertType(Boolean.class, t.get("exclusiveMinimum", Object.class));
+ assertType(ExternalDocumentation.class, t.get("externalDocs", Object.class));
+ assertType(String.class, t.get("format", Object.class));
+ assertType(Items.class, t.get("items", Object.class));
+ assertType(Float.class, t.get("maximum", Object.class));
+ assertType(Integer.class, t.get("maxItems", Object.class));
+ assertType(Integer.class, t.get("maxLength", Object.class));
+ assertType(Integer.class, t.get("maxProperties", Object.class));
+ assertType(Float.class, t.get("minimum", Object.class));
+ assertType(Integer.class, t.get("minItems", Object.class));
+ assertType(Integer.class, t.get("minLength", Object.class));
+ assertType(Integer.class, t.get("minProperties", Object.class));
+ assertType(Float.class, t.get("multipleOf", Object.class));
+ assertType(String.class, t.get("pattern", Object.class));
+ assertType(Map.class, t.get("properties", Object.class));
+ assertType(Boolean.class, t.get("readOnly", Object.class));
+ assertType(Boolean.class, t.get("required", Object.class));
+ assertType(String.class, t.get("title", Object.class));
+ assertType(String.class, t.get("type", Object.class));
+ assertType(Boolean.class, t.get("uniqueItems", Object.class));
+ assertType(Xml.class, t.get("xml", Object.class));
+ assertType(StringBuilder.class, t.get("$ref", Object.class));
+
+ t.set("null", null).set(null, "null");
+ assertNull(t.get("null", Object.class));
+ assertNull(t.get(null, Object.class));
+ assertNull(t.get("foo", Object.class));
+
+ String s = "{format:'i',title:'m',description:'e','default':'a',multipleOf:123.0,maximum:123.0,exclusiveMaximum:true,minimum:123.0,exclusiveMinimum:true,maxLength:123,minLength:123,pattern:'k',maxItems:123,minItems:123,uniqueItems:true,maxProperties:123,minProperties:123,required:true,'enum':['b'],type:'n',items:{type:'j'},allOf:['d'],properties:{l:{l1:1}},additionalProperties:{c:['c1']},discriminator:'f',readOnly:true,xml:{name:'o'},externalDocs:{url:'h'},example:'g','$ref':'ref'}";
+ assertObjectEquals(s, JsonParser.DEFAULT.parse(s, SchemaInfo.class));
+ }
+}
http://git-wip-us.apache.org/repos/asf/juneau/blob/8df34f56/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/dto/swagger/SecuritySchemeTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/dto/swagger/SecuritySchemeTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/dto/swagger/SecuritySchemeTest.java
new file mode 100644
index 0000000..d878c31
--- /dev/null
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/dto/swagger/SecuritySchemeTest.java
@@ -0,0 +1,284 @@
+// ***************************************************************************************************************************
+// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file *
+// * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file *
+// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance *
+// * with the License. You may obtain a copy of the License at *
+// * *
+// * http://www.apache.org/licenses/LICENSE-2.0 *
+// * *
+// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an *
+// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the *
+// * specific language governing permissions and limitations under the License. *
+// ***************************************************************************************************************************
+package org.apache.juneau.dto.swagger;
+
+import static org.apache.juneau.TestUtils.*;
+import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+
+import java.util.*;
+
+import org.apache.juneau.json.*;
+import org.apache.juneau.utils.*;
+import org.junit.*;
+
+/**
+ * Testcase for {@link SecurityScheme}.
+ */
+public class SecuritySchemeTest {
+
+ /**
+ * Test method for {@link SecurityScheme#type(java.lang.Object)}.
+ */
+ @Test
+ public void testType() {
+ SecurityScheme t = new SecurityScheme();
+
+ t.type("foo");
+ assertEquals("foo", t.getType());
+
+ t.type(new StringBuilder("foo"));
+ assertEquals("foo", t.getType());
+ assertType(String.class, t.getType());
+
+ t.type(null);
+ assertNull(t.getType());
+ }
+
+ /**
+ * Test method for {@link SecurityScheme#description(java.lang.Object)}.
+ */
+ @Test
+ public void testDescription() {
+ SecurityScheme t = new SecurityScheme();
+
+ t.description("foo");
+ assertEquals("foo", t.getDescription());
+
+ t.description(new StringBuilder("foo"));
+ assertEquals("foo", t.getDescription());
+ assertType(String.class, t.getDescription());
+
+ t.description(null);
+ assertNull(t.getDescription());
+ }
+
+ /**
+ * Test method for {@link SecurityScheme#name(java.lang.Object)}.
+ */
+ @Test
+ public void testName() {
+ SecurityScheme t = new SecurityScheme();
+
+ t.name("foo");
+ assertEquals("foo", t.getName());
+
+ t.name(new StringBuilder("foo"));
+ assertEquals("foo", t.getName());
+ assertType(String.class, t.getName());
+
+ t.name(null);
+ assertNull(t.getName());
+ }
+
+ /**
+ * Test method for {@link SecurityScheme#in(java.lang.Object)}.
+ */
+ @Test
+ public void testIn() {
+ SecurityScheme t = new SecurityScheme();
+
+ t.in("foo");
+ assertEquals("foo", t.getIn());
+
+ t.in(new StringBuilder("foo"));
+ assertEquals("foo", t.getIn());
+ assertType(String.class, t.getIn());
+
+ t.in(null);
+ assertNull(t.getIn());
+ }
+
+ /**
+ * Test method for {@link SecurityScheme#flow(java.lang.Object)}.
+ */
+ @Test
+ public void testFlow() {
+ SecurityScheme t = new SecurityScheme();
+
+ t.flow("foo");
+ assertEquals("foo", t.getFlow());
+
+ t.flow(new StringBuilder("foo"));
+ assertEquals("foo", t.getFlow());
+ assertType(String.class, t.getFlow());
+
+ t.flow(null);
+ assertNull(t.getFlow());
+ }
+
+ /**
+ * Test method for {@link SecurityScheme#authorizationUrl(java.lang.Object)}.
+ */
+ @Test
+ public void testAuthorizationUrl() {
+ SecurityScheme t = new SecurityScheme();
+
+ t.authorizationUrl("foo");
+ assertEquals("foo", t.getAuthorizationUrl());
+
+ t.authorizationUrl(new StringBuilder("foo"));
+ assertEquals("foo", t.getAuthorizationUrl());
+ assertType(String.class, t.getAuthorizationUrl());
+
+ t.authorizationUrl(null);
+ assertNull(t.getAuthorizationUrl());
+ }
+
+ /**
+ * Test method for {@link SecurityScheme#tokenUrl(java.lang.Object)}.
+ */
+ @Test
+ public void testTokenUrl() {
+ SecurityScheme t = new SecurityScheme();
+
+ t.tokenUrl("foo");
+ assertEquals("foo", t.getTokenUrl());
+
+ t.tokenUrl(new StringBuilder("foo"));
+ assertEquals("foo", t.getTokenUrl());
+ assertType(String.class, t.getTokenUrl());
+
+ t.tokenUrl(null);
+ assertNull(t.getTokenUrl());
+ }
+
+ /**
+ * Test method for {@link SecurityScheme#setScopes(java.util.Map)}.
+ */
+ @Test
+ public void testSetScopes() {
+ SecurityScheme t = new SecurityScheme();
+
+ t.setScopes(new AMap<String,String>().append("foo","bar"));
+ assertObjectEquals("{foo:'bar'}", t.getScopes());
+ assertType(Map.class, t.getScopes());
+
+ t.setScopes(new AMap<String,String>());
+ assertObjectEquals("{}", t.getScopes());
+ assertType(Map.class, t.getScopes());
+
+ t.setScopes(null);
+ assertNull(t.getScopes());
+ }
+
+ /**
+ * Test method for {@link SecurityScheme#addScopes(java.util.Map)}.
+ */
+ @Test
+ public void testAddScopes() {
+ SecurityScheme t = new SecurityScheme();
+
+ t.addScopes(new AMap<String,String>().append("foo","bar"));
+ assertObjectEquals("{foo:'bar'}", t.getScopes());
+ assertType(Map.class, t.getScopes());
+
+ t.addScopes(new AMap<String,String>());
+ assertObjectEquals("{foo:'bar'}", t.getScopes());
+ assertType(Map.class, t.getScopes());
+
+ t.addScopes(null);
+ assertObjectEquals("{foo:'bar'}", t.getScopes());
+ assertType(Map.class, t.getScopes());
+ }
+
+ /**
+ * Test method for {@link SecurityScheme#scopes(java.lang.Object[])}.
+ */
+ @Test
+ public void testScopes() {
+ SecurityScheme t = new SecurityScheme();
+
+ t.scopes(new AMap<String,String>().append("a", "a1"));
+ t.scopes("{b:'b1'}");
+ t.scopes("{}");
+ t.scopes((Object[])null);
+
+ assertObjectEquals("{a:'a1',b:'b1'}", t.getScopes());
+ }
+
+ /**
+ * Test method for {@link SecurityScheme#set(java.lang.String, java.lang.Object)}.
+ */
+ @Test
+ public void testSet() throws Exception {
+ SecurityScheme t = new SecurityScheme();
+
+ t
+ .set("authorizationUrl", "a")
+ .set("description", "b")
+ .set("flow", "c")
+ .set("in", "d")
+ .set("name", "e")
+ .set("scopes", new AMap<String,String>().append("foo","bar"))
+ .set("tokenUrl", "f")
+ .set("type", "g")
+ .set("$ref", "ref");
+
+ assertObjectEquals("{type:'g',description:'b',name:'e','in':'d',flow:'c',authorizationUrl:'a',tokenUrl:'f',scopes:{foo:'bar'},'$ref':'ref'}", t);
+
+ t
+ .set("authorizationUrl", "a")
+ .set("description", "b")
+ .set("flow", "c")
+ .set("in", "d")
+ .set("name", "e")
+ .set("scopes", "{foo:'bar'}")
+ .set("tokenUrl", "f")
+ .set("type", "g")
+ .set("$ref", "ref");
+
+ assertObjectEquals("{type:'g',description:'b',name:'e','in':'d',flow:'c',authorizationUrl:'a',tokenUrl:'f',scopes:{foo:'bar'},'$ref':'ref'}", t);
+
+ t
+ .set("authorizationUrl", new StringBuilder("a"))
+ .set("description", new StringBuilder("b"))
+ .set("flow", new StringBuilder("c"))
+ .set("in", new StringBuilder("d"))
+ .set("name", new StringBuilder("e"))
+ .set("scopes", new StringBuilder("{foo:'bar'}"))
+ .set("tokenUrl", new StringBuilder("f"))
+ .set("type", new StringBuilder("g"))
+ .set("$ref", new StringBuilder("ref"));
+
+ assertObjectEquals("{type:'g',description:'b',name:'e','in':'d',flow:'c',authorizationUrl:'a',tokenUrl:'f',scopes:{foo:'bar'},'$ref':'ref'}", t);
+
+ assertEquals("a", t.get("authorizationUrl", String.class));
+ assertEquals("b", t.get("description", String.class));
+ assertEquals("c", t.get("flow", String.class));
+ assertEquals("d", t.get("in", String.class));
+ assertEquals("e", t.get("name", String.class));
+ assertEquals("{foo:'bar'}", t.get("scopes", String.class));
+ assertEquals("f", t.get("tokenUrl", String.class));
+ assertEquals("g", t.get("type", String.class));
+ assertEquals("ref", t.get("$ref", String.class));
+
+ assertType(String.class, t.get("authorizationUrl", Object.class));
+ assertType(String.class, t.get("description", Object.class));
+ assertType(String.class, t.get("flow", Object.class));
+ assertType(String.class, t.get("in", Object.class));
+ assertType(String.class, t.get("name", Object.class));
+ assertType(Map.class, t.get("scopes", Object.class));
+ assertType(String.class, t.get("tokenUrl", Object.class));
+ assertType(String.class, t.get("type", Object.class));
+ assertType(StringBuilder.class, t.get("$ref", Object.class));
+
+ t.set("null", null).set(null, "null");
+ assertNull(t.get("null", Object.class));
+ assertNull(t.get(null, Object.class));
+ assertNull(t.get("foo", Object.class));
+
+ String s = "{type:'g',description:'b',name:'e','in':'d',flow:'c',authorizationUrl:'a',tokenUrl:'f',scopes:{foo:'bar'},'$ref':'ref'}";
+ assertObjectEquals(s, JsonParser.DEFAULT.parse(s, SecurityScheme.class));
+ }
+}
http://git-wip-us.apache.org/repos/asf/juneau/blob/8df34f56/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/dto/swagger/SwaggerBuilderTest.java
----------------------------------------------------------------------
diff --git a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/dto/swagger/SwaggerBuilderTest.java b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/dto/swagger/SwaggerBuilderTest.java
new file mode 100644
index 0000000..d34eb3f
--- /dev/null
+++ b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/dto/swagger/SwaggerBuilderTest.java
@@ -0,0 +1,322 @@
+// ***************************************************************************************************************************
+// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file *
+// * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file *
+// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance *
+// * with the License. You may obtain a copy of the License at *
+// * *
+// * http://www.apache.org/licenses/LICENSE-2.0 *
+// * *
+// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an *
+// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the *
+// * specific language governing permissions and limitations under the License. *
+// ***************************************************************************************************************************
+package org.apache.juneau.dto.swagger;
+
+import static org.junit.Assert.*;
+import static org.apache.juneau.dto.swagger.SwaggerBuilder.*;
+import static org.apache.juneau.TestUtils.*;
+
+import org.junit.*;
+
+/**
+ * Testcase for {@link SwaggerBuilder}.
+ */
+public class SwaggerBuilderTest {
+
+ /**
+ * Test method for {@link SwaggerBuilder#contact()}.
+ */
+ @Test
+ public void testContact() {
+ Contact t = contact();
+ assertObjectEquals("{}", t);
+ }
+
+ /**
+ * Test method for {@link SwaggerBuilder#contact(java.lang.String)}.
+ */
+ @Test
+ public void testContactString() {
+ Contact t = contact("foo");
+ assertObjectEquals("{name:'foo'}", t);
+ }
+
+ /**
+ * Test method for {@link SwaggerBuilder#contact(java.lang.String, java.lang.Object, java.lang.String)}.
+ */
+ @Test
+ public void testContactStringObjectString() {
+ Contact t = contact("foo", "bar", "baz");
+ assertObjectEquals("{name:'foo',url:'bar',email:'baz'}", t);
+ }
+
+ /**
+ * Test method for {@link SwaggerBuilder#externalDocumentation()}.
+ */
+ @Test
+ public void testExternalDocumentation() {
+ ExternalDocumentation t = externalDocumentation();
+ assertObjectEquals("{}", t);
+ }
+
+ /**
+ * Test method for {@link SwaggerBuilder#externalDocumentation(java.lang.Object)}.
+ */
+ @Test
+ public void testExternalDocumentationObject() {
+ ExternalDocumentation t = externalDocumentation("foo");
+ assertObjectEquals("{url:'foo'}", t);
+ }
+
+ /**
+ * Test method for {@link SwaggerBuilder#externalDocumentation(java.lang.Object, java.lang.String)}.
+ */
+ @Test
+ public void testExternalDocumentationObjectString() {
+ ExternalDocumentation t = externalDocumentation("foo", "bar");
+ assertObjectEquals("{description:'bar',url:'foo'}", t);
+ }
+
+ /**
+ * Test method for {@link SwaggerBuilder#headerInfo()}.
+ */
+ @Test
+ public void testHeaderInfo() {
+ HeaderInfo t = headerInfo();
+ assertObjectEquals("{}", t);
+ }
+
+ /**
+ * Test method for {@link SwaggerBuilder#headerInfo(java.lang.String)}.
+ */
+ @Test
+ public void testHeaderInfoString() {
+ HeaderInfo t = headerInfo("foo");
+ assertObjectEquals("{type:'foo'}", t);
+ }
+
+ /**
+ * Test method for {@link SwaggerBuilder#headerInfoStrict(java.lang.String)}.
+ */
+ @Test
+ public void testHeaderInfoStrict() {
+ HeaderInfo t = headerInfoStrict("string");
+ assertObjectEquals("{type:'string'}", t);
+
+ try {
+ headerInfoStrict("foo");
+ } catch (Exception e) {
+ assertEquals("Invalid value passed in to setType(String). Value='foo', valid values=['string','number','integer','boolean','array']", e.getLocalizedMessage());
+ }
+ }
+
+ /**
+ * Test method for {@link SwaggerBuilder#info()}.
+ */
+ @Test
+ public void testInfo() {
+ Info t = info();
+ assertObjectEquals("{}", t);
+ }
+
+ /**
+ * Test method for {@link SwaggerBuilder#info(java.lang.String, java.lang.String)}.
+ */
+ @Test
+ public void testInfoStringString() {
+ Info t = info("foo", "bar");
+ assertObjectEquals("{title:'foo',version:'bar'}", t);
+ }
+
+ /**
+ * Test method for {@link SwaggerBuilder#items()}.
+ */
+ @Test
+ public void testItems() {
+ Items t = items();
+ assertObjectEquals("{}", t);
+ }
+
+ /**
+ * Test method for {@link SwaggerBuilder#items(java.lang.String)}.
+ */
+ @Test
+ public void testItemsString() {
+ Items t = items("foo");
+ assertObjectEquals("{type:'foo'}", t);
+ }
+
+ /**
+ * Test method for {@link SwaggerBuilder#itemsStrict(java.lang.String)}.
+ */
+ @Test
+ public void testItemsStrict() {
+ Items t = itemsStrict("string");
+ assertObjectEquals("{type:'string'}", t);
+
+ try {
+ itemsStrict("foo");
+ } catch (Exception e) {
+ assertEquals("Invalid value passed in to setType(String). Value='foo', valid values=['string','number','integer','boolean','array']", e.getLocalizedMessage());
+ }
+ }
+
+ /**
+ * Test method for {@link SwaggerBuilder#license()}.
+ */
+ @Test
+ public void testLicense() {
+ License t = license();
+ assertObjectEquals("{}", t);
+ }
+
+ /**
+ * Test method for {@link SwaggerBuilder#license(java.lang.String)}.
+ */
+ @Test
+ public void testLicenseString() {
+ License t = license("foo");
+ assertObjectEquals("{name:'foo'}", t);
+ }
+
+ /**
+ * Test method for {@link SwaggerBuilder#operation()}.
+ */
+ @Test
+ public void testOperation() {
+ Operation t = operation();
+ assertObjectEquals("{}", t);
+ }
+
+ /**
+ * Test method for {@link SwaggerBuilder#parameterInfo()}.
+ */
+ @Test
+ public void testParameterInfo() {
+ ParameterInfo t = parameterInfo();
+ assertObjectEquals("{}", t);
+ }
+
+ /**
+ * Test method for {@link SwaggerBuilder#parameterInfo(java.lang.String, java.lang.String)}.
+ */
+ @Test
+ public void testParameterInfoStringString() {
+ ParameterInfo t = parameterInfo("foo", "bar");
+ assertObjectEquals("{'in':'foo',name:'bar'}", t);
+ }
+
+ /**
+ * Test method for {@link SwaggerBuilder#parameterInfoStrict(java.lang.String, java.lang.String)}.
+ */
+ @Test
+ public void testParameterInfoStrict() {
+ ParameterInfo t = parameterInfoStrict("query", "bar");
+ assertObjectEquals("{'in':'query',name:'bar'}", t);
+
+ try {
+ parameterInfoStrict("foo", "bar");
+ } catch (Exception e) {
+ assertEquals("Invalid value passed in to setIn(String). Value='foo', valid values=['query','header','path','formData','body']", e.getLocalizedMessage());
+ }
+ }
+
+ /**
+ * Test method for {@link SwaggerBuilder#responseInfo()}.
+ */
+ @Test
+ public void testResponseInfo() {
+ ResponseInfo t = responseInfo();
+ assertObjectEquals("{}", t);
+ }
+
+ /**
+ * Test method for {@link SwaggerBuilder#responseInfo(java.lang.String)}.
+ */
+ @Test
+ public void testResponseInfoString() {
+ ResponseInfo t = responseInfo("foo");
+ assertObjectEquals("{description:'foo'}", t);
+ }
+
+ /**
+ * Test method for {@link SwaggerBuilder#schemaInfo()}.
+ */
+ @Test
+ public void testSchemaInfo() {
+ SchemaInfo t = schemaInfo();
+ assertObjectEquals("{}", t);
+ }
+
+ /**
+ * Test method for {@link SwaggerBuilder#securityScheme()}.
+ */
+ @Test
+ public void testSecurityScheme() {
+ SecurityScheme t = securityScheme();
+ assertObjectEquals("{}", t);
+ }
+
+ /**
+ * Test method for {@link SwaggerBuilder#securityScheme(java.lang.String)}.
+ */
+ @Test
+ public void testSecuritySchemeString() {
+ SecurityScheme t = securityScheme("foo");
+ assertObjectEquals("{type:'foo'}", t);
+ }
+
+ /**
+ * Test method for {@link SwaggerBuilder#securitySchemeStrict(java.lang.String)}.
+ */
+ @Test
+ public void testSecuritySchemeStrict() {
+ SecurityScheme t = securityScheme("foo");
+ assertObjectEquals("{type:'foo'}", t);
+ }
+
+ /**
+ * Test method for {@link SwaggerBuilder#swagger()}.
+ */
+ @Test
+ public void testSwagger() {
+ Swagger t = swagger();
+ assertObjectEquals("{swagger:'2.0'}", t);
+ }
+
+ /**
+ * Test method for {@link SwaggerBuilder#swagger(org.apache.juneau.dto.swagger.Info)}.
+ */
+ @Test
+ public void testSwaggerInfo() {
+ Swagger t = swagger(info());
+ assertObjectEquals("{swagger:'2.0',info:{}}", t);
+ }
+
+ /**
+ * Test method for {@link SwaggerBuilder#tag()}.
+ */
+ @Test
+ public void testTag() {
+ Tag t = tag();
+ assertObjectEquals("{}", t);
+ }
+
+ /**
+ * Test method for {@link SwaggerBuilder#tag(java.lang.String)}.
+ */
+ @Test
+ public void testTagString() {
+ Tag t = tag("foo");
+ assertObjectEquals("{name:'foo'}", t);
+ }
+
+ /**
+ * Test method for {@link SwaggerBuilder#xml()}.
+ */
+ @Test
+ public void testXml() {
+ Xml t = xml();
+ assertObjectEquals("{}", t);
+ }
+}