This is an automated email from the ASF dual-hosted git repository.
jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git
The following commit(s) were added to refs/heads/master by this push:
new fc150eb4f Test modernization
new be6ea448b Merge branch 'master' of
https://gitbox.apache.org/repos/asf/juneau.git
fc150eb4f is described below
commit fc150eb4f889977d6845fd73eb29d8d56ef7ea64
Author: James Bognar <[email protected]>
AuthorDate: Fri Aug 29 12:54:06 2025 -0400
Test modernization
---
.../java/org/apache/juneau/BeanConfig_Test.java | 14 +-
.../test/java/org/apache/juneau/BeanMap_Test.java | 15 +-
.../src/test/java/org/apache/juneau/TestUtils.java | 111 +++++++---
.../juneau/a/rttests/RoundTripBeanMaps_Test.java | 41 ++--
.../apache/juneau/dto/swagger/Contact_Test.java | 53 ++---
.../dto/swagger/ExternalDocumentation_Test.java | 47 +++--
.../apache/juneau/dto/swagger/HeaderInfo_Test.java | 89 ++++----
.../org/apache/juneau/dto/swagger/Info_Test.java | 46 +++--
.../org/apache/juneau/dto/swagger/Items_Test.java | 31 +--
.../apache/juneau/dto/swagger/License_Test.java | 38 +++-
.../apache/juneau/dto/swagger/Operation_Test.java | 100 ++++-----
.../juneau/dto/swagger/ParameterInfo_Test.java | 43 +---
.../juneau/dto/swagger/ResponseInfo_Test.java | 52 +++--
.../juneau/dto/swagger/SecurityScheme_Test.java | 53 ++---
.../org/apache/juneau/dto/swagger/Tag_Test.java | 40 ++--
.../org/apache/juneau/dto/swagger/Xml_Test.java | 44 ++--
.../juneau/http/remote/RrpcInterface_Test.java | 224 ++++++++++-----------
.../java/org/apache/juneau/rest/Swagger_Test.java | 34 ++--
.../rest/annotation/Swagger_FormData_Test.java | 20 +-
.../rest/annotation/Swagger_Header_Test.java | 20 +-
.../juneau/rest/annotation/Swagger_Path_Test.java | 51 ++---
.../rest/annotation/Swagger_Response_Test.java | 81 +++-----
.../juneau/testutils/pojos/SwappedObject.java | 5 +
.../juneau/testutils/pojos/TypedBeanImpl.java | 5 +
.../java/org/apache/juneau/uon/UonParser_Test.java | 3 +-
.../urlencoding/CommonParser_UrlEncodingTest.java | 11 +-
26 files changed, 656 insertions(+), 615 deletions(-)
diff --git a/juneau-utest/src/test/java/org/apache/juneau/BeanConfig_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/BeanConfig_Test.java
index ef640bd81..f64f20fbd 100755
--- a/juneau-utest/src/test/java/org/apache/juneau/BeanConfig_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/BeanConfig_Test.java
@@ -237,13 +237,11 @@ class BeanConfig_Test extends SimpleTestBase {
// Bean
o = "{name:'x',age:123}";
- assertEquals("x", bc.convertToType(o, Person.class).getName());
- assertEquals(123, bc.convertToType(o, Person.class).getAge());
+ assertBean(bc.convertToType(o, Person.class), "name,age",
"x,123");
// Read-only bean
o = "{name:'x',age:123}";
- assertEquals("x", bc.convertToType(o,
ReadOnlyPerson.class).getName());
- assertEquals(123, bc.convertToType(o,
ReadOnlyPerson.class).getAge());
+ assertBean(bc.convertToType(o, ReadOnlyPerson.class),
"name,age", "x,123");
// Class with forString(String) method.
o = UUID.randomUUID();
@@ -405,8 +403,7 @@ class BeanConfig_Test extends SimpleTestBase {
f1.setA("Hello");
f1.setB(50);
- assertEquals(bm2.get("a"), "Hello", fs("Failed to set string
property 'a' on dynamic proxy bean. {0}", bm2)); // NOSONAR
- assertEquals(bm2.get("b"), Integer.valueOf(50), fs("Failed to
set string property 'b' on dynamic proxy bean. {0}", bm2));
+ assertMap(bm2, "a,b", "Hello,50");
assertEquals(bm1, bm2, fs("Failed equality test of dynamic
proxies beans: {0} / {1}", bm1, bm2));
assertEquals(bm2, bm1, fs("Failed reverse equality test of
dynamic proxies beans: {0} / {1}", bm1, bm2));
}
@@ -619,10 +616,7 @@ class BeanConfig_Test extends SimpleTestBase {
bm.add("f4", i);
}
var d = bm.getBean();
- assertEquals(5000, d.f1.length);
- assertEquals(5000, d.f2.length);
- assertEquals(5003, d.f3.length);
- assertEquals(5003, d.f4.length);
+ assertBean(d,
"f1{length},f2{length},f3{length},f4{length}", "{5000},{5000},{5003},{5003}");
});
}
diff --git a/juneau-utest/src/test/java/org/apache/juneau/BeanMap_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/BeanMap_Test.java
index df6d6a0fc..8eee2e537 100755
--- a/juneau-utest/src/test/java/org/apache/juneau/BeanMap_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/BeanMap_Test.java
@@ -1038,12 +1038,10 @@ class BeanMap_Test extends SimpleTestBase {
assertEquals(1, t.f1);
t = (R2)m.cast(R1.class);
- assertEquals(1, t.f1);
- assertEquals(2, t.f2);
+ assertBean(t, "f1,f2", "1,2");
t = (R2)m.cast(bc.getClassMeta(R1.class));
- assertEquals(1, t.f1);
- assertEquals(2, t.f2);
+ assertBean(t, "f1,f2", "1,2");
// Without _type
m = new JsonMap(session);
@@ -1051,16 +1049,13 @@ class BeanMap_Test extends SimpleTestBase {
m.put("f2", "2");
m = (JsonMap)m.cast(Object.class);
- assertEquals(1, t.f1);
- assertEquals(2, t.f2);
+ assertBean(t, "f1,f2", "1,2");
t = m.cast(R2.class);
- assertEquals(1, t.f1);
- assertEquals(2, t.f2);
+ assertBean(t, "f1,f2", "1,2");
t = m.cast(bc.getClassMeta(R2.class));
- assertEquals(1, t.f1);
- assertEquals(2, t.f2);
+ assertBean(t, "f1,f2", "1,2");
}
// Bean with no properties
diff --git a/juneau-utest/src/test/java/org/apache/juneau/TestUtils.java
b/juneau-utest/src/test/java/org/apache/juneau/TestUtils.java
index 9e53ae2ac..6030efacc 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/TestUtils.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/TestUtils.java
@@ -135,25 +135,8 @@ public class TestUtils extends Utils2 {
/**
* Asserts the entries in an array matches the expected strings after
they've been made readable.
*/
- @SuppressWarnings("unchecked")
public static void assertArray(Object array, Object...expected) {
- if (expected.length == 1 && expected[0] instanceof String &&
s(expected[0]).contains(","))
- expected = s(expected[0]).charAt(0) == '>' ? new
String[]{s(expected[0]).substring(1)} : splita(s(expected[0]));
- if (Array.getLength(array) != expected.length)
- fail(fs("Wrong array length. expected={0},
actual={1}", expected.length, Array.getLength(array)));
- for (var i = 0; i < expected.length; i++) {
- var x = Array.get(array, i);
- if (expected[i] instanceof String e) {
- if (ne(r(x), e))
- fail(fs("Element at index {0} did not
match. expected={1}, actual={2}", i, e, r(x)));
- } else if (expected[i] instanceof Predicate e) {
- if (! e.test(x))
- fail(fs("Element at index {0} did pass
predicate. actual={1}", i, r(x)));
- } else {
- if (ne(expected[i], x))
- fail(fs("Element at index {0} did not
match. expected={1}, actual={2}", i, r(expected[i]), r(x)));
- }
- }
+ assertCollection(arrayToList(array), expected);
}
/**
@@ -358,7 +341,7 @@ public class TestUtils extends Utils2 {
if (o instanceof Iterable o2) return isNumeric(name) ?
toList(o2).get(Integer.parseInt(name)) : getBeanProp(o, name);
if (o instanceof Iterator o2) return isNumeric(name) ?
toList(o2).get(Integer.parseInt(name)) : getBeanProp(o, name);
if (o instanceof Enumeration o2) return isNumeric(name) ?
toList(o2).get(Integer.parseInt(name)) : getBeanProp(o, name);
- return TestUtils.getBeanProp(o, name);
+ return getBeanProp(o, name);
}
private static boolean isNumeric(String name) {
@@ -394,15 +377,21 @@ public class TestUtils extends Utils2 {
f.setAccessible(true);
return f.get(o);
}
+ m = Arrays.stream(c.getMethods()).filter(x ->
x.getName().equals("get") && x.getParameterCount() == 1 &&
x.getParameterTypes()[0] == String.class && x.getAnnotation(BeanIgnore.class)
== null).findFirst().orElse(null);
+ if (m != null) {
+ m.setAccessible(true);
+ return m.invoke(o, name);
+ }
+ if (c.isArray()) {
+ switch (name) {
+ case "length": return
Array.getLength(o);
+ default: // Fall through.
+ }
+ }
throw runtimeException("No field called {0} found on
class {1}", name, c.getName());
});
}
- private static boolean isGetter(Method m, String n) {
- var mn = m.getName();
- return ((("get"+n).equals(mn) || ("is"+n).equals(mn)) &&
m.getParameterCount() == 0);
- }
-
public static String json(Object o) {
return Json5.DEFAULT.write(o);
}
@@ -618,4 +607,78 @@ public class TestUtils extends Utils2 {
}
assertMap(m, properties, expected);
}
+
+ /**
+ * Converts any array (including primitive arrays) to a List.
+ *
+ * @param array The array to convert. Can be any array type including
primitives.
+ * @return A List containing the array elements. Primitive values are
auto-boxed.
+ * Returns null if the input is null.
+ * @throws IllegalArgumentException if the input is not an array.
+ */
+ public static List<Object> arrayToList(Object array) {
+ if (array == null) {
+ return null;
+ }
+
+ if (!array.getClass().isArray()) {
+ throw new IllegalArgumentException("Input must be an
array, but was: " + array.getClass().getName());
+ }
+
+ var componentType = array.getClass().getComponentType();
+ var length = Array.getLength(array);
+ var result = new ArrayList<Object>(length);
+
+ // Handle primitive arrays specifically for better performance
+ if (componentType.isPrimitive()) {
+ if (componentType == int.class) {
+ var arr = (int[]) array;
+ for (int value : arr) {
+ result.add(value);
+ }
+ } else if (componentType == long.class) {
+ var arr = (long[]) array;
+ for (long value : arr) {
+ result.add(value);
+ }
+ } else if (componentType == double.class) {
+ var arr = (double[]) array;
+ for (double value : arr) {
+ result.add(value);
+ }
+ } else if (componentType == float.class) {
+ var arr = (float[]) array;
+ for (float value : arr) {
+ result.add(value);
+ }
+ } else if (componentType == boolean.class) {
+ var arr = (boolean[]) array;
+ for (boolean value : arr) {
+ result.add(value);
+ }
+ } else if (componentType == byte.class) {
+ var arr = (byte[]) array;
+ for (byte value : arr) {
+ result.add(value);
+ }
+ } else if (componentType == char.class) {
+ var arr = (char[]) array;
+ for (char value : arr) {
+ result.add(value);
+ }
+ } else if (componentType == short.class) {
+ var arr = (short[]) array;
+ for (short value : arr) {
+ result.add(value);
+ }
+ }
+ } else {
+ // Handle Object arrays
+ for (var i = 0; i < length; i++) {
+ result.add(Array.get(array, i));
+ }
+ }
+
+ return result;
+ }
}
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMaps_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMaps_Test.java
index 84da99df0..dafcda52e 100755
---
a/juneau-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMaps_Test.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMaps_Test.java
@@ -170,15 +170,15 @@ class RoundTripBeanMaps_Test extends SimpleTestBase {
l.get(0).setF1("bar");
l = t.roundTrip(l, List.class, IBean.class);
- assertEquals("bar", l.get(0).getF1());
+ assertBean(l.get(0), "f1", "bar");
l = t.roundTrip(l, LinkedList.class, IBean.class);
- assertEquals("bar", l.get(0).getF1());
+ assertBean(l.get(0), "f1", "bar");
l.get(0).setF1("bing");
l = t.roundTrip(l, List.class, CBean.class);
- assertEquals("bing", l.get(0).getF1());
+ assertBean(l.get(0), "f1", "bing");
l = t.roundTrip(l, LinkedList.class, CBean.class);
- assertEquals("bing", l.get(0).getF1());
+ assertBean(l.get(0), "f1", "bing");
}
//====================================================================================================
@@ -192,15 +192,15 @@ class RoundTripBeanMaps_Test extends SimpleTestBase {
l.get("foo").setF1("bar");
l = t.roundTrip(l, Map.class, String.class, IBean.class);
- assertEquals("bar", l.get("foo").getF1());
+ assertBean(l.get("foo"), "f1", "bar");
l = t.roundTrip(l, LinkedHashMap.class, String.class,
IBean.class);
- assertEquals("bar", l.get("foo").getF1());
+ assertBean(l.get("foo"), "f1", "bar");
l.get("foo").setF1("bing");
l = t.roundTrip(l, Map.class, String.class, CBean.class);
- assertEquals("bing", l.get("foo").getF1());
+ assertBean(l.get("foo"), "f1", "bing");
l = t.roundTrip(l, LinkedHashMap.class, String.class,
CBean.class);
- assertEquals("bing", l.get("foo").getF1());
+ assertBean(l.get("foo"), "f1", "bing");
}
//====================================================================================================
@@ -214,12 +214,7 @@ class RoundTripBeanMaps_Test extends SimpleTestBase {
b = t.roundTrip(b);
if (t.returnOriginalObject || t.getParser() == null)
return;
- assertEquals(0, b.f1);
- assertEquals(0, b.f2);
- assertEquals(1, b.f3);
- assertEquals(1, b.f4);
- assertEquals(0, b.getF5());
- assertEquals(1, b.getF6());
+ assertBean(b, "f1,f2,f3,f4,f5,f6", "0,0,1,1,0,1");
}
public interface IBean {
@@ -434,7 +429,7 @@ class RoundTripBeanMaps_Test extends SimpleTestBase {
var r = s.serialize(ba1);
var b = p.parse(r, BA.class);
assertTrue(b instanceof BA1);
- assertJson(b, "{f0a:'f0a',f0b:'f0b',f1:'f1'}");
+ assertBean(b, "f0a,f0b,f1", "f0a,f0b,f1");
}
@Bean(dictionary={BA1.class,BA2.class})
@@ -477,7 +472,7 @@ class RoundTripBeanMaps_Test extends SimpleTestBase {
var r = s.serialize(c1);
var c = p.parse(r, CA.class);
assertTrue(c instanceof CA1);
- assertJson(c, "{f0a:'f0a',f0b:'f0b',f1:'f1'}");
+ assertBean(c, "f0a,f0b,f1", "f0a,f0b,f1");
}
public abstract static class CA {
@@ -524,7 +519,7 @@ class RoundTripBeanMaps_Test extends SimpleTestBase {
var r = s.serialize(d);
d = p.parse(r, D1.class);
assertNull(d.f1);
- assertJson(d, "{f3:'f3',f2:'f2'}");
+ assertBean(d, "f3,f2", "f3,f2");
}
@Bean(p="f3,f2")
@@ -588,7 +583,7 @@ class RoundTripBeanMaps_Test extends SimpleTestBase {
var e = new E1().init();
var r = s.serialize(e);
e = p.parse(r, E1.class);
- assertJson(e, "{f1:'f1',f3:'f3'}");
+ assertBean(e, "f1,f3", "f1,f3");
}
@Bean(excludeProperties="f2")
@@ -619,7 +614,7 @@ class RoundTripBeanMaps_Test extends SimpleTestBase {
var e = new E2().init();
var r = s.serialize(e);
e = p.parse(r, E2.class);
- assertJson(e, "{f1:'f1',f3:'f3'}");
+ assertBean(e, "f1,f3", "f1,f3");
}
public static class E2 {
@@ -649,7 +644,7 @@ class RoundTripBeanMaps_Test extends SimpleTestBase {
var x = new FA2().init();
var r = s.serialize(x);
x = p.parse(r, FA2.class);
- assertJson(x, "{f1:'f1'}");
+ assertBean(x, "f1", "f1");
}
@Bean(interfaceClass=FA1.class)
@@ -689,7 +684,7 @@ class RoundTripBeanMaps_Test extends SimpleTestBase {
x = new FB2().init();
r = s.build().serialize(x);
x = p.build().parse(r, FB2.class);
- assertJson(x, "{f1:'f1'}");
+ assertBean(x, "f1", "f1");
// --- BeanFilter defined on child class class ---
s.interfaces(FB1.class);
@@ -698,7 +693,7 @@ class RoundTripBeanMaps_Test extends SimpleTestBase {
x = new FB2().init();
r = s.build().serialize(x);
x = p.build().parse(r, FB2.class);
- assertJson(x, "{f1:'f1'}");
+ assertBean(x, "f1", "f1");
// --- BeanFilter defined as plain class ---
s.interfaces(FB1.class);
@@ -707,7 +702,7 @@ class RoundTripBeanMaps_Test extends SimpleTestBase {
x = new FB2().init();
r = s.build().serialize(x);
x = p.build().parse(r, FB2.class);
- assertJson(x, "{f1:'f1'}");
+ assertBean(x, "f1", "f1");
}
public static class FB1 {
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Contact_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Contact_Test.java
index b3910deef..da97c3a10 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Contact_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Contact_Test.java
@@ -32,10 +32,14 @@ class Contact_Test extends SimpleTestBase {
*/
@Test void a01_gettersAndSetters() {
var t = new Contact();
- assertEquals("foo", t.setName("foo").getName());
+
+ assertBean(
+
t.setName("a").setEmail("b").setUrl(URI.create("http://c")),
+ "name,email,url",
+ "a,b,http://c"
+ );
+
assertNull(t.setName(null).getName());
- assertString("http://bar",
t.setUrl(URI.create("http://bar")).getUrl());
- assertEquals("foo", t.setEmail("foo").getEmail());
assertNull(t.setEmail(null).getEmail());
}
@@ -46,32 +50,33 @@ class Contact_Test extends SimpleTestBase {
var t = new Contact();
t
- .set("name", "foo")
- .set("url", "bar")
- .set("email", "baz")
- .set("$ref", "qux");
+ .set("name", "a")
+ .set("url", "b")
+ .set("email", "c")
+ .set("$ref", "d");
- assertJson(t,
"{name:'foo',url:'bar',email:'baz','$ref':'qux'}");
+ assertBean(t, "name,url,email,$ref", "a,b,c,d");
t
- .set("name", new StringBuilder("foo"))
- .set("url", new StringBuilder("bar"))
- .set("email", new StringBuilder("baz"))
- .set("$ref", new StringBuilder("qux"));
+ .set("name", new StringBuilder("a"))
+ .set("url", new StringBuilder("b"))
+ .set("email", new StringBuilder("c"))
+ .set("$ref", new StringBuilder("d"));
- assertJson(t,
"{name:'foo',url:'bar',email:'baz','$ref':'qux'}");
+ assertBean(t, "name,url,email,$ref", "a,b,c,d");
- assertEquals("foo", t.get("name", String.class));
- assertString("bar", t.get("url", URI.class));
- assertEquals("baz", t.get("email", String.class));
- assertEquals("qux", t.get("$ref", String.class));
+ assertMapped(
+ t, (obj,prop) -> obj.get(prop, String.class),
+ "name,url,email,$ref",
+ "a,b,c,d"
+ );
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));
-
assertJson(JsonParser.DEFAULT.parse("{name:'foo',url:'bar',email:'baz','$ref':'qux'}",
Contact.class), "{name:'foo',url:'bar',email:'baz','$ref':'qux'}");
+
assertBean(JsonParser.DEFAULT.parse("{name:'a',url:'b',email:'c','$ref':'d'}",
Contact.class), "name,url,email,$ref", "a,b,c,d");
}
@Test void b02_copy() {
@@ -82,13 +87,13 @@ class Contact_Test extends SimpleTestBase {
assertJson(t, "{}");
t
- .set("name", "foo")
- .set("url", "bar")
- .set("email", "baz")
- .set("$ref", "qux")
+ .set("name", "a")
+ .set("url", "b")
+ .set("email", "c")
+ .set("$ref", "d")
.copy();
- assertJson(t,
"{name:'foo',url:'bar',email:'baz','$ref':'qux'}");
+ assertBean(t, "name,url,email,$ref", "a,b,c,d");
}
@Test void b03_keySet() {
@@ -102,6 +107,6 @@ class Contact_Test extends SimpleTestBase {
.set("email", "baz")
.set("$ref", "qux");
- assertJson(t.keySet(), "['email','name','url','$ref']");
+ assertSet(t.keySet(), "email,name,url,$ref");
}
}
\ No newline at end of file
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/ExternalDocumentation_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/ExternalDocumentation_Test.java
index a2fe1afae..667d0de23 100644
---
a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/ExternalDocumentation_Test.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/ExternalDocumentation_Test.java
@@ -32,9 +32,14 @@ class ExternalDocumentation_Test extends SimpleTestBase {
*/
@Test void a01_gettersAndSetters() {
var t = new ExternalDocumentation();
- assertEquals("foo", t.setDescription("foo").getDescription());
+
+ assertBean(
+ t.setDescription("a").setUrl(URI.create("http://b")),
+ "description,url",
+ "a,http://b"
+ );
+
assertNull(t.setDescription(null).getDescription());
- assertString("http://bar",
t.setUrl(URI.create("http://bar")).getUrl());
}
/**
@@ -44,29 +49,31 @@ class ExternalDocumentation_Test extends SimpleTestBase {
var t = new ExternalDocumentation();
t
- .set("description", "foo")
- .set("url", "bar")
- .set("$ref", "baz");
+ .set("description", "a")
+ .set("url", "b")
+ .set("$ref", "c");
- assertJson(t, "{description:'foo',url:'bar','$ref':'baz'}");
+ assertBean(t, "description,url,$ref", "a,b,c");
t
- .set("description", new StringBuilder("foo"))
- .set("url", new StringBuilder("bar"))
- .set("$ref", new StringBuilder("baz"));
+ .set("description", new StringBuilder("a2"))
+ .set("url", new StringBuilder("b2"))
+ .set("$ref", new StringBuilder("c2"));
- assertJson(t, "{description:'foo',url:'bar','$ref':'baz'}");
+ assertBean(t, "description,url,$ref", "a2,b2,c2");
- assertEquals("foo", t.get("description", String.class));
- assertString("bar", t.get("url", URI.class));
- assertEquals("baz", t.get("$ref", String.class));
+ assertMapped(
+ t, (obj,prop) -> obj.get(prop, String.class),
+ "description,url,$ref",
+ "a2,b2,c2"
+ );
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));
-
assertJson(JsonParser.DEFAULT.parse("{description:'foo',url:'bar','$ref':'baz'}",
ExternalDocumentation.class), "{description:'foo',url:'bar','$ref':'baz'}");
+
assertBean(JsonParser.DEFAULT.parse("{description:'a',url:'b','$ref':'c'}",
ExternalDocumentation.class), "description,url,$ref", "a,b,c");
}
@Test void b02_copy() {
@@ -77,24 +84,24 @@ class ExternalDocumentation_Test extends SimpleTestBase {
assertJson(t, "{}");
t
- .set("description", "foo")
- .set("url", "bar")
- .set("$ref", "baz")
+ .set("description", "a")
+ .set("url", "b")
+ .set("$ref", "c")
.copy();
- assertJson(t, "{description:'foo',url:'bar','$ref':'baz'}");
+ assertBean(t, "description,url,$ref", "a,b,c");
}
@Test void b03_keySet() {
var t = new ExternalDocumentation();
- assertJson(t.keySet(), "[]");
+ assertSet(t.keySet());
t
.set("description", "foo")
.set("url", "bar")
.set("$ref", "baz");
- assertJson(t.keySet(), "['description','url','$ref']");
+ assertSet(t.keySet(), "description,url,$ref");
}
}
\ No newline at end of file
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/HeaderInfo_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/HeaderInfo_Test.java
index dd2001490..bfc862a1a 100644
---
a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/HeaderInfo_Test.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/HeaderInfo_Test.java
@@ -33,45 +33,37 @@ class HeaderInfo_Test extends SimpleTestBase {
*/
@Test void a01_gettersAndSetters() {
var t = new HeaderInfo();
- assertEquals("foo", t.setDescription("foo").getDescription());
+
+ // General - Combined assertBean test
+ assertBean(
+
t.setDescription("foo").setType("foo").setFormat("foo").setItems(items("foo"))
+
.setCollectionFormat("foo").setDefault("foo").setMaximum(123).setExclusiveMaximum(true)
+
.setMinimum(123).setExclusiveMinimum(true).setMaxLength(123).setMinLength(123)
+
.setPattern("foo").setMaxItems(123).setMinItems(123).setUniqueItems(true)
+
.setEnum(set("foo","bar")).setMultipleOf(123).setExample("foo").setRef("foo"),
+
"description,type,format,items{type},collectionFormat,default,maximum,exclusiveMaximum,minimum,exclusiveMinimum,maxLength,minLength,pattern,maxItems,minItems,uniqueItems,enum,multipleOf,example,ref",
+
"foo,foo,foo,{foo},foo,foo,123,true,123,true,123,123,foo,123,123,true,[foo,bar],123,foo,foo"
+ );
+
+ // Special cases
assertNull(t.setDescription(null).getDescription());
- assertEquals("foo", t.setType("foo").getType());
assertNull(t.setType(null).getType());
- assertEquals("foo", t.setFormat("foo").getFormat());
assertNull(t.setFormat(null).getFormat());
- assertJson(t.setItems(items("foo")).getItems(), "{type:'foo'}");
assertNull(t.setItems((Items)null).getItems());
- assertEquals("foo",
t.setCollectionFormat("foo").getCollectionFormat());
assertNull(t.setCollectionFormat(null).getCollectionFormat());
- assertEquals("foo", t.setDefault("foo").getDefault());
- assertString("foo", t.setDefault(new
StringBuilder("foo")).getDefault());
assertNull(t.setDefault(null).getDefault());
- assertEquals(123, t.setMaximum(123).getMaximum());
assertEquals(123f, t.setMaximum(123f).getMaximum());
- assertTrue(t.setExclusiveMaximum(true).getExclusiveMaximum());
- assertEquals(123, t.setMinimum(123).getMinimum());
assertEquals(123f, t.setMinimum(123f).getMinimum());
- assertTrue(t.setExclusiveMinimum(true).getExclusiveMinimum());
- assertEquals(123, t.setMaxLength(123).getMaxLength());
- assertEquals(123, t.setMinLength(123).getMinLength());
- assertEquals("foo", t.setPattern("foo").getPattern());
assertNull(t.setPattern(null).getPattern());
- assertEquals(123, t.setMaxItems(123).getMaxItems());
- assertEquals(123, t.setMinItems(123).getMinItems());
- assertTrue(t.setUniqueItems(true).getUniqueItems());
- assertJson(t.setEnum(set("foo","bar")).getEnum(),
"['foo','bar']");
- assertJson(t.setEnum(set()).getEnum(), "[]");
- assertJson(t.setEnum("foo","bar").getEnum(), "['foo','bar']");
+ assertSet(t.setEnum(set()).getEnum());
+ assertSet(t.setEnum("foo","bar").getEnum(), "foo,bar");
assertNull(t.setEnum((Set<Object>)null).getEnum());
- assertJson(t.addEnum("foo","bar").getEnum(), "['foo','bar']");
- assertJson(t.addEnum("baz").getEnum(), "['foo','bar','baz']");
- assertEquals(123, t.setMultipleOf(123).getMultipleOf());
+ assertSet(t.addEnum("foo","bar").getEnum(), "foo,bar");
+ assertSet(t.addEnum("baz").getEnum(), "foo,bar,baz");
assertEquals(123f, t.setMultipleOf(123f).getMultipleOf());
- assertEquals("foo", t.setExample("foo").getExample());
- assertEquals(123f, t.setExample(123f).getExample());
+ assertBean(t.setExample(123f), "example", "123.0");
assertNull(t.setExample((String)null).getExample());
- assertEquals("foo", t.setRef("foo").getRef());
- assertNull(t.setRef(null).getRef());
+ assertBean(t.setRef(null), "ref", "null");
}
/**
@@ -102,7 +94,9 @@ class HeaderInfo_Test extends SimpleTestBase {
.set("uniqueItems", true)
.set("$ref", "ref");
- assertJson(t,
"{description:'d',type:'j',format:'g',items:{type:'h'},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',example:'e'}");
+ assertBean(t,
+
"description,type,format,items{type},collectionFormat,default,maximum,exclusiveMaximum,minimum,exclusiveMinimum,maxLength,minLength,pattern,maxItems,minItems,uniqueItems,enum,multipleOf,ref,example",
+
"d,j,g,{h},c,a,123.0,true,123.0,true,123,123,i,123,123,true,[b],123.0,ref,e");
t
.set("default", "a")
@@ -126,7 +120,9 @@ class HeaderInfo_Test extends SimpleTestBase {
.set("uniqueItems", "true")
.set("$ref", "ref");
- assertJson(t,
"{description:'d',type:'j',format:'g',items:{type:'h'},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',example:'e'}");
+ assertBean(t,
+
"description,type,format,items{type},collectionFormat,default,maximum,exclusiveMaximum,minimum,exclusiveMinimum,maxLength,minLength,pattern,maxItems,minItems,uniqueItems,enum,multipleOf,ref,example",
+
"d,j,g,{h},c,a,123.0,true,123.0,true,123,123,i,123,123,true,[b],123.0,ref,e");
t
.set("default", new StringBuilder("a"))
@@ -150,28 +146,13 @@ class HeaderInfo_Test extends SimpleTestBase {
.set("uniqueItems", new StringBuilder("true"))
.set("$ref", new StringBuilder("ref"));
- assertJson(t,
"{description:'d',type:'j',format:'g',items:{type:'h'},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',example:'e'}");
+ assertBean(t,
+
"description,type,format,items{type},collectionFormat,default,maximum,exclusiveMaximum,minimum,exclusiveMinimum,maxLength,minLength,pattern,maxItems,minItems,uniqueItems,enum,multipleOf,ref,example",
+
"d,j,g,{h},c,a,123.0,true,123.0,true,123,123,i,123,123,true,[b],123.0,ref,e");
- assertString("a", t.get("default", Object.class));
- assertJson(t.get("enum", Object.class), "['b']");
- assertEquals("c", t.get("collectionFormat", Object.class));
- assertEquals("d", t.get("description", Object.class));
- assertString("e", t.get("example", Object.class));
- assertTrue((Boolean)t.get("exclusiveMaximum", Object.class));
- assertTrue((Boolean)t.get("exclusiveMinimum", Object.class));
- assertEquals("g", t.get("format", Object.class));
- assertJson(t.get("items", Object.class), "{type:'h'}");
- assertEquals(123f, t.get("maximum", Object.class));
- assertEquals(123, t.get("maxItems", Object.class));
- assertEquals(123, t.get("maxLength", Object.class));
- assertEquals(123f, t.get("minimum", Object.class));
- assertEquals(123, t.get("minItems", Object.class));
- assertEquals(123, t.get("minLength", Object.class));
- assertEquals(123f, t.get("multipleOf", Object.class));
- assertEquals("i", t.get("pattern", Object.class));
- assertEquals("j", t.get("type", Object.class));
- assertTrue((Boolean)t.get("uniqueItems", Object.class));
- assertEquals("ref", t.get("$ref", Object.class));
+ assertMapped(t, (obj,prop) -> obj.get(prop, Object.class),
+
"default,collectionFormat,description,enum,example,exclusiveMaximum,exclusiveMinimum,format,items,maximum,maxItems,maxLength,minimum,minItems,minLength,multipleOf,pattern,type,uniqueItems,$ref",
+
"a,c,d,[b],e,true,true,g,{\"type\":\"h\"},123.0,123,123,123.0,123,123,123.0,i,j,true,ref");
t.set("null", null).set(null, "null");
assertNull(t.get("null", Object.class));
@@ -212,13 +193,15 @@ class HeaderInfo_Test extends SimpleTestBase {
.set("$ref", "ref")
.copy();
- assertJson(t,
"{description:'d',type:'j',format:'g',items:{type:'h'},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',example:'e'}");
+ assertBean(t,
+
"description,type,format,items{type},collectionFormat,default,maximum,exclusiveMaximum,minimum,exclusiveMinimum,maxLength,minLength,pattern,maxItems,minItems,uniqueItems,enum,multipleOf,ref,example",
+
"d,j,g,{h},c,a,123.0,true,123.0,true,123,123,i,123,123,true,[b],123.0,ref,e");
}
@Test void b03_keySet() {
var t = new HeaderInfo();
- assertJson(t.keySet(), "[]");
+ assertSet(t.keySet());
t
.set("default", "a")
@@ -242,7 +225,7 @@ class HeaderInfo_Test extends SimpleTestBase {
.set("uniqueItems", true)
.set("$ref", "ref");
- assertJson(t.keySet(),
"['collectionFormat','default','description','enum','example','exclusiveMaximum','exclusiveMinimum','format','items','maximum','maxItems','maxLength','minimum','minItems','minLength','multipleOf','pattern','$ref','type','uniqueItems']");
+ assertSet(t.keySet(),
"collectionFormat,default,description,enum,example,exclusiveMaximum,exclusiveMinimum,format,items,maximum,maxItems,maxLength,minimum,minItems,minLength,multipleOf,pattern,$ref,type,uniqueItems");
}
@Test void c01_strict() {
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Info_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Info_Test.java
index 08fcf69fa..cf2dd32d7 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Info_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Info_Test.java
@@ -31,15 +31,18 @@ class Info_Test extends SimpleTestBase {
*/
@Test void a01_gettersAndSetters() {
var t = new Info();
- assertEquals("foo", t.setTitle("foo").getTitle());
+
+ // General
+ assertBean(
+
t.setTitle("a").setDescription("b").setTermsOfService("c").setContact(contact("d")).setLicense(license("e")).setVersion("f"),
+
"title,description,termsOfService,contact{name},license{name},version",
+ "a,b,c,{d},{e},f"
+ );
+
+ // Edge cases for nulls.
assertNull(t.setTitle(null).getTitle());
- assertEquals("foo", t.setDescription("foo").getDescription());
assertNull(t.setDescription(null).getDescription());
- assertEquals("foo",
t.setTermsOfService("foo").getTermsOfService());
assertNull(t.setTermsOfService(null).getTermsOfService());
- assertJson(t.setContact(contact("foo")).getContact(),
"{name:'foo'}");
- assertJson(t.setLicense(license("foo")).getLicense(),
"{name:'foo'}");
- assertEquals("foo", t.setVersion("foo").getVersion());
assertNull(t.setVersion(null).getVersion());
}
@@ -58,7 +61,10 @@ class Info_Test extends SimpleTestBase {
.set("version", "f")
.set("$ref", "ref");
- assertJson(t,
"{title:'e',description:'b',version:'f',contact:{name:'a'},license:{name:'c'},termsOfService:'d','$ref':'ref'}");
+ // Comprehensive object state validation
+ assertBean(t,
+
"title,description,version,contact{name},license{name},termsOfService,$ref",
+ "e,b,f,{a},{c},d,ref");
t
.set("contact", "{name:'a'}")
@@ -69,7 +75,9 @@ class Info_Test extends SimpleTestBase {
.set("version", "f")
.set("$ref", "ref");
- assertJson(t,
"{title:'e',description:'b',version:'f',contact:{name:'a'},license:{name:'c'},termsOfService:'d','$ref':'ref'}");
+ assertBean(t,
+
"title,description,version,contact{name},license{name},termsOfService,$ref",
+ "e,b,f,{a},{c},d,ref");
t
.set("contact", new StringBuilder("{name:'a'}"))
@@ -80,15 +88,13 @@ class Info_Test extends SimpleTestBase {
.set("version", new StringBuilder("f"))
.set("$ref", new StringBuilder("ref"));
- assertJson(t,
"{title:'e',description:'b',version:'f',contact:{name:'a'},license:{name:'c'},termsOfService:'d','$ref':'ref'}");
+ assertBean(t,
+
"title,description,version,contact{name},license{name},termsOfService,$ref",
+ "e,b,f,{a},{c},d,ref");
- assertEquals("{name:'a'}", t.get("contact", String.class));
- assertEquals("b", t.get("description", String.class));
- assertEquals("{name:'c'}", t.get("license", String.class));
- assertEquals("d", t.get("termsOfService", String.class));
- assertEquals("e", t.get("title", String.class));
- assertEquals("f", t.get("version", String.class));
- assertEquals("ref", t.get("$ref", String.class));
+ assertMapped(t, (obj,prop) -> obj.get(prop, String.class),
+
"contact,description,license,termsOfService,title,version,$ref",
+ "{name:'a'},b,{name:'c'},d,e,f,ref");
assertType(Contact.class, t.get("contact", Object.class));
assertType(String.class, t.get("description", Object.class));
@@ -124,13 +130,15 @@ class Info_Test extends SimpleTestBase {
.set("$ref", "ref")
.copy();
- assertJson(t,
"{title:'e',description:'b',version:'f',contact:{name:'a'},license:{name:'c'},termsOfService:'d','$ref':'ref'}");
+ assertBean(t,
+
"title,description,version,contact{name},license{name},termsOfService,$ref",
+ "e,b,f,{a},{c},d,ref");
}
@Test void b03_keySet() {
var t = new Info();
- assertJson(t.keySet(), "[]");
+ assertSet(t.keySet());
t
.set("contact", contact("a"))
@@ -141,6 +149,6 @@ class Info_Test extends SimpleTestBase {
.set("version", "f")
.set("$ref", "ref");
- assertJson(t.keySet(),
"['contact','description','license','termsOfService','title','version','$ref']");
+ assertSet(t.keySet(),
"contact,description,license,termsOfService,title,version,$ref");
}
}
\ No newline at end of file
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Items_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Items_Test.java
index 4d07511f8..7a774e1b6 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Items_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Items_Test.java
@@ -33,14 +33,14 @@ class Items_Test extends SimpleTestBase {
*/
@Test void a01_gettersAndSetters() {
var t = new Items();
- assertEquals("foo", t.setType("foo").getType());
+ assertBean(t.setType("foo"), "type", "foo");
assertNull(t.setType(null).getType());
- assertEquals("foo", t.setFormat("foo").getFormat());
+ assertBean(t.setFormat("foo"), "format", "foo");
assertNull(t.setFormat(null).getFormat());
assertJson(t.setItems(items("foo")).getItems(), "{type:'foo'}");
- assertEquals("foo",
t.setCollectionFormat("foo").getCollectionFormat());
+ assertBean(t.setCollectionFormat("foo"), "collectionFormat",
"foo");
assertNull(t.setCollectionFormat(null).getCollectionFormat());
- assertEquals("foo", t.setDefault("foo").getDefault());
+ assertBean(t.setDefault("foo"), "default", "foo");
assertString("foo", t.setDefault(new
StringBuilder("foo")).getDefault());
assertNull(t.setDefault(null).getDefault());
assertEquals(123, t.setMaximum(123).getMaximum());
@@ -51,7 +51,7 @@ class Items_Test extends SimpleTestBase {
assertTrue(t.setExclusiveMinimum(true).getExclusiveMinimum());
assertEquals(123, t.setMaxLength(123).getMaxLength());
assertEquals(123, t.setMinLength(123).getMinLength());
- assertEquals("foo", t.setPattern("foo").getPattern());
+ assertBean(t.setPattern("foo"), "pattern", "foo");
assertNull(t.setPattern(null).getPattern());
assertEquals(123, t.setMaxItems(123).getMaxItems());
assertEquals(123, t.setMinItems(123).getMinItems());
@@ -138,24 +138,9 @@ class Items_Test extends SimpleTestBase {
assertJson(t,
"{type:'j',format:'g',items:{type:'h'},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'}");
- assertEquals("a", t.get("default", String.class));
- assertEquals("['b']", t.get("enum", String.class));
- assertEquals("c", t.get("collectionFormat", String.class));
- assertEquals("true", t.get("exclusiveMaximum", String.class));
- assertEquals("true", t.get("exclusiveMinimum", String.class));
- assertEquals("g", t.get("format", String.class));
- assertEquals("{type:'h'}", 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("i", t.get("pattern", String.class));
- assertEquals("j", t.get("type", String.class));
- assertEquals("true", t.get("uniqueItems", String.class));
- assertEquals("ref", t.get("$ref", String.class));
+ assertMapped(t, (obj,prop) -> obj.get(prop, String.class),
+
"default,enum,collectionFormat,exclusiveMaximum,exclusiveMinimum,format,items,maximum,maxItems,maxLength,minimum,minItems,minLength,multipleOf,pattern,type,uniqueItems,$ref",
+
"a,['b'],c,true,true,g,{type:'h'},123.0,123,123,123.0,123,123,123.0,i,j,true,ref");
assertType(StringBuilder.class, t.get("default", Object.class));
assertType(Set.class, t.get("enum", Object.class));
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/License_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/License_Test.java
index 7c4d2220d..2e2dfd7de 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/License_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/License_Test.java
@@ -32,9 +32,16 @@ class License_Test extends SimpleTestBase {
*/
@Test void a01_gettersAndSetters() {
var t = new License();
- assertEquals("foo", t.setName("foo").getName());
+
+ // General
+ assertBean(
+ t.setName("a").setUrl(URI.create("http://b")),
+ "name,url",
+ "a,http://b"
+ );
+
+ // Edge cases for nulls.
assertNull(t.setName(null).getName());
- assertString("foo", t.setUrl(URI.create("foo")).getUrl());
}
/**
@@ -48,25 +55,32 @@ class License_Test extends SimpleTestBase {
.set("url", URI.create("b"))
.set("$ref", "ref");
- assertJson(t, "{name:'a',url:'b','$ref':'ref'}");
+ // Comprehensive object state validation
+ assertBean(t,
+ "name,url,$ref",
+ "a,b,ref");
t
.set("name", "a")
.set("url", "b")
.set("$ref", "ref");
- assertJson(t, "{name:'a',url:'b','$ref':'ref'}");
+ assertBean(t,
+ "name,url,$ref",
+ "a,b,ref");
t
.set("name", new StringBuilder("a"))
.set("url", new StringBuilder("b"))
.set("$ref", new StringBuilder("ref"));
- assertJson(t, "{name:'a',url:'b','$ref':'ref'}");
+ assertBean(t,
+ "name,url,$ref",
+ "a,b,ref");
- assertEquals("a", t.get("name", String.class));
- assertEquals("b", t.get("url", String.class));
- assertEquals("ref", t.get("$ref", String.class));
+ assertMapped(t, (obj,prop) -> obj.get(prop, String.class),
+ "name,url,$ref",
+ "a,b,ref");
assertType(String.class, t.get("name", Object.class));
assertType(URI.class, t.get("url", Object.class));
@@ -94,19 +108,21 @@ class License_Test extends SimpleTestBase {
.set("$ref", "ref")
.copy();
- assertJson(t, "{name:'a',url:'b','$ref':'ref'}");
+ assertBean(t,
+ "name,url,$ref",
+ "a,b,ref");
}
@Test void b03_keySet() {
var t = new License();
- assertJson(t.keySet(), "[]");
+ assertSet(t.keySet());
t
.set("name", "a")
.set("url", URI.create("b"))
.set("$ref", "ref");
- assertJson(t.keySet(), "['name','url','$ref']");
+ assertSet(t.keySet(), "name,url,$ref");
}
}
\ No newline at end of file
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Operation_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Operation_Test.java
index 7e46f379b..21b2a97ef 100644
---
a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Operation_Test.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Operation_Test.java
@@ -33,33 +33,32 @@ class Operation_Test extends SimpleTestBase {
*/
@Test void a01_gettersAndSetters() {
var t = new Operation();
- assertJson(t.setTags(set("foo","bar")).getTags(),
"['foo','bar']");
- assertJson(t.setTags("bar","baz").getTags(), "['bar','baz']");
- assertJson(t.setTags(set()).getTags(), "[]");
+
+ // General
+ assertBean(
+
t.setSummary("a").setDescription("b").setExternalDocs(externalDocumentation("c")).setOperationId("d")
+
.setOperationId("e").setDeprecated(true).setTags(set("f1","f2")).setConsumes(set(MediaType.of("text/foo")))
+
.setProduces(set(MediaType.of("text/foo"))).setParameters(set(parameterInfo("g1","g2"))).setResponses(map("1",responseInfo("h")))
+
.setSchemes(set("foo")).setSecurity(alist(map("foo",alist("bar")))),
+
"summary,description,externalDocs{url},operationId,deprecated,tags,consumes,produces,parameters{0{in,name}},responses{1{description}},schemes,security",
+
"a,b,{c},e,true,[f1,f2],[text/foo],[text/foo],{{g1,g2}},{{h}},[foo],[{foo=[bar]}]"
+ );
+
+ // Edge cases for collections.
+ assertSet(t.setTags(set()).getTags());
assertNull(t.setTags((Collection<String>)null).getTags());
- assertEquals("foo", t.setSummary("foo").getSummary());
- assertEquals("foo", t.setDescription("foo").getDescription());
-
assertJson(t.setExternalDocs(externalDocumentation("foo")).getExternalDocs(),
"{url:'foo'}");
- assertEquals("foo", t.setOperationId("foo").getOperationId());
-
assertJson(t.setConsumes(set(MediaType.of("text/foo"))).getConsumes(),
"['text/foo']");
- assertJson(t.setConsumes(set()).getConsumes(), "[]");
+ assertSet(t.setConsumes(set()).getConsumes());
assertNull(t.setConsumes((Collection<MediaType>)null).getConsumes());
-
assertJson(t.setProduces(set(MediaType.of("text/foo"))).getProduces(),
"['text/foo']");
- assertJson(t.setProduces(set()).getProduces(), "[]");
+ assertSet(t.setProduces(set()).getProduces());
assertNull(t.setProduces((Collection<MediaType>)null).getProduces());
-
assertJson(t.setParameters(set(parameterInfo("foo","bar"))).getParameters(),
"[{'in':'foo',name:'bar'}]");
- assertJson(t.setParameters(set()).getParameters(), "[]");
+ assertList(t.setParameters(set()).getParameters());
assertNull(t.setParameters((Collection<ParameterInfo>)null).getParameters());
-
assertJson(t.setResponses(map("123",responseInfo("bar"))).getResponses(),
"{'123':{description:'bar'}}");
- assertJson(t.setResponses(map()).getResponses(), "{}");
+ assertMap(t.setResponses(map()).getResponses());
assertNull(t.setResponses((Map<String,ResponseInfo>)null).getResponses());
- assertJson(t.setSchemes(set("foo")).getSchemes(), "['foo']");
- assertJson(t.setSchemes(set()).getSchemes(), "[]");
+ assertSet(t.setSchemes(set()).getSchemes());
assertNull(t.setSchemes((Set<String>)null).getSchemes());
-
assertJson(t.setSecurity(alist(map("foo",alist("bar")))).getSecurity(),
"[{foo:['bar']}]");
- assertJson(t.setSecurity(alist()).getSecurity(), "[]");
+ assertList(t.setSecurity(alist()).getSecurity());
assertNull(t.setSecurity((List<Map<String,List<String>>>)null).getSecurity());
- assertTrue(t.setDeprecated(true).getDeprecated());
}
/**
@@ -81,9 +80,13 @@ class Operation_Test extends SimpleTestBase {
.set("security", set(map("i1",alist("i2"))))
.set("summary", "j")
.set("tags", set("k"))
- .set("$ref", "ref");
+ .set("$ref", "l"); // Not a bean property but accessed
through get(String) and set(String,Object).
- assertJson(t,
"{operationId:'d',summary:'j',description:'b',tags:['k'],externalDocs:{url:'c'},consumes:['text/a'],produces:['text/f'],parameters:[{'in':'e1',name:'e2'}],responses:{'1':{description:'g'}},schemes:['h'],deprecated:true,security:[{i1:['i2']}],'$ref':'ref'}");
+ assertBean(
+ t,
+
"consumes,deprecated,description,externalDocs{url},operationId,parameters{0{in,name}},produces,responses{1{description}},schemes,security,summary,tags,$ref",
+
"[text/a],true,b,{c},d,{{e1,e2}},[text/f],{{g}},[h],[{i1=[i2]}],j,[k],l"
+ );
t
.set("consumes", "['text/a']")
@@ -98,9 +101,13 @@ class Operation_Test extends SimpleTestBase {
.set("security", "[{i1:['i2']}]")
.set("summary", "j")
.set("tags", "['k']")
- .set("$ref", "ref");
+ .set("$ref", "l");
- assertJson(t,
"{operationId:'d',summary:'j',description:'b',tags:['k'],externalDocs:{url:'c'},consumes:['text/a'],produces:['text/f'],parameters:[{'in':'e1',name:'e2'}],responses:{'1':{description:'g'}},schemes:['h'],deprecated:true,security:[{i1:['i2']}],'$ref':'ref'}");
+ assertBean(
+ t,
+
"consumes,deprecated,description,externalDocs{url},operationId,parameters{0{in,name}},produces,responses{1{description}},schemes,security,summary,tags,$ref",
+
"[text/a],true,b,{c},d,{{e1,e2}},[text/f],{{g}},[h],[{i1=[i2]}],j,[k],l"
+ );
t
.set("consumes", new StringBuilder("['text/a']"))
@@ -115,23 +122,19 @@ class Operation_Test extends SimpleTestBase {
.set("security", new StringBuilder("[{i1:['i2']}]"))
.set("summary", new StringBuilder("j"))
.set("tags", new StringBuilder("['k']"))
- .set("$ref", new StringBuilder("ref"));
-
- assertJson(t,
"{operationId:'d',summary:'j',description:'b',tags:['k'],externalDocs:{url:'c'},consumes:['text/a'],produces:['text/f'],parameters:[{'in':'e1',name:'e2'}],responses:{'1':{description:'g'}},schemes:['h'],deprecated:true,security:[{i1:['i2']}],'$ref':'ref'}");
-
- assertEquals("['text/a']", t.get("consumes", String.class));
- assertEquals("true", t.get("deprecated", String.class));
- assertEquals("b", t.get("description", String.class));
- assertEquals("{url:'c'}", t.get("externalDocs", String.class));
- assertEquals("d", t.get("operationId", String.class));
- assertEquals("[{'in':'e1',name:'e2'}]", t.get("parameters",
String.class));
- assertEquals("['text/f']", t.get("produces", String.class));
- assertEquals("{'1':{description:'g'}}", t.get("responses",
String.class));
- assertEquals("['h']", t.get("schemes", String.class));
- assertEquals("[{i1:['i2']}]", t.get("security", String.class));
- assertEquals("j", t.get("summary", String.class));
- assertEquals("['k']", t.get("tags", String.class));
- assertEquals("ref", t.get("$ref", String.class));
+ .set("$ref", new StringBuilder("l"));
+
+ assertBean(
+ t,
+
"consumes,deprecated,description,externalDocs{url},operationId,parameters{0{in,name}},produces,responses{1{description}},schemes,security,summary,tags,$ref",
+
"[text/a],true,b,{c},d,{{e1,e2}},[text/f],{{g}},[h],[{i1=[i2]}],j,[k],l"
+ );
+
+ assertMapped(t,
+ (obj,prop) -> obj.get(prop, String.class),
+
"consumes,deprecated,description,externalDocs,operationId,parameters,produces,responses,schemes,security,summary,tags,$ref",
+
"['text/a'],true,b,{url:'c'},d,[{'in':'e1',name:'e2'}],['text/f'],{'1':{description:'g'}},['h'],[{i1:['i2']}],j,['k'],l"
+ );
assertType(Set.class, t.get("consumes", Object.class));
assertType(MediaType.class, t.get("consumes",
List.class).get(0));
@@ -181,16 +184,20 @@ class Operation_Test extends SimpleTestBase {
.set("security", set(map("i1",alist("i2"))))
.set("summary", "j")
.set("tags", set("k"))
- .set("$ref", "ref")
+ .set("$ref", "l")
.copy();
- assertJson(t,
"{operationId:'d',summary:'j',description:'b',tags:['k'],externalDocs:{url:'c'},consumes:['text/a'],produces:['text/f'],parameters:[{'in':'e1',name:'e2'}],responses:{'1':{description:'g'}},schemes:['h'],deprecated:true,security:[{i1:['i2']}],'$ref':'ref'}");
+ assertBean(
+ t,
+
"consumes,deprecated,description,externalDocs{url},operationId,parameters{0{in,name}},produces,responses{1{description}},schemes,security,summary,tags,$ref",
+
"[text/a],true,b,{c},d,{{e1,e2}},[text/f],{{g}},[h],[{i1=[i2]}],j,[k],l"
+ );
}
@Test void b03_keySet() {
var t = new Operation();
- assertJson(t.keySet(), "[]");
+ assertSet(t.keySet());
t
.set("consumes", set(MediaType.of("text/a")))
@@ -207,8 +214,9 @@ class Operation_Test extends SimpleTestBase {
.set("tags", set("k"))
.set("$ref", "ref");
- assertJson(t.keySet(),
-
"['consumes','deprecated','description','externalDocs','operationId','parameters','produces','responses','schemes','security','summary','tags','$ref']"
+ assertSet(
+ t.keySet(),
+
"consumes","deprecated","description","externalDocs","operationId","parameters","produces","responses","schemes","security","summary","tags","$ref"
);
}
}
\ No newline at end of file
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/ParameterInfo_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/ParameterInfo_Test.java
index 91e966415..54fd3cba4 100644
---
a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/ParameterInfo_Test.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/ParameterInfo_Test.java
@@ -33,23 +33,23 @@ class ParameterInfo_Test extends SimpleTestBase {
*/
@Test void a01_gettersAndSetters() {
var t = new ParameterInfo();
- assertEquals("foo", t.setName("foo").getName());
+ assertBean(t.setName("foo"), "name", "foo");
assertNull(t.setName(null).getName());
- assertEquals("foo", t.setIn("foo").getIn());
+ assertBean(t.setIn("foo"), "in", "foo");
assertNull(t.setIn(null).getIn());
- assertEquals("foo", t.setDescription("foo").getDescription());
+ assertBean(t.setDescription("foo"), "description", "foo");
assertNull(t.setDescription(null).getDescription());
assertTrue(t.setRequired(true).getRequired());
assertJson(t.setSchema(schemaInfo().setTitle("foo")).getSchema(),
"{title:'foo'}");
- assertEquals("foo", t.setType("foo").getType());
+ assertBean(t.setType("foo"), "type", "foo");
assertNull(t.setType(null).getType());
- assertEquals("foo", t.setFormat("foo").getFormat());
+ assertBean(t.setFormat("foo"), "format", "foo");
assertNull(t.setFormat(null).getFormat());
assertTrue(t.setAllowEmptyValue(true).getAllowEmptyValue());
assertJson(t.setItems(items("foo")).getItems(), "{type:'foo'}");
- assertEquals("foo",
t.setCollectionFormat("foo").getCollectionFormat());
+ assertBean(t.setCollectionFormat("foo"), "collectionFormat",
"foo");
assertNull(t.setCollectionFormat(null).getCollectionFormat());
- assertEquals("foo", t.setDefault("foo").getDefault());
+ assertBean(t.setDefault("foo"), "default", "foo");
assertString("foo", t.setDefault(new
StringBuilder("foo")).getDefault());
assertNull(t.setDefault(null).getDefault());
assertEquals(123, t.setMaximum(123).getMaximum());
@@ -60,7 +60,7 @@ class ParameterInfo_Test extends SimpleTestBase {
assertTrue(t.setExclusiveMinimum(true).getExclusiveMinimum());
assertEquals(123, t.setMaxLength(123).getMaxLength());
assertEquals(123, t.setMinLength(123).getMinLength());
- assertEquals("foo", t.setPattern("foo").getPattern());
+ assertBean(t.setPattern("foo"), "pattern", "foo");
assertNull(t.setPattern(null).getPattern());
assertEquals(123, t.setMaxItems(123).getMaxItems());
assertEquals(123, t.setMinItems(123).getMinItems());
@@ -164,30 +164,9 @@ class ParameterInfo_Test extends SimpleTestBase {
assertJson(t,
"{'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'}");
- 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));
+ assertMapped(t, (obj,prop) -> obj.get(prop, String.class),
+
"default,enum,allowEmptyValue,collectionFormat,description,exclusiveMaximum,exclusiveMinimum,format,in,items,maximum,maxItems,maxLength,minimum,minItems,minLength,multipleOf,name,pattern,required,schema,type,uniqueItems,$ref",
+
"a,['b'],true,c,d,true,true,e,f,{type:'g'},123.0,123,123,123.0,123,123,123.0,h,i,true,{title:'j'},k,true,ref");
assertType(StringBuilder.class, t.get("default", Object.class));
assertType(Set.class, t.get("enum", Object.class));
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/ResponseInfo_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/ResponseInfo_Test.java
index c7ea93b4f..96351c115 100644
---
a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/ResponseInfo_Test.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/ResponseInfo_Test.java
@@ -33,18 +33,23 @@ class ResponseInfo_Test extends SimpleTestBase {
*/
@Test void a01_gettersAndSetters() {
var t = new ResponseInfo();
- assertEquals("foo", t.setDescription("foo").getDescription());
+
+ // General
+ assertBean(
+
t.setDescription("a").setSchema(schemaInfo().setTitle("b")).setHeaders(map("c",headerInfo("d"))).setExamples(map("e","f","g",alist("h"))),
+ "description,schema{title},headers{c{type}},examples",
+ "a,{b},{{d}},{e=f,g=[h]}"
+ );
+
+ // Edge cases for collections and nulls.
assertNull(t.setDescription(null).getDescription());
-
assertJson(t.setSchema(schemaInfo().setTitle("foo")).getSchema(),
"{title:'foo'}");
-
assertJson(t.setHeaders(map("foo",headerInfo("bar"))).getHeaders(),
"{foo:{type:'bar'}}");
- assertType(HeaderInfo.class,
t.setHeaders(map("foo",headerInfo("bar"))).getHeaders().get("foo"));
- assertJson(t.setHeaders(map()).getHeaders(), "{}");
+ assertMap(t.setHeaders(map()).getHeaders());
assertNull(t.setHeaders((Map<String,HeaderInfo>)null).getHeaders());
-
assertJson(t.setExamples(map("foo","bar","baz",alist("qux"))).getExamples(),
"{foo:'bar',baz:['qux']}");
- assertJson(t.setExamples(map()).getExamples(), "{}");
+ assertMap(t.setExamples(map()).getExamples());
assertNull(t.setExamples((Map<String,Object>)null).getExamples());
-
assertJson(t.setExamples(map("foo","bar","baz",alist("qux"))).getExamples(),
"{foo:'bar',baz:['qux']}");
- assertJson(t.setExamples(map()).addExample("text/a",
"a").addExample("text/b", null).addExample(null, "c").getExamples(),
"{'text/a':'a','text/b':null,null:'c'}");
+
+ // Examples addExample method.
+ assertMap(t.setExamples(map()).addExample("text/a",
"a").addExample("text/b", null).addExample(null, "c").getExamples(),
"text/a=a", "text/b=null", "null=c");
}
/**
@@ -60,7 +65,10 @@ class ResponseInfo_Test extends SimpleTestBase {
.set("schema", schemaInfo().setType("d"))
.set("$ref", "ref");
- assertJson(t,
"{description:'a',schema:{type:'d'},headers:{a:{type:'a1'}},examples:{foo:'bar',baz:['qux']},'$ref':'ref'}");
+ // Comprehensive object state validation
+ assertBean(t,
+
"description,schema{type},headers{a{type}},examples,$ref",
+ "a,{d},{{a1}},{foo=bar,baz=[qux]},ref");
t
.set("description", "a")
@@ -69,7 +77,9 @@ class ResponseInfo_Test extends SimpleTestBase {
.set("schema", "{type:'d'}")
.set("$ref", "ref");
- assertJson(t,
"{description:'a',schema:{type:'d'},headers:{a:{type:'a1'}},examples:{foo:'bar',baz:['qux']},'$ref':'ref'}");
+ assertBean(t,
+
"description,schema{type},headers{a{type}},examples,$ref",
+ "a,{d},{{a1}},{foo=bar,baz=[qux]},ref");
t
.set("description", new StringBuilder("a"))
@@ -78,13 +88,13 @@ class ResponseInfo_Test extends SimpleTestBase {
.set("schema", new StringBuilder("{type:'d'}"))
.set("$ref", new StringBuilder("ref"));
- assertJson(t,
"{description:'a',schema:{type:'d'},headers:{a:{type:'a1'}},examples:{foo:'bar',baz:['qux']},'$ref':'ref'}");
+ assertBean(t,
+
"description,schema{type},headers{a{type}},examples,$ref",
+ "a,{d},{{a1}},{foo=bar,baz=[qux]},ref");
- 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));
+ assertMapped(t, (obj,prop) -> obj.get(prop, String.class),
+ "description,examples,headers,schema,$ref",
+
"a,{foo:'bar',baz:['qux']},{a:{type:'a1'}},{type:'d'},ref");
assertType(String.class, t.get("description", Object.class));
assertType(Map.class, t.get("examples", Object.class));
@@ -117,13 +127,15 @@ class ResponseInfo_Test extends SimpleTestBase {
.set("$ref", "ref")
.copy();
- assertJson(t,
"{description:'a',schema:{type:'d'},headers:{a:{type:'a1'}},examples:{foo:'bar',baz:['qux']},'$ref':'ref'}");
+ assertBean(t,
+
"description,schema{type},headers{a{type}},examples,$ref",
+ "a,{d},{{a1}},{foo=bar,baz=[qux]},ref");
}
@Test void b03_keySet() {
var t = new ResponseInfo();
- assertJson(t.keySet(), "[]");
+ assertSet(t.keySet());
t
.set("description", "a")
@@ -132,6 +144,6 @@ class ResponseInfo_Test extends SimpleTestBase {
.set("schema", schemaInfo().setType("d"))
.set("$ref", "ref");
- assertJson(t.keySet(),
"['description','examples','headers','schema','$ref']");
+ assertSet(t.keySet(),
"description,examples,headers,schema,$ref");
}
}
\ No newline at end of file
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/SecurityScheme_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/SecurityScheme_Test.java
index f83fdf594..eb99d8162 100644
---
a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/SecurityScheme_Test.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/SecurityScheme_Test.java
@@ -32,22 +32,24 @@ class SecurityScheme_Test extends SimpleTestBase {
*/
@Test void a01_gettersAndSetters() {
var t = new SecurityScheme();
- assertEquals("foo", t.setType("foo").getType());
+
+ // General
+ assertBean(
+
t.setType("a").setDescription("b").setName("c").setIn("d").setFlow("e")
+
.setAuthorizationUrl("f").setTokenUrl("g").setScopes(map("h1","h2")),
+
"type,description,name,in,flow,authorizationUrl,tokenUrl,scopes",
+ "a,b,c,d,e,f,g,{h1=h2}"
+ );
+
+ // Edge cases for nulls and collections.
assertNull(t.setType(null).getType());
- assertEquals("foo", t.setDescription("foo").getDescription());
assertNull(t.setDescription(null).getDescription());
- assertEquals("foo", t.setName("foo").getName());
assertNull(t.setName(null).getName());
- assertEquals("foo", t.setIn("foo").getIn());
assertNull(t.setIn(null).getIn());
- assertEquals("foo", t.setFlow("foo").getFlow());
assertNull(t.setFlow(null).getFlow());
- assertEquals("foo",
t.setAuthorizationUrl("foo").getAuthorizationUrl());
assertNull(t.setAuthorizationUrl(null).getAuthorizationUrl());
- assertEquals("foo", t.setTokenUrl("foo").getTokenUrl());
assertNull(t.setTokenUrl(null).getTokenUrl());
- assertJson(t.setScopes(map("foo","bar")).getScopes(),
"{foo:'bar'}");
- assertJson(t.setScopes(map()).getScopes(), "{}");
+ assertMap(t.setScopes(map()).getScopes());
assertNull(t.setScopes((Map<String,String>)null).getScopes());
}
@@ -68,7 +70,10 @@ class SecurityScheme_Test extends SimpleTestBase {
.set("type", "g")
.set("$ref", "ref");
- assertJson(t,
"{type:'g',description:'b',name:'e','in':'d',flow:'c',authorizationUrl:'a',tokenUrl:'f',scopes:{foo:'bar'},'$ref':'ref'}");
+ // Comprehensive object state validation
+ assertBean(t,
+
"type,description,name,in,flow,authorizationUrl,tokenUrl,scopes,$ref",
+ "g,b,e,d,c,a,f,{foo=bar},ref");
t
.set("authorizationUrl", "a")
@@ -81,7 +86,9 @@ class SecurityScheme_Test extends SimpleTestBase {
.set("type", "g")
.set("$ref", "ref");
- assertJson(t,
"{type:'g',description:'b',name:'e','in':'d',flow:'c',authorizationUrl:'a',tokenUrl:'f',scopes:{foo:'bar'},'$ref':'ref'}");
+ assertBean(t,
+
"type,description,name,in,flow,authorizationUrl,tokenUrl,scopes,$ref",
+ "g,b,e,d,c,a,f,{foo=bar},ref");
t
.set("authorizationUrl", new StringBuilder("a"))
@@ -94,17 +101,13 @@ class SecurityScheme_Test extends SimpleTestBase {
.set("type", new StringBuilder("g"))
.set("$ref", new StringBuilder("ref"));
- assertJson(t,
"{type:'g',description:'b',name:'e','in':'d',flow:'c',authorizationUrl:'a',tokenUrl:'f',scopes:{foo:'bar'},'$ref':'ref'}");
+ assertBean(t,
+
"type,description,name,in,flow,authorizationUrl,tokenUrl,scopes,$ref",
+ "g,b,e,d,c,a,f,{foo=bar},ref");
- 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));
+ assertMapped(t, (obj,prop) -> obj.get(prop, String.class),
+
"authorizationUrl,description,flow,in,name,scopes,tokenUrl,type,$ref",
+ "a,b,c,d,e,{foo:'bar'},f,g,ref");
assertType(String.class, t.get("authorizationUrl",
Object.class));
assertType(String.class, t.get("description", Object.class));
@@ -144,13 +147,15 @@ class SecurityScheme_Test extends SimpleTestBase {
.set("$ref", "ref")
.copy();
- assertJson(t,
"{type:'g',description:'b',name:'e','in':'d',flow:'c',authorizationUrl:'a',tokenUrl:'f',scopes:{foo:'bar'},'$ref':'ref'}");
+ assertBean(t,
+
"type,description,name,in,flow,authorizationUrl,tokenUrl,scopes,$ref",
+ "g,b,e,d,c,a,f,{foo=bar},ref");
}
@Test void b03_keySet() {
var t = new SecurityScheme();
- assertJson(t.keySet(), "[]");
+ assertSet(t.keySet());
t
.set("authorizationUrl", "a")
@@ -163,6 +168,6 @@ class SecurityScheme_Test extends SimpleTestBase {
.set("type", "g")
.set("$ref", "ref");
- assertJson(t.keySet(),
"['authorizationUrl','description','flow','in','name','scopes','tokenUrl','type','$ref']");
+ assertSet(t.keySet(),
"authorizationUrl,description,flow,in,name,scopes,tokenUrl,type,$ref");
}
}
\ No newline at end of file
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Tag_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Tag_Test.java
index 0fe078a40..5df98afa1 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Tag_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Tag_Test.java
@@ -32,11 +32,17 @@ class Tag_Test extends SimpleTestBase {
*/
@Test void a01_gettersAndSetters() {
var t = new Tag();
- assertEquals("foo", t.setName("foo").getName());
+
+ // General
+ assertBean(
+
t.setName("a").setDescription("b").setExternalDocs(externalDocumentation("c")),
+ "name,description,externalDocs{url}",
+ "a,b,{c}"
+ );
+
+ // Edge cases for nulls.
assertNull(t.setName(null).getName());
- assertEquals("foo", t.setDescription("foo").getDescription());
assertNull(t.setDescription(null).getDescription());
-
assertJson(t.setExternalDocs(externalDocumentation("foo")).getExternalDocs(),
"{url:'foo'}");
}
/**
@@ -51,7 +57,10 @@ class Tag_Test extends SimpleTestBase {
.set("name", "c")
.set("$ref", "ref");
- assertJson(t,
"{name:'c',description:'a',externalDocs:{url:'b'},'$ref':'ref'}");
+ // Comprehensive object state validation
+ assertBean(t,
+ "name,description,externalDocs{url},$ref",
+ "c,a,{b},ref");
t
.set("description", "a")
@@ -59,7 +68,9 @@ class Tag_Test extends SimpleTestBase {
.set("name", "c")
.set("$ref", "ref");
- assertJson(t,
"{name:'c',description:'a',externalDocs:{url:'b'},'$ref':'ref'}");
+ assertBean(t,
+ "name,description,externalDocs{url},$ref",
+ "c,a,{b},ref");
t
.set("description", new StringBuilder("a"))
@@ -67,12 +78,13 @@ class Tag_Test extends SimpleTestBase {
.set("name", new StringBuilder("c"))
.set("$ref", new StringBuilder("ref"));
- assertJson(t,
"{name:'c',description:'a',externalDocs:{url:'b'},'$ref':'ref'}");
+ assertBean(t,
+ "name,description,externalDocs{url},$ref",
+ "c,a,{b},ref");
- assertEquals("a", t.get("description", String.class));
- assertEquals("{url:'b'}", t.get("externalDocs", String.class));
- assertEquals("c", t.get("name", String.class));
- assertEquals("ref", t.get("$ref", String.class));
+ assertMapped(t, (obj,prop) -> obj.get(prop, String.class),
+ "description,externalDocs,name,$ref",
+ "a,{url:'b'},c,ref");
assertType(String.class, t.get("description", Object.class));
assertType(ExternalDocumentation.class, t.get("externalDocs",
Object.class));
@@ -102,13 +114,15 @@ class Tag_Test extends SimpleTestBase {
.set("$ref", "ref")
.copy();
- assertJson(t,
"{name:'c',description:'a',externalDocs:{url:'b'},'$ref':'ref'}");
+ assertBean(t,
+ "name,description,externalDocs{url},$ref",
+ "c,a,{b},ref");
}
@Test void b03_keySet() {
var t = new Tag();
- assertJson(t.keySet(), "[]");
+ assertSet(t.keySet());
t
.set("description", "a")
@@ -116,6 +130,6 @@ class Tag_Test extends SimpleTestBase {
.set("name", "c")
.set("$ref", "ref");
- assertJson(t.keySet(),
"['description','externalDocs','name','$ref']");
+ assertSet(t.keySet(), "description,externalDocs,name,$ref");
}
}
\ No newline at end of file
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Xml_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Xml_Test.java
index a583aa996..e9b1c9b73 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Xml_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/dto/swagger/Xml_Test.java
@@ -30,14 +30,18 @@ class Xml_Test extends SimpleTestBase {
*/
@Test void a01_gettersAndSetters() {
var t = new Xml();
- assertEquals("foo", t.setName("foo").getName());
+
+ // General
+ assertBean(
+
t.setName("a").setNamespace("b").setPrefix("c").setAttribute(true).setWrapped(true),
+ "name,namespace,prefix,attribute,wrapped",
+ "a,b,c,true,true"
+ );
+
+ // Edge cases for nulls.
assertNull(t.setName(null).getName());
- assertEquals("foo", t.setNamespace("foo").getNamespace());
assertNull(t.setNamespace(null).getNamespace());
- assertEquals("foo", t.setPrefix("foo").getPrefix());
assertNull(t.setPrefix(null).getPrefix());
- assertTrue(t.setAttribute(true).getAttribute());
- assertTrue(t.setWrapped(true).getWrapped());
}
/**
@@ -54,7 +58,10 @@ class Xml_Test extends SimpleTestBase {
.set("wrapped", true)
.set("$ref", "ref");
- assertJson(t,
"{name:'a',namespace:'b',prefix:'c',attribute:true,wrapped:true,'$ref':'ref'}");
+ // Comprehensive object state validation
+ assertBean(t,
+ "name,namespace,prefix,attribute,wrapped,$ref",
+ "a,b,c,true,true,ref");
t
.set("attribute", "true")
@@ -64,7 +71,9 @@ class Xml_Test extends SimpleTestBase {
.set("wrapped", "true")
.set("$ref", "ref");
- assertJson(t,
"{name:'a',namespace:'b',prefix:'c',attribute:true,wrapped:true,'$ref':'ref'}");
+ assertBean(t,
+ "name,namespace,prefix,attribute,wrapped,$ref",
+ "a,b,c,true,true,ref");
t
.set("attribute", new StringBuilder("true"))
@@ -74,14 +83,13 @@ class Xml_Test extends SimpleTestBase {
.set("wrapped", new StringBuilder("true"))
.set("$ref", new StringBuilder("ref"));
- assertJson(t,
"{name:'a',namespace:'b',prefix:'c',attribute:true,wrapped:true,'$ref':'ref'}");
+ assertBean(t,
+ "name,namespace,prefix,attribute,wrapped,$ref",
+ "a,b,c,true,true,ref");
- assertEquals("true", t.get("attribute", String.class));
- assertEquals("a", t.get("name", String.class));
- assertEquals("b", t.get("namespace", String.class));
- assertEquals("c", t.get("prefix", String.class));
- assertEquals("true", t.get("wrapped", String.class));
- assertEquals("ref", t.get("$ref", String.class));
+ assertMapped(t, (obj,prop) -> obj.get(prop, String.class),
+ "attribute,name,namespace,prefix,wrapped,$ref",
+ "true,a,b,c,true,ref");
assertType(Boolean.class, t.get("attribute", Object.class));
assertType(String.class, t.get("name", Object.class));
@@ -115,13 +123,15 @@ class Xml_Test extends SimpleTestBase {
.set("$ref", "ref")
.copy();
- assertJson(t,
"{name:'a',namespace:'b',prefix:'c',attribute:true,wrapped:true,'$ref':'ref'}");
+ assertBean(t,
+ "name,namespace,prefix,attribute,wrapped,$ref",
+ "a,b,c,true,true,ref");
}
@Test void b03_keySet() {
var t = new Xml();
- assertJson(t.keySet(), "[]");
+ assertSet(t.keySet());
t
.set("attribute", true)
@@ -131,6 +141,6 @@ class Xml_Test extends SimpleTestBase {
.set("wrapped", true)
.set("$ref", "ref");
- assertJson(t.keySet(),
"['attribute','name','namespace','prefix','wrapped','$ref']");
+ assertSet(t.keySet(),
"attribute,name,namespace,prefix,wrapped,$ref");
}
}
\ No newline at end of file
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/http/remote/RrpcInterface_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/http/remote/RrpcInterface_Test.java
index 9512f7e19..4fc710d53 100644
---
a/juneau-utest/src/test/java/org/apache/juneau/http/remote/RrpcInterface_Test.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/http/remote/RrpcInterface_Test.java
@@ -564,89 +564,89 @@ class RrpcInterface_Test extends SimpleTestBase {
@Override
public void setInt3dArray(int[][][] v) {
- assertJson(v, "[[[1,2],null],null]");
+ assertArray(v, "[[1,2],null]", null);
}
@Override
public void setInteger3dArray(Integer[][][] v) {
- assertJson(v, "[[[1,null],null],null]");
+ assertArray(v, "[[1,null],null]", null);
}
@Override
public void setString3dArray(String[][][] v) {
- assertJson(v,
"[[['foo',null],null],null]");
+ assertArray(v, "[[foo,null],null]",
null);
}
@Override
public void setIntegerList(List<Integer> v) {
- assertJson(v, "[1,null]");
+ assertList(v, "1", null);
assertType(Integer.class, v.get(0));
}
@Override
public void
setInteger3dList(List<List<List<Integer>>> v) {
- assertJson(v, "[[[1,null],null],null]");
+ assertList(v, "[[1,null],null]", null);
assertType(Integer.class,
v.get(0).get(0).get(0));
}
@Override
public void
setInteger1d3dList(List<Integer[][][]> v) {
- assertJson(v,
"[[[[1,null],null],null],null]");
+ assertList(v, "[[[1,null],null],null]",
null);
assertType(Integer[][][].class,
v.get(0));
assertType(Integer.class,
v.get(0)[0][0][0]);
}
@Override
public void setInt1d3dList(List<int[][][]> v) {
- assertJson(v,
"[[[[1,2],null],null],null]");
+ assertList(v, "[[[1,2],null],null]",
null);
assertType(int[][][].class, v.get(0));
}
@Override
public void setStringList(List<String> v) {
- assertJson(v, "['foo','bar',null]");
+ assertList(v, "foo", "bar", null);
}
// Beans
@Override
public void setBean(ABean v) {
- assertJson(v, "{a:1,b:'foo'}");
+ assertBean(v, "a,b", "1,foo");
}
@Override
public void setBean3dArray(ABean[][][] v) {
- assertJson(v,
"[[[{a:1,b:'foo'},null],null],null]");
+ assertArray(v,
"[[{a:1,b:'foo'},null],null]",null);
}
@Override
public void setBeanList(List<ABean> v) {
- assertJson(v, "[{a:1,b:'foo'}]");
+ assertList(v, ">{a:1,b:'foo'}"); //
'>' tells assertList to treat comma literally.
}
@Override
public void setBean1d3dList(List<ABean[][][]>
v) {
- assertJson(v,
"[[[[{a:1,b:'foo'},null],null],null],null]");
+ assertList(v,
"[[[{a:1,b:'foo'},null],null],null]", null);
}
@Override
public void setBeanMap(Map<String,ABean> v) {
- assertJson(v, "{foo:{a:1,b:'foo'}}");
+ assertMap(v, ">foo={a:1,b:'foo'}");
}
@Override
public void
setBeanListMap(Map<String,List<ABean>> v) {
- assertJson(v, "{foo:[{a:1,b:'foo'}]}");
+ assertMap(v, ">foo=[{a:1,b:'foo'}]");
}
@Override
public void
setBean1d3dListMap(Map<String,List<ABean[][][]>> v) {
- assertJson(v,
"{foo:[[[[{a:1,b:'foo'},null],null],null],null]}");
+ assertMap(v,
">foo=[[[[{a:1,b:'foo'},null],null],null],null]");
}
@Override
public void
setBeanListMapIntegerKeys(Map<Integer,List<ABean>> v) {
- assertJson(v, "{'1':[{a:1,b:'foo'}]}");
// Note: JsonSerializer serializes key as string.
+ assertMap(v, ">1=[{a:1,b:'foo'}]");
assertType(Integer.class,
v.keySet().iterator().next());
}
@@ -654,49 +654,49 @@ class RrpcInterface_Test extends SimpleTestBase {
@Override
public void setTypedBean(TypedBean v) {
- assertJson(v, "{a:1,b:'foo'}");
+ assertBean(v, "a,b", "1,foo");
assertType(TypedBeanImpl.class, v);
}
@Override
public void setTypedBean3dArray(TypedBean[][][]
v) {
- assertJson(v,
"[[[{a:1,b:'foo'},null],null],null]");
+ assertArray(v,
"[[a:1;b:foo,null],null]" ,null); // Testing serialization here.
assertType(TypedBeanImpl.class,
v[0][0][0]);
}
@Override
public void setTypedBeanList(List<TypedBean> v)
{
- assertJson(v, "[{a:1,b:'foo'}]");
+ assertList(v, "a:1;b:foo");
assertType(TypedBeanImpl.class,
v.get(0));
}
@Override
public void
setTypedBean1d3dList(List<TypedBean[][][]> v) {
- assertJson(v,
"[[[[{a:1,b:'foo'},null],null],null],null]");
+ assertList(v,
"[[[a:1;b:foo,null],null],null]", null);
assertType(TypedBeanImpl.class,
v.get(0)[0][0][0]);
}
@Override
public void
setTypedBeanMap(Map<String,TypedBean> v) {
- assertJson(v, "{foo:{a:1,b:'foo'}}");
+ assertMap(v, "foo=a:1;b:foo");
assertType(TypedBeanImpl.class,
v.get("foo"));
}
@Override
public void
setTypedBeanListMap(Map<String,List<TypedBean>> v) {
- assertJson(v, "{foo:[{a:1,b:'foo'}]}");
+ assertMap(v, "foo=[a:1;b:foo]");
assertType(TypedBeanImpl.class,
v.get("foo").get(0));
}
@Override
public void
setTypedBean1d3dListMap(Map<String,List<TypedBean[][][]>> v) {
- assertJson(v,
"{foo:[[[[{a:1,b:'foo'},null],null],null],null]}");
+ assertMap(v,
">foo=[[[[a:1;b:foo,null],null],null],null]");
assertType(TypedBeanImpl.class,
v.get("foo").get(0)[0][0][0]);
}
@Override
public void
setTypedBeanListMapIntegerKeys(Map<Integer,List<TypedBean>> v) {
- assertJson(v, "{'1':[{a:1,b:'foo'}]}");
// Note: JsonSerializer serializes key as string.
+ assertMap(v, "1=[a:1;b:foo]");
assertType(TypedBeanImpl.class,
v.get(1).get(0));
}
@@ -709,13 +709,13 @@ class RrpcInterface_Test extends SimpleTestBase {
@Override
public void
setSwappedObject3dArray(SwappedObject[][][] v) {
- assertJson(v,
"[[['"+SWAP+"',null],null],null]");
+ assertArray(v,
"[[wasUnswapped:true,null],null]" ,null);
assertTrue(v[0][0][0].wasUnswapped);
}
@Override
public void
setSwappedObjectMap(Map<SwappedObject,SwappedObject> v) {
- assertJson(v,
"{'"+SWAP+"':'"+SWAP+"'}");
+ assertMap(v,
"wasUnswapped:true=wasUnswapped:true");
var e = v.entrySet().iterator().next();
assertTrue(e.getKey().wasUnswapped);
assertTrue(e.getValue().wasUnswapped);
@@ -723,7 +723,7 @@ class RrpcInterface_Test extends SimpleTestBase {
@Override
public void
setSwappedObject3dMap(Map<SwappedObject,SwappedObject[][][]> v) {
- assertJson(v,
"{'"+SWAP+"':[[['"+SWAP+"',null],null],null]}");
+ assertMap(v,
">wasUnswapped:true=[[[wasUnswapped:true,null],null],null]");
var e = v.entrySet().iterator().next();
assertTrue(e.getKey().wasUnswapped);
assertTrue(e.getValue()[0][0][0].wasUnswapped);
@@ -738,13 +738,13 @@ class RrpcInterface_Test extends SimpleTestBase {
@Override
public void
setImplicitSwappedObject3dArray(ImplicitSwappedObject[][][] v) {
- assertJson(v,
"[[['"+SWAP+"',null],null],null]");
+ assertArray(v,
"[["+SWAP+",null],null]", null);
assertTrue(v[0][0][0].wasUnswapped);
}
@Override
public void
setImplicitSwappedObjectMap(Map<ImplicitSwappedObject,ImplicitSwappedObject> v)
{
- assertJson(v,
"{'"+SWAP+"':'"+SWAP+"'}");
+ assertMap(v, ">"+SWAP+"="+SWAP);
var e = v.entrySet().iterator().next();
assertTrue(e.getKey().wasUnswapped);
assertTrue(e.getValue().wasUnswapped);
@@ -752,7 +752,7 @@ class RrpcInterface_Test extends SimpleTestBase {
@Override
public void
setImplicitSwappedObject3dMap(Map<ImplicitSwappedObject,ImplicitSwappedObject[][][]>
v) {
- assertJson(v,
"{'"+SWAP+"':[[['"+SWAP+"',null],null],null]}");
+ assertMap(v,
">"+SWAP+"=[[["+SWAP+",null],null],null]");
var e = v.entrySet().iterator().next();
assertTrue(e.getKey().wasUnswapped);
assertTrue(e.getValue()[0][0][0].wasUnswapped);
@@ -767,30 +767,30 @@ class RrpcInterface_Test extends SimpleTestBase {
@Override
public void setEnum3d(TestEnum[][][] v) {
- assertJson(v,
"[[['TWO',null],null],null]");
+ assertArray(v, "[[TWO,null],null]",
null);
}
@Override
public void setEnumList(List<TestEnum> v) {
- assertJson(v, "['TWO',null]");
+ assertList(v, "TWO", null);
assertType(TestEnum.class, v.get(0));
}
@Override
public void
setEnum3dList(List<List<List<TestEnum>>> v) {
- assertJson(v,
"[[['TWO',null],null],null]");
+ assertList(v, "[[TWO,null],null]",
null);
assertType(TestEnum.class,
v.get(0).get(0).get(0));
}
@Override
public void
setEnum1d3dList(List<TestEnum[][][]> v) {
- assertJson(v,
"[[[['TWO',null],null],null],null]");
+ assertList(v,
"[[[TWO,null],null],null]", null);
assertType(TestEnum[][][].class,
v.get(0));
}
@Override
public void setEnumMap(Map<TestEnum,TestEnum>
v) {
- assertJson(v, "{ONE:'TWO'}");
+ assertMap(v, "ONE=TWO");
var e = v.entrySet().iterator().next();
assertType(TestEnum.class, e.getKey());
assertType(TestEnum.class,
e.getValue());
@@ -798,7 +798,7 @@ class RrpcInterface_Test extends SimpleTestBase {
@Override
public void
setEnum3dArrayMap(Map<TestEnum,TestEnum[][][]> v) {
- assertJson(v,
"{ONE:[[['TWO',null],null],null]}");
+ assertMap(v,
">ONE=[[[TWO,null],null],null]");
var e = v.entrySet().iterator().next();
assertType(TestEnum.class, e.getKey());
assertType(TestEnum[][][].class,
e.getValue());
@@ -806,7 +806,7 @@ class RrpcInterface_Test extends SimpleTestBase {
@Override
public void
setEnum1d3dListMap(Map<TestEnum,List<TestEnum[][][]>> v) {
- assertJson(v,
"{ONE:[[[['TWO',null],null],null],null]}");
+ assertMap(v,
">ONE=[[[[TWO,null],null],null],null]");
Map.Entry<TestEnum,List<TestEnum[][][]>> e = v.entrySet().iterator().next();
assertType(TestEnum.class, e.getKey());
assertType(TestEnum[][][].class,
e.getValue().get(0));
@@ -818,107 +818,107 @@ class RrpcInterface_Test extends SimpleTestBase {
@Override
public void setMultiParamsInts(int x1,int[][][]
x2,int[][][] x2n,List<int[][][]> x3,List<int[][][]> x3n) {
- assertJson(x1, "1");
- assertJson(x2, "[[[1,2],null],null]");
+ assertEquals(1, x1);
+ assertArray(x2, "[[1,2],null]" ,null);
assertNull(x2n);
- assertJson(x3,
"[[[[1,2],null],null],null]");
+ assertList(x3, "[[[1,2],null],null]",
null);
assertType(int[][][].class, x3.get(0));
assertNull(x3n);
}
@Override
public void setMultiParamsInteger(Integer
x1,Integer x1n,Integer[][][] x2,Integer[][][] x2n,List<Integer[][][]>
x3,List<Integer[][][]> x3n) {
- assertJson(x1, "1");
- assertJson(x2,
"[[[1,null],null],null]");
+ assertEquals((Integer)1, x1);
+ assertArray(x2, "[[1,null],null]",
null);
assertNull(x2n);
- assertJson(x3,
"[[[[1,null],null],null],null]");
+ assertList(x3,
"[[[1,null],null],null]", null);
assertType(Integer[][][].class,
x3.get(0));
assertNull(x3n);
}
@Override
public void setMultiParamsFloat(float
x1,float[][][] x2,float[][][] x2n,List<float[][][]> x3,List<float[][][]> x3n) {
- assertJson(x1, "1.0");
- assertJson(x2,
"[[[1.0,2.0],null],null]");
+ assertEquals(1.0f, x1, 0.1f);
+ assertArray(x2, "[[1.0,2.0],null]",
null);
assertNull(x2n);
- assertJson(x3,
"[[[[1.0,2.0],null],null],null]");
+ assertList(x3,
"[[[1.0,2.0],null],null]", null);
assertType(float[][][].class,
x3.get(0));
assertNull(x3n);
}
@Override
public void setMultiParamsFloatObject(Float
x1,Float x1n,Float[][][] x2,Float[][][] x2n,List<Float[][][]>
x3,List<Float[][][]> x3n) {
- assertJson(x1, "1.0");
- assertJson(x2,
"[[[1.0,null],null],null]");
+ assertEquals(1.0f, x1, 0.1f);
+ assertArray(x2, "[[1.0,null],null]",
null);
assertNull(x2n);
- assertJson(x3,
"[[[[1.0,null],null],null],null]");
+ assertList(x3,
"[[[1.0,null],null],null]", null);
assertType(Float[][][].class,
x3.get(0));
assertNull(x3n);
}
@Override
public void setMultiParamsString(String
x1,String[][][] x2,String[][][] x2n,List<String[][][]> x3,List<String[][][]>
x3n) {
- assertJson(x1, "'foo'");
- assertJson(x2,
"[[['foo',null],null],null]");
+ assertEquals("foo", x1);
+ assertArray(x2, "[[foo,null],null]",
null);
assertNull(x2n);
- assertJson(x3,
"[[[['foo',null],null],null],null]");
+ assertList(x3,
"[[[foo,null],null],null]", null);
assertType(String[][][].class,
x3.get(0));
assertNull(x3n);
}
@Override
public void setMultiParamsBean(ABean
x1,ABean[][][] x2,ABean[][][] x2n,List<ABean[][][]> x3,List<ABean[][][]>
x3n,Map<String,ABean> x4,Map<String,ABean> x4n,Map<String,List<ABean[][][]>>
x5,Map<String,List<ABean[][][]>> x5n) {
- assertJson(x1, "{a:1,b:'foo'}");
- assertJson(x2,
"[[[{a:1,b:'foo'},null],null],null]");
+ assertBean(x1, "a,b", "1,foo");
+ assertArray(x2,
"[[{a:1,b:'foo'},null],null]", null); // ABean toString converts it to JSON.
assertNull(x2n);
- assertJson(x3,
"[[[[{a:1,b:'foo'},null],null],null],null]");
+ assertList(x3,
"[[[{a:1,b:'foo'},null],null],null]", null);
assertType(ABean[][][].class,
x3.get(0));
assertNull(x3n);
- assertJson(x4, "{foo:{a:1,b:'foo'}}");
+ assertMap(x4, ">foo={a:1,b:'foo'}");
assertNull(x4n);
- assertJson(x5,
"{foo:[[[[{a:1,b:'foo'},null],null],null],null]}");
+ assertMap(x5,
">foo=[[[[{a:1,b:'foo'},null],null],null],null]");
assertNull(x5n);
}
@Override
public void
setMultiParamsSwappedObject(SwappedObject x1,SwappedObject[][][]
x2,SwappedObject[][][] x2n,List<SwappedObject[][][]>
x3,List<SwappedObject[][][]> x3n,Map<SwappedObject,SwappedObject>
x4,Map<SwappedObject,SwappedObject>
x4n,Map<SwappedObject,List<SwappedObject[][][]>>
x5,Map<SwappedObject,List<SwappedObject[][][]>> x5n) {
- assertJson(x1, "'"+SWAP+"'");
- assertJson(x2,
"[[['"+SWAP+"',null],null],null]");
+ assertTrue(x1.wasUnswapped);
+ assertArray(x2,
"[[wasUnswapped:true,null],null]", null);
assertNull(x2n);
- assertJson(x3,
"[[[['"+SWAP+"',null],null],null],null]");
+ assertList(x3,
"[[[wasUnswapped:true,null],null],null]", null);
assertType(SwappedObject[][][].class,
x3.get(0));
assertNull(x3n);
- assertJson(x4,
"{'"+SWAP+"':'"+SWAP+"'}");
+ assertMap(x4,
"wasUnswapped:true=wasUnswapped:true");
assertNull(x4n);
- assertJson(x5,
"{'"+SWAP+"':[[[['"+SWAP+"',null],null],null],null]}");
+ assertMap(x5,
">wasUnswapped:true=[[[[wasUnswapped:true,null],null],null],null]");
assertNull(x5n);
}
@Override
public void
setMultiParamsImplicitSwappedObject(ImplicitSwappedObject
x1,ImplicitSwappedObject[][][] x2,ImplicitSwappedObject[][][]
x2n,List<ImplicitSwappedObject[][][]> x3,List<ImplicitSwappedObject[][][]>
x3n,Map<ImplicitSwappedObject,ImplicitSwappedObject>
x4,Map<ImplicitSwappedObject,ImplicitSwappedObject>
x4n,Map<ImplicitSwappedObject,List<ImplicitSwappedObject[][][]>>
x5,Map<ImplicitSwappedObject,List<ImplicitSwappedObject[][][]>> x5n) {
- assertJson(x1, "'"+SWAP+"'");
- assertJson(x2,
"[[['"+SWAP+"',null],null],null]");
+ assertTrue(x1.wasUnswapped);
+ assertArray(x2,
"[["+SWAP+",null],null]", null);
assertNull(x2n);
- assertJson(x3,
"[[[['"+SWAP+"',null],null],null],null]");
+ assertList(x3,
"[[["+SWAP+",null],null],null]", null);
assertType(ImplicitSwappedObject[][][].class, x3.get(0));
assertNull(x3n);
- assertJson(x4,
"{'"+SWAP+"':'"+SWAP+"'}");
+ assertMap(x4, ">"+SWAP+"="+SWAP);
assertNull(x4n);
- assertJson(x5,
"{'"+SWAP+"':[[[['"+SWAP+"',null],null],null],null]}");
+ assertMap(x5,
">"+SWAP+"=[[[["+SWAP+",null],null],null],null]");
assertNull(x5n);
}
@Override
public void setMultiParamsEnum(TestEnum
x1,TestEnum[][][] x2,TestEnum[][][] x2n,List<TestEnum[][][]>
x3,List<TestEnum[][][]> x3n,Map<TestEnum,TestEnum> x4,Map<TestEnum,TestEnum>
x4n,Map<TestEnum,List<TestEnum[][][]>> x5,Map<TestEnum,List<TestEnum[][][]>>
x5n) {
- assertJson(x1, "'TWO'");
- assertJson(x2,
"[[['TWO',null],null],null]");
+ assertEquals(TestEnum.TWO, x1);
+ assertArray(x2, "[[TWO,null],null]",
null);
assertNull(x2n);
- assertJson(x3,
"[[[['TWO',null],null],null],null]");
+ assertList(x3,
"[[[TWO,null],null],null]", null);
assertType(TestEnum[][][].class,
x3.get(0));
assertNull(x3n);
- assertJson(x4, "{ONE:'TWO'}");
+ assertMap(x4, "ONE=TWO");
assertNull(x4n);
- assertJson(x5,
"{ONE:[[[['TWO',null],null],null],null]}");
+ assertMap(x5,
">ONE=[[[[TWO,null],null],null],null]");
assertNull(x5n);
}
};
@@ -981,26 +981,26 @@ class RrpcInterface_Test extends SimpleTestBase {
@ParameterizedTest
@MethodSource("input")
void a09_returnInt3dArray(Input input) {
- assertJson(input.proxy.returnInt3dArray(),
"[[[1,2],null],null]");
+ assertArray(input.proxy.returnInt3dArray(), "[[1,2],null]",
null);
}
@ParameterizedTest
@MethodSource("input")
void a10_returnInteger3dArray(Input input) {
- assertJson(input.proxy.returnInteger3dArray(),
"[[[1,null],null],null]");
+ assertArray(input.proxy.returnInteger3dArray(),
"[[1,null],null]", null);
}
@ParameterizedTest
@MethodSource("input")
void a11_returnString3dArray(Input input) {
- assertJson(input.proxy.returnString3dArray(),
"[[['foo','bar',null],null],null]");
+ assertArray(input.proxy.returnString3dArray(),
"[[foo,bar,null],null]", null);
}
@ParameterizedTest
@MethodSource("input")
void a12_returnIntegerList(Input input) {
var x = input.proxy.returnIntegerList();
- assertJson(x, "[1,null]");
+ assertList(x, "1", null);
assertType(Integer.class, x.get(0));
}
@@ -1008,7 +1008,7 @@ class RrpcInterface_Test extends SimpleTestBase {
@MethodSource("input")
void a13_returnInteger3dList(Input input) {
var x = input.proxy.returnInteger3dList();
- assertJson(x, "[[[1,null],null],null]");
+ assertList(x, "[[1,null],null]", null);
assertType(Integer.class, x.get(0).get(0).get(0));
}
@@ -1016,7 +1016,7 @@ class RrpcInterface_Test extends SimpleTestBase {
@MethodSource("input")
void a14_returnInteger1d3dList(Input input) {
var x = input.proxy.returnInteger1d3dList();
- assertJson(x, "[[[[1,null],null],null],null]");
+ assertList(x, "[[[1,null],null],null]", null);
assertType(Integer.class, x.get(0)[0][0][0]);
}
@@ -1024,14 +1024,14 @@ class RrpcInterface_Test extends SimpleTestBase {
@MethodSource("input")
void a15_returnInt1d3dList(Input input) {
var x = input.proxy.returnInt1d3dList();
- assertJson(x, "[[[[1,2],null],null],null]");
+ assertList(x, "[[[1,2],null],null]", null);
assertType(int[][][].class, x.get(0));
}
@ParameterizedTest
@MethodSource("input")
void a16_returnStringList(Input input) {
- assertJson(input.proxy.returnStringList(),
"['foo','bar',null]");
+ assertList(input.proxy.returnStringList(), "foo", "bar", null);
}
// Beans
@@ -1040,7 +1040,7 @@ class RrpcInterface_Test extends SimpleTestBase {
@MethodSource("input")
void b01_returnBean(Input input) {
var x = input.proxy.returnBean();
- assertJson(x, "{a:1,b:'foo'}");
+ assertBean(x, "a,b", "1,foo");
assertType(ABean.class, x);
}
@@ -1048,7 +1048,7 @@ class RrpcInterface_Test extends SimpleTestBase {
@MethodSource("input")
void b02_returnBean3dArray(Input input) {
var x = input.proxy.returnBean3dArray();
- assertJson(x, "[[[{a:1,b:'foo'},null],null],null]");
+ assertArray(x, "[[{a:1,b:'foo'},null],null]", null);
assertType(ABean.class, x[0][0][0]);
}
@@ -1056,7 +1056,7 @@ class RrpcInterface_Test extends SimpleTestBase {
@MethodSource("input")
void b03_returnBeanList(Input input) {
var x = input.proxy.returnBeanList();
- assertJson(x, "[{a:1,b:'foo'}]");
+ assertList(x, ">{a:1,b:'foo'}");
assertType(ABean.class, x.get(0));
}
@@ -1064,7 +1064,7 @@ class RrpcInterface_Test extends SimpleTestBase {
@MethodSource("input")
void b04_returnBean1d3dList(Input input) {
var x = input.proxy.returnBean1d3dList();
- assertJson(x, "[[[[{a:1,b:'foo'},null],null],null],null]");
+ assertList(x, "[[[{a:1,b:'foo'},null],null],null]", null);
assertType(ABean.class, x.get(0)[0][0][0]);
}
@@ -1072,7 +1072,7 @@ class RrpcInterface_Test extends SimpleTestBase {
@MethodSource("input")
void b05_returnBeanMap(Input input) {
var x = input.proxy.returnBeanMap();
- assertJson(x, "{foo:{a:1,b:'foo'}}");
+ assertMap(x, ">foo={a:1,b:'foo'}");
assertType(ABean.class, x.get("foo"));
}
@@ -1080,7 +1080,7 @@ class RrpcInterface_Test extends SimpleTestBase {
@MethodSource("input")
void b06_returnBeanListMap(Input input) {
var x = input.proxy.returnBeanListMap();
- assertJson(x, "{foo:[{a:1,b:'foo'}]}");
+ assertMap(x, ">foo=[{a:1,b:'foo'}]");
assertType(ABean.class, x.get("foo").get(0));
}
@@ -1088,7 +1088,7 @@ class RrpcInterface_Test extends SimpleTestBase {
@MethodSource("input")
void b07_returnBean1d3dListMap(Input input) {
var x = input.proxy.returnBean1d3dListMap();
- assertJson(x,
"{foo:[[[[{a:1,b:'foo'},null],null],null],null]}");
+ assertMap(x, ">foo=[[[[{a:1,b:'foo'},null],null],null],null]");
assertType(ABean.class, x.get("foo").get(0)[0][0][0]);
}
@@ -1097,7 +1097,7 @@ class RrpcInterface_Test extends SimpleTestBase {
void b08_returnBeanListMapIntegerKeys(Input input) {
// Note: JsonSerializer serializes key as string.
var x = input.proxy.returnBeanListMapIntegerKeys();
- assertJson(x, "{'1':[{a:1,b:'foo'}]}");
+ assertMap(x, ">1=[{a:1,b:'foo'}]");
assertType(Integer.class, x.keySet().iterator().next());
}
@@ -1107,7 +1107,7 @@ class RrpcInterface_Test extends SimpleTestBase {
@MethodSource("input")
void c01_returnTypedBean(Input input) {
var x = input.proxy.returnTypedBean();
- assertJson(x, "{a:1,b:'foo'}");
+ assertBean(x, "a,b", "1,foo");
assertType(TypedBeanImpl.class, x);
}
@@ -1115,7 +1115,7 @@ class RrpcInterface_Test extends SimpleTestBase {
@MethodSource("input")
void c02_returnTypedBean3dArray(Input input) {
var x = input.proxy.returnTypedBean3dArray();
- assertJson(x, "[[[{a:1,b:'foo'},null],null],null]");
+ assertArray(x, "[[a:1;b:foo,null],null]", null);
assertType(TypedBeanImpl.class, x[0][0][0]);
}
@@ -1123,7 +1123,7 @@ class RrpcInterface_Test extends SimpleTestBase {
@MethodSource("input")
void c03_returnTypedBeanList(Input input) {
var x = input.proxy.returnTypedBeanList();
- assertJson(x, "[{a:1,b:'foo'}]");
+ assertList(x, "a:1;b:foo");
assertType(TypedBeanImpl.class, x.get(0));
}
@@ -1131,7 +1131,7 @@ class RrpcInterface_Test extends SimpleTestBase {
@MethodSource("input")
void c04_returnTypedBean1d3dList(Input input) {
var x = input.proxy.returnTypedBean1d3dList();
- assertJson(x, "[[[[{a:1,b:'foo'},null],null],null],null]");
+ assertList(x, "[[[a:1;b:foo,null],null],null]", null);
assertType(TypedBeanImpl.class, x.get(0)[0][0][0]);
}
@@ -1139,7 +1139,7 @@ class RrpcInterface_Test extends SimpleTestBase {
@MethodSource("input")
void c05_returnTypedBeanMap(Input input) {
var x = input.proxy.returnTypedBeanMap();
- assertJson(x, "{foo:{a:1,b:'foo'}}");
+ assertMap(x, "foo=a:1;b:foo");
assertType(TypedBeanImpl.class, x.get("foo"));
}
@@ -1147,7 +1147,7 @@ class RrpcInterface_Test extends SimpleTestBase {
@MethodSource("input")
void c06_returnTypedBeanListMap(Input input) {
var x = input.proxy.returnTypedBeanListMap();
- assertJson(x, "{foo:[{a:1,b:'foo'}]}");
+ assertMap(x, "foo=[a:1;b:foo]");
assertType(TypedBeanImpl.class, x.get("foo").get(0));
}
@@ -1155,7 +1155,7 @@ class RrpcInterface_Test extends SimpleTestBase {
@MethodSource("input")
void c07_returnTypedBean1d3dListMap(Input input) {
var x = input.proxy.returnTypedBean1d3dListMap();
- assertJson(x,
"{foo:[[[[{a:1,b:'foo'},null],null],null],null]}");
+ assertMap(x, ">foo=[[[[a:1;b:foo,null],null],null],null]");
assertType(TypedBeanImpl.class, x.get("foo").get(0)[0][0][0]);
}
@@ -1164,7 +1164,7 @@ class RrpcInterface_Test extends SimpleTestBase {
void c08_returnTypedBeanListMapIntegerKeys(Input input) {
// Note: JsonSerializer serializes key as string.
var x = input.proxy.returnTypedBeanListMapIntegerKeys();
- assertJson(x, "{'1':[{a:1,b:'foo'}]}");
+ assertMap(x, "1=[a:1;b:foo]");
assertType(TypedBeanImpl.class, x.get(1).get(0));
}
@@ -1174,7 +1174,6 @@ class RrpcInterface_Test extends SimpleTestBase {
@MethodSource("input")
void d01_returnSwappedObject(Input input) {
var x = input.proxy.returnSwappedObject();
- assertJson(x, "'"+SWAP+"'");
assertTrue(x.wasUnswapped);
}
@@ -1182,7 +1181,7 @@ class RrpcInterface_Test extends SimpleTestBase {
@MethodSource("input")
void d02_returnSwappedObject3dArray(Input input) {
var x = input.proxy.returnSwappedObject3dArray();
- assertJson(x, "[[['"+SWAP+"',null],null],null]");
+ assertArray(x, "[[wasUnswapped:true,null],null]", null);
assertTrue(x[0][0][0].wasUnswapped);
}
@@ -1190,7 +1189,7 @@ class RrpcInterface_Test extends SimpleTestBase {
@MethodSource("input")
void d03_returnSwappedObjectMap(Input input) {
var x = input.proxy.returnSwappedObjectMap();
- assertJson(x, "{'"+SWAP+"':'"+SWAP+"'}");
+ assertMap(x, "wasUnswapped:true=wasUnswapped:true");
var e = x.entrySet().iterator().next();
assertTrue(e.getKey().wasUnswapped);
assertTrue(e.getValue().wasUnswapped);
@@ -1200,7 +1199,7 @@ class RrpcInterface_Test extends SimpleTestBase {
@MethodSource("input")
void d04_returnSwappedObject3dMap(Input input) {
var x = input.proxy.returnSwappedObject3dMap();
- assertJson(x, "{'"+SWAP+"':[[['"+SWAP+"',null],null],null]}");
+ assertMap(x,
">wasUnswapped:true=[[[wasUnswapped:true,null],null],null]");
var e = x.entrySet().iterator().next();
assertTrue(e.getKey().wasUnswapped);
assertTrue(e.getValue()[0][0][0].wasUnswapped);
@@ -1212,7 +1211,6 @@ class RrpcInterface_Test extends SimpleTestBase {
@MethodSource("input")
void e01_returnImplicitSwappedObject(Input input) {
var x = input.proxy.returnImplicitSwappedObject();
- assertJson(x, "'"+SWAP+"'");
assertTrue(x.wasUnswapped);
}
@@ -1220,7 +1218,7 @@ class RrpcInterface_Test extends SimpleTestBase {
@MethodSource("input")
void e02_returnImplicitSwappedObject3dArray(Input input) {
var x = input.proxy.returnImplicitSwappedObject3dArray();
- assertJson(x, "[[['"+SWAP+"',null],null],null]");
+ assertArray(x, "[["+SWAP+",null],null]", null);
assertTrue(x[0][0][0].wasUnswapped);
}
@@ -1228,7 +1226,7 @@ class RrpcInterface_Test extends SimpleTestBase {
@MethodSource("input")
void e03_returnImplicitSwappedObjectMap(Input input) {
var x = input.proxy.returnImplicitSwappedObjectMap();
- assertJson(x, "{'"+SWAP+"':'"+SWAP+"'}");
+ assertMap(x, ">"+SWAP+"="+SWAP);
var e = x.entrySet().iterator().next();
assertTrue(e.getKey().wasUnswapped);
assertTrue(e.getValue().wasUnswapped);
@@ -1238,7 +1236,7 @@ class RrpcInterface_Test extends SimpleTestBase {
@MethodSource("input")
void e04_returnImplicitSwappedObject3dMap(Input input) {
var x = input.proxy.returnImplicitSwappedObject3dMap();
- assertJson(x, "{'"+SWAP+"':[[['"+SWAP+"',null],null],null]}");
+ assertMap(x, ">"+SWAP+"=[[["+SWAP+",null],null],null]");
var e = x.entrySet().iterator().next();
assertTrue(e.getKey().wasUnswapped);
assertTrue(e.getValue()[0][0][0].wasUnswapped);
@@ -1250,14 +1248,14 @@ class RrpcInterface_Test extends SimpleTestBase {
@MethodSource("input")
void f01_returnEnum(Input input) {
var x = input.proxy.returnEnum();
- assertJson(x, "'TWO'");
+ assertEquals(TestEnum.TWO, x);
}
@ParameterizedTest
@MethodSource("input")
void f02_returnEnum3d(Input input) {
var x = input.proxy.returnEnum3d();
- assertJson(x, "[[['TWO',null],null],null]");
+ assertArray(x, "[[TWO,null],null]", null);
assertType(TestEnum.class, x[0][0][0]);
}
@@ -1265,7 +1263,7 @@ class RrpcInterface_Test extends SimpleTestBase {
@MethodSource("input")
void f03_returnEnumList(Input input) {
var x = input.proxy.returnEnumList();
- assertJson(x, "['TWO',null]");
+ assertList(x, "TWO", null);
assertType(TestEnum.class, x.get(0));
}
@@ -1273,7 +1271,7 @@ class RrpcInterface_Test extends SimpleTestBase {
@MethodSource("input")
void f04_returnEnum3dList(Input input) {
var x = input.proxy.returnEnum3dList();
- assertJson(x, "[[['TWO',null],null],null]");
+ assertList(x, "[[TWO,null],null]", null);
assertType(TestEnum.class, x.get(0).get(0).get(0));
}
@@ -1281,7 +1279,7 @@ class RrpcInterface_Test extends SimpleTestBase {
@MethodSource("input")
void f05_returnEnum1d3dList(Input input) {
var x = input.proxy.returnEnum1d3dList();
- assertJson(x, "[[[['TWO',null],null],null],null]");
+ assertList(x, "[[[TWO,null],null],null]", null);
assertType(TestEnum[][][].class, x.get(0));
}
@@ -1289,7 +1287,7 @@ class RrpcInterface_Test extends SimpleTestBase {
@MethodSource("input")
void f06_returnEnumMap(Input input) {
var x = input.proxy.returnEnumMap();
- assertJson(x, "{ONE:'TWO'}");
+ assertMap(x, "ONE=TWO");
var e = x.entrySet().iterator().next();
assertType(TestEnum.class, e.getKey());
assertType(TestEnum.class, e.getValue());
@@ -1299,7 +1297,7 @@ class RrpcInterface_Test extends SimpleTestBase {
@MethodSource("input")
void f07_returnEnum3dArrayMap(Input input) {
var x = input.proxy.returnEnum3dArrayMap();
- assertJson(x, "{ONE:[[['TWO',null],null],null]}");
+ assertMap(x, ">ONE=[[[TWO,null],null],null]");
var e = x.entrySet().iterator().next();
assertType(TestEnum.class, e.getKey());
assertType(TestEnum[][][].class, e.getValue());
@@ -1309,7 +1307,7 @@ class RrpcInterface_Test extends SimpleTestBase {
@MethodSource("input")
void f08_returnEnum1d3dListMap(Input input) {
var x = input.proxy.returnEnum1d3dListMap();
- assertJson(x, "{ONE:[[[['TWO',null],null],null],null]}");
+ assertMap(x, ">ONE=[[[[TWO,null],null],null],null]");
assertType(TestEnum[][][].class, x.get(TestEnum.ONE).get(0));
}
@@ -1771,4 +1769,4 @@ class RrpcInterface_Test extends SimpleTestBase {
Map<TestEnum,List<TestEnum[][][]>> x5n = null;
TestUtils.assertNotThrown(()->input.proxy.setMultiParamsEnum(x1,x2,x2n,x3,x3n,x4,x4n,x5,x5n));
}
-}
+}
\ No newline at end of file
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/rest/Swagger_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/rest/Swagger_Test.java
index 666837d57..a42d0be43 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/rest/Swagger_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/rest/Swagger_Test.java
@@ -602,11 +602,11 @@ class Swagger_Test extends SimpleTestBase {
@Test void d04a_externalDocs_Swagger_externalDocs() throws Exception {
var x = getSwagger(new D4()).getExternalDocs();
- assertJson(x, "{description:'b-description',url:'b-url'}");
+ assertBean(x, "description,url", "b-description,b-url");
}
@Test void d04b_externalDocs_Swagger_externalDocs_withFile() throws
Exception {
var x = getSwaggerWithFile(new D4()).getExternalDocs();
- assertJson(x, "{description:'b-description',url:'b-url'}");
+ assertBean(x, "description,url", "b-description,b-url");
}
@Rest(
@@ -839,8 +839,8 @@ class Swagger_Test extends SimpleTestBase {
}
@Test void f04_operation_tags_swaggerOnAnnotation() throws Exception {
- assertSet(getSwagger(new
F4()).getPaths().get("/path/{foo}").get("get").getTags(), "c-tag-1", "c-tag-2");
- assertSet(getSwaggerWithFile(new
F4()).getPaths().get("/path/{foo}").get("get").getTags(), "c-tag-1", "c-tag-2");
+ assertSet(getSwagger(new
F4()).getPaths().get("/path/{foo}").get("get").getTags(), "c-tag-1,c-tag-2");
+ assertSet(getSwaggerWithFile(new
F4()).getPaths().get("/path/{foo}").get("get").getTags(), "c-tag-1,c-tag-2");
}
@Rest(swagger=@Swagger("paths:{'/path/{foo}':{get:{tags:['a-tag']}}}"))
@@ -852,8 +852,8 @@ class Swagger_Test extends SimpleTestBase {
}
@Test void f05_operation_tags_swaggerOnAnnotation() throws Exception {
- assertSet(getSwagger(new
F5()).getPaths().get("/path/{foo}").get("get").getTags(), "c-tag-1", "c-tag-2");
- assertSet(getSwaggerWithFile(new
F5()).getPaths().get("/path/{foo}").get("get").getTags(), "c-tag-1", "c-tag-2");
+ assertSet(getSwagger(new
F5()).getPaths().get("/path/{foo}").get("get").getTags(), "c-tag-1,c-tag-2");
+ assertSet(getSwaggerWithFile(new
F5()).getPaths().get("/path/{foo}").get("get").getTags(), "c-tag-1,c-tag-2");
}
@Rest(messages="BasicRestInfoProviderTest",
swagger=@Swagger("paths:{'/path/{foo}':{get:{tags:'a-tags'}}}"))
@@ -1005,8 +1005,8 @@ class Swagger_Test extends SimpleTestBase {
}
@Test void h04_operation_consumes_swaggerOnAnnotation() throws
Exception {
- assertSet(getSwagger(new
H4()).getPaths().get("/path/{foo}").get("get").getConsumes(), "c-consumes-1",
"c-consumes-2");
- assertSet(getSwaggerWithFile(new
H4()).getPaths().get("/path/{foo}").get("get").getConsumes(), "c-consumes-1",
"c-consumes-2");
+ assertSet(getSwagger(new
H4()).getPaths().get("/path/{foo}").get("get").getConsumes(),
"c-consumes-1,c-consumes-2");
+ assertSet(getSwaggerWithFile(new
H4()).getPaths().get("/path/{foo}").get("get").getConsumes(),
"c-consumes-1,c-consumes-2");
}
@Rest(swagger=@Swagger("paths:{'/path/{foo}':{get:{consumes:['a-consumes']}}}"))
@@ -1018,8 +1018,8 @@ class Swagger_Test extends SimpleTestBase {
}
@Test void h05_operation_consumes_swaggerOnAnnotation() throws
Exception {
- assertSet(getSwagger(new
H5()).getPaths().get("/path/{foo}").get("get").getConsumes(), "c-consumes-1",
"c-consumes-2");
- assertSet(getSwaggerWithFile(new
H5()).getPaths().get("/path/{foo}").get("get").getConsumes(), "c-consumes-1",
"c-consumes-2");
+ assertSet(getSwagger(new
H5()).getPaths().get("/path/{foo}").get("get").getConsumes(),
"c-consumes-1,c-consumes-2");
+ assertSet(getSwaggerWithFile(new
H5()).getPaths().get("/path/{foo}").get("get").getConsumes(),
"c-consumes-1,c-consumes-2");
}
@Rest(messages="BasicRestInfoProviderTest",
swagger=@Swagger("paths:{'/path/{foo}':{get:{consumes:['a-consumes']}}}"))
@@ -1061,8 +1061,8 @@ class Swagger_Test extends SimpleTestBase {
}
@Test void h08_operation_consumes_parsersOnClassAndMethod() throws
Exception {
- assertSet(getSwagger(new
H8()).getPaths().get("/path2/{foo}").get("put").getConsumes(), "text/xml",
"application/xml");
- assertSet(getSwaggerWithFile(new
H8()).getPaths().get("/path2/{foo}").get("put").getConsumes(), "text/xml",
"application/xml");
+ assertSet(getSwagger(new
H8()).getPaths().get("/path2/{foo}").get("put").getConsumes(),
"text/xml,application/xml");
+ assertSet(getSwaggerWithFile(new
H8()).getPaths().get("/path2/{foo}").get("put").getConsumes(),
"text/xml,application/xml");
}
@Rest(parsers={JsonParser.class},swagger=@Swagger("paths:{'/path2/{foo}':{put:{consumes:['a-consumes']}}}"))
@@ -1131,8 +1131,8 @@ class Swagger_Test extends SimpleTestBase {
}
@Test void i04_operation_produces_swaggerOnAnnotation() throws
Exception {
- assertSet(getSwagger(new
I4()).getPaths().get("/path/{foo}").get("get").getProduces(), "c-produces-1",
"c-produces-2");
- assertSet(getSwaggerWithFile(new
I4()).getPaths().get("/path/{foo}").get("get").getProduces(), "c-produces-1",
"c-produces-2");
+ assertSet(getSwagger(new
I4()).getPaths().get("/path/{foo}").get("get").getProduces(),
"c-produces-1,c-produces-2");
+ assertSet(getSwaggerWithFile(new
I4()).getPaths().get("/path/{foo}").get("get").getProduces(),
"c-produces-1,c-produces-2");
}
@Rest(swagger=@Swagger("paths:{'/path/{foo}':{get:{produces:['a-produces']}}}"))
@@ -1144,8 +1144,8 @@ class Swagger_Test extends SimpleTestBase {
}
@Test void i05_operation_produces_swaggerOnAnnotation() throws
Exception {
- assertSet(getSwagger(new
I5()).getPaths().get("/path/{foo}").get("get").getProduces(), "c-produces-1",
"c-produces-2");
- assertSet(getSwaggerWithFile(new
I5()).getPaths().get("/path/{foo}").get("get").getProduces(), "c-produces-1",
"c-produces-2");
+ assertSet(getSwagger(new
I5()).getPaths().get("/path/{foo}").get("get").getProduces(),
"c-produces-1,c-produces-2");
+ assertSet(getSwaggerWithFile(new
I5()).getPaths().get("/path/{foo}").get("get").getProduces(),
"c-produces-1,c-produces-2");
}
@Rest(messages="BasicRestInfoProviderTest",
swagger=@Swagger("paths:{'/path/{foo}':{get:{produces:['a-produces']}}}"))
@@ -1860,6 +1860,6 @@ class Swagger_Test extends SimpleTestBase {
var o = s.getOperation("/", "get");
var ri = o.getResponse("200");
- assertEquals("{\n\tf1: 1,\n\tf2: 2\n}",
ri.getExamples().get("application/json5"));
+ assertMap(ri.getExamples(), "application/json5", "{\n\tf1:
1,\n\tf2: 2\n}");
}
}
\ No newline at end of file
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Swagger_FormData_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Swagger_FormData_Test.java
index 8f0b43435..217bdd870 100644
---
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Swagger_FormData_Test.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Swagger_FormData_Test.java
@@ -115,16 +115,16 @@ class Swagger_FormData_Test extends SimpleTestBase {
var s = getSwagger(B.class);
var x = s.getParameterInfo("/a","get","formData","F");
- assertJson(x, "{'in':'formData',name:'F',type:'string'}");
+ assertBean(x, "in,name,type", "formData,F,string");
x = s.getParameterInfo("/b","put","formData","F");
- assertJson(x,
"{'in':'formData',name:'F',type:'object',schema:{properties:{f1:{type:'string'}}}}");
+ assertBean(x, "in,name,type,schema{properties{f1{type}}}",
"formData,F,object,{{{string}}}");
x = s.getParameterInfo("/c","post","formData","F");
- assertJson(x,
"{'in':'formData',name:'F',type:'array',items:{type:'string'}}");
+ assertBean(x, "in,name,type,items{type}",
"formData,F,array,{string}");
x = s.getParameterInfo("/d","delete","formData","F");
- assertJson(x, "{'in':'formData',name:'F',type:'string'}");
+ assertBean(x, "in,name,type", "formData,F,string");
}
@Rest
@@ -206,21 +206,21 @@ class Swagger_FormData_Test extends SimpleTestBase {
var s = getSwagger(E.class);
var x = s.getParameterInfo("/a","get","formData","F");
- assertJson(x, "{'in':'formData',name:'F',type:'string'}");
+ assertBean(x, "in,name,type", "formData,F,string");
x = s.getParameterInfo("/b","put","formData","F");
- assertJson(x,
"{'in':'formData',name:'F',type:'object',schema:{properties:{f1:{type:'string'}}}}");
+ assertBean(x, "in,name,type,schema{properties{f1{type}}}",
"formData,F,object,{{{string}}}");
x = s.getParameterInfo("/c","post","formData","F");
- assertJson(x,
"{'in':'formData',name:'F',type:'array',items:{type:'string'}}");
+ assertBean(x, "in,name,type,items{type}",
"formData,F,array,{string}");
x = s.getParameterInfo("/d","delete","formData","F");
- assertJson(x, "{'in':'formData',name:'F',type:'string'}");
+ assertBean(x, "in,name,type", "formData,F,string");
x = s.getParameterInfo("/e","get","formData","F");
- assertJson(x,
"{'in':'formData',name:'F',type:'integer',format:'int32'}");
+ assertBean(x, "in,name,type,format",
"formData,F,integer,int32");
x = s.getParameterInfo("/f","get","formData","F");
- assertJson(x, "{'in':'formData',name:'F',type:'boolean'}");
+ assertBean(x, "in,name,type", "formData,F,boolean");
}
}
\ No newline at end of file
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Swagger_Header_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Swagger_Header_Test.java
index 2f1cc65b8..f3fde451b 100644
---
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Swagger_Header_Test.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Swagger_Header_Test.java
@@ -108,16 +108,16 @@ class Swagger_Header_Test extends SimpleTestBase {
var s = getSwagger(B.class);
var x = s.getParameterInfo("/a","get","header","H");
- assertJson(x, "{'in':'header',name:'H',type:'string'}");
+ assertBean(x, "in,name,type", "header,H,string");
x = s.getParameterInfo("/b","put","header","H");
- assertJson(x,
"{'in':'header',name:'H',type:'object',schema:{properties:{f1:{type:'string'}}}}");
+ assertBean(x, "in,name,type,schema{properties{f1{type}}}",
"header,H,object,{{{string}}}");
x = s.getParameterInfo("/c","post","header","H");
- assertJson(x,
"{'in':'header',name:'H',type:'array',items:{type:'string'}}");
+ assertBean(x, "in,name,type,items{type}",
"header,H,array,{string}");
x = s.getParameterInfo("/d","delete","header","H");
- assertJson(x, "{'in':'header',name:'H',type:'string'}");
+ assertBean(x, "in,name,type", "header,H,string");
}
@Rest
@@ -200,21 +200,21 @@ class Swagger_Header_Test extends SimpleTestBase {
var s = getSwagger(E.class);
var x = s.getParameterInfo("/a","get","header","H");
- assertJson(x, "{'in':'header',name:'H',type:'string'}");
+ assertBean(x, "in,name,type", "header,H,string");
x = s.getParameterInfo("/b","put","header","H");
- assertJson(x,
"{'in':'header',name:'H',type:'object',schema:{properties:{f1:{type:'string'}}}}");
+ assertBean(x, "in,name,type,schema{properties{f1{type}}}",
"header,H,object,{{{string}}}");
x = s.getParameterInfo("/c","post","header","H");
- assertJson(x,
"{'in':'header',name:'H',type:'array',items:{type:'string'}}");
+ assertBean(x, "in,name,type,items{type}",
"header,H,array,{string}");
x = s.getParameterInfo("/d","delete","header","H");
- assertJson(x, "{'in':'header',name:'H',type:'string'}");
+ assertBean(x, "in,name,type", "header,H,string");
x = s.getParameterInfo("/e","get","header","H");
- assertJson(x,
"{'in':'header',name:'H',type:'integer',format:'int32'}");
+ assertBean(x, "in,name,type,format", "header,H,integer,int32");
x = s.getParameterInfo("/f","get","header","H");
- assertJson(x, "{'in':'header',name:'H',type:'boolean'}");
+ assertBean(x, "in,name,type", "header,H,boolean");
}
}
\ No newline at end of file
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Swagger_Path_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Swagger_Path_Test.java
index 42b752cc2..ab74da61d 100644
---
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Swagger_Path_Test.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Swagger_Path_Test.java
@@ -13,7 +13,6 @@
package org.apache.juneau.rest.annotation;
import static org.apache.juneau.TestUtils.*;
-import static org.junit.jupiter.api.Assertions.*;
import java.util.*;
@@ -107,27 +106,19 @@ class Swagger_Path_Test extends SimpleTestBase {
var s = getSwagger(A.class);
var x = s.getParameterInfo("/a/{P}","get","path","P");
- assertBean(x, "name,description,type", "P,a\nb,string");
- assertJson(x.getEnum(), "['a','b']");
- assertJson(x,
"{'in':'path',name:'P',type:'string',description:'a\\nb',required:true,'enum':['a','b']}");
+ assertBean(x, "in,name,type,description,required,enum",
"path,P,string,a\nb,true,[a,b]");
x = s.getParameterInfo("/b/{P}","put","path","P");
- assertBean(x, "name,description,type", "P,a\nb,string");
- assertJson(x.getEnum(), "['a','b']");
- assertJson(x,
"{'in':'path',name:'P',type:'string',description:'a\\nb',required:true,'enum':['a','b']}");
+ assertBean(x, "in,name,type,description,required,enum",
"path,P,string,a\nb,true,[a,b]");
x = s.getParameterInfo("/c/{P}","post","path","P");
- assertBean(x, "name,description,type", "P,b\nc,string");
- assertJson(x.getEnum(), "['b','c']");
- assertJson(x,
"{'in':'path',name:'P',type:'string',description:'b\\nc',required:true,'enum':['b','c']}");
+ assertBean(x, "in,name,type,description,required,enum",
"path,P,string,b\nc,true,[b,c]");
x = s.getParameterInfo("/d/{P}","delete","path","P");
- assertEquals("P", x.getName());
- assertJson(x,
"{'in':'path',name:'P',type:'string',required:true}");
+ assertBean(x, "in,name,type,required", "path,P,string,true");
x = s.getParameterInfo("/e/{P}","get","path","P");
- assertJson(x.getEnum(), "['a','b']");
- assertJson(x,
"{'in':'path',name:'P',type:'string',required:true,'enum':['a','b']}");
+ assertBean(x, "in,name,type,required,enum",
"path,P,string,true,[a,b]");
}
@Rest
@@ -162,16 +153,16 @@ class Swagger_Path_Test extends SimpleTestBase {
var s = getSwagger(B.class);
var x = s.getParameterInfo("/a/{P}","get","path","P");
- assertJson(x,
"{'in':'path',name:'P',type:'string',required:true}");
+ assertBean(x, "in,name,type,required", "path,P,string,true");
x = s.getParameterInfo("/b/{P}","put","path","P");
- assertJson(x,
"{'in':'path',name:'P',type:'object',required:true,schema:{properties:{f1:{type:'string'}}}}");
+ assertBean(x,
"in,name,type,required,schema{properties{f1{type}}}",
"path,P,object,true,{{{string}}}");
x = s.getParameterInfo("/c/{P}","post","path","P");
- assertJson(x,
"{'in':'path',name:'P',type:'array',required:true,items:{type:'string'}}");
+ assertBean(x, "in,name,type,required,items{type}",
"path,P,array,true,{string}");
x = s.getParameterInfo("/d/{P}","delete","path","P");
- assertJson(x,
"{'in':'path',name:'P',type:'string',required:true}");
+ assertBean(x, "in,name,type,required", "path,P,string,true");
}
@Rest
@@ -214,22 +205,18 @@ class Swagger_Path_Test extends SimpleTestBase {
var s = getSwagger(D.class);
var x = s.getParameterInfo("/a/{P}","get","path","P");
- assertEquals("a", x.getDescription());
- assertEquals("string", x.getType());
+ assertBean(x, "description,type", "a,string");
x = s.getParameterInfo("/b/{P}","put","path","P");
- assertEquals("a", x.getDescription());
- assertEquals("string", x.getType());
+ assertBean(x, "description,type", "a,string");
x = s.getParameterInfo("/c/{P}","post","path","P");
- assertEquals("b", x.getDescription());
- assertEquals("string", x.getType());
+ assertBean(x, "description,type", "b,string");
x = s.getParameterInfo("/d/{P}","delete","path","P");
- assertEquals("P", x.getName());
x = s.getParameterInfo("/e/{P}","get","path","P");
- assertJson(x.getEnum(), "['a','b']");
+ assertSet(x.getEnum(), "a,b");
}
@Rest
@@ -265,21 +252,21 @@ class Swagger_Path_Test extends SimpleTestBase {
var s = getSwagger(E.class);
var x = s.getParameterInfo("/a/{P}","get","path","P");
- assertJson(x,
"{'in':'path',name:'P',type:'string',required:true}");
+ assertBean(x, "in,name,type,required", "path,P,string,true");
x = s.getParameterInfo("/b/{P}","put","path","P");
- assertJson(x,
"{'in':'path',name:'P',type:'object',required:true,schema:{properties:{f1:{type:'string'}}}}");
+ assertBean(x,
"in,name,type,required,schema{properties{f1{type}}}",
"path,P,object,true,{{{string}}}");
x = s.getParameterInfo("/c/{P}","post","path","P");
- assertJson(x,
"{'in':'path',name:'P',type:'array',required:true,items:{type:'string'}}");
+ assertBean(x, "in,name,type,required,items{type}",
"path,P,array,true,{string}");
x = s.getParameterInfo("/d/{P}","delete","path","P");
- assertJson(x,
"{'in':'path',name:'P',type:'string',required:true}");
+ assertBean(x, "in,name,type,required", "path,P,string,true");
x = s.getParameterInfo("/e/{P}","get","path","P");
- assertJson(x,
"{'in':'path',name:'P',type:'integer',required:true,format:'int32'}");
+ assertBean(x, "in,name,type,required,format",
"path,P,integer,true,int32");
x = s.getParameterInfo("/f/{P}","get","path","P");
- assertJson(x,
"{'in':'path',name:'P',type:'boolean',required:true}");
+ assertBean(x, "in,name,type,required", "path,P,boolean,true");
}
}
\ No newline at end of file
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Swagger_Response_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Swagger_Response_Test.java
index f57ad4d4e..46b417ec9 100644
---
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Swagger_Response_Test.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Swagger_Response_Test.java
@@ -95,42 +95,24 @@ class Swagger_Response_Test extends SimpleTestBase {
@Test void a01_fromPojo() {
var s = getSwagger(A.class);
- var x = s.getResponseInfo("/a","get",200);
- assertEquals("a\nb", x.getDescription());
- assertJson(x.getSchema(), "{type:'string'}");
- assertJson(x.getHeaders(), "{foo:{type:'string'}}");
- assertJson(x.getExamples(), "{foo:'a'}");
+ var x = s.getResponseInfo("/a","get",200);
+ assertBean(x,
"description,schema{type},headers{foo{type}},examples{foo}",
"a\nb,{string},{{string}},{a}");
x = s.getResponseInfo("/b","put",200);
- assertEquals("a\nb", x.getDescription());
- assertJson(x.getSchema(), "{type:'string'}");
- assertJson(x.getHeaders(), "{foo:{type:'string'}}");
- assertJson(x.getExamples(), "{foo:'a'}");
+ assertBean(x,
"description,schema{type},headers{foo{type}},examples{foo}",
"a\nb,{string},{{string}},{a}");
x = s.getResponseInfo("/c","post",200);
- assertEquals("a\nb", x.getDescription());
- assertJson(x.getSchema(), "{type:'string'}");
- assertJson(x.getHeaders(), "{foo:{type:'string'}}");
- assertJson(x.getExamples(), "{foo:'a'}");
+ assertBean(x,
"description,schema{type},headers{foo{type}},examples{foo}",
"a\nb,{string},{{string}},{a}");
x = s.getResponseInfo("/d","delete",200);
- assertEquals("a\nb", x.getDescription());
- assertJson(x.getSchema(), "{type:'string'}");
- assertJson(x.getHeaders(), "{foo:{type:'string'}}");
- assertJson(x.getExamples(), "{foo:'a'}");
+ assertBean(x,
"description,schema{type},headers{foo{type}},examples{foo}",
"a\nb,{string},{{string}},{a}");
x = s.getResponseInfo("/e","get",200);
- assertEquals("a\nb", x.getDescription());
- assertJson(x.getSchema(), "{type:'string'}");
- assertJson(x.getHeaders(), "{foo:{type:'string'}}");
- assertJson(x.getExamples(), "{foo:'a'}");
+ assertBean(x,
"description,schema{type},headers{foo{type}},examples{foo}",
"a\nb,{string},{{string}},{a}");
x = s.getResponseInfo("/f","get",200);
- assertEquals("a\nb", x.getDescription());
- assertJson(x.getSchema(), "{type:'string'}");
- assertJson(x.getHeaders(), "{foo:{type:'string'}}");
- assertJson(x.getExamples(), "{foo:'a'}");
+ assertBean(x,
"description,schema{type},headers{foo{type}},examples{foo}",
"a\nb,{string},{{string}},{a}");
x = s.getResponseInfo("/g","get",100);
assertEquals("Continue", x.getDescription());
@@ -145,10 +127,10 @@ class Swagger_Response_Test extends SimpleTestBase {
assertEquals("Continue", x.getDescription());
x = s.getResponseInfo("/k","get",200);
- assertJson(x.getHeaders(), "{foo:{type:'object'}}");
+ assertMap(x.getHeaders(), "foo{type}", "{object}");
x = s.getResponseInfo("/l","get",200);
- assertJson(x.getHeaders(), "{foo:{type:'object'}}");
+ assertMap(x.getHeaders(), "foo{type}", "{object}");
}
@Rest
@@ -191,28 +173,28 @@ class Swagger_Response_Test extends SimpleTestBase {
var s = getSwagger(B.class);
var x = s.getResponseInfo("/a","get",200);
- assertJson(x.getSchema(), "{type:'number'}");
+ assertBean(x.getSchema(), "type", "number");
x = s.getResponseInfo("/b","put",200);
- assertJson(x.getSchema(), "{type:'number'}");
+ assertBean(x.getSchema(), "type", "number");
x = s.getResponseInfo("/c","post",200);
- assertJson(x.getSchema(),
"{type:'object',properties:{f1:{type:'string'}}}");
+ assertBean(x.getSchema(), "type,properties{f1{type}}",
"object,{{string}}");
x = s.getResponseInfo("/d","delete",200);
- assertJson(x.getSchema(),
"{type:'object',properties:{f1:{type:'string'}}}");
+ assertBean(x.getSchema(), "type,properties{f1{type}}",
"object,{{string}}");
x = s.getResponseInfo("/e","get",200);
- assertJson(x.getSchema(),
"{type:'array',items:{type:'string'}}");
+ assertBean(x.getSchema(), "type,items{type}", "array,{string}");
x = s.getResponseInfo("/f","get",200);
- assertJson(x.getSchema(),
"{type:'array',items:{type:'string'}}");
+ assertBean(x.getSchema(), "type,items{type}", "array,{string}");
x = s.getResponseInfo("/g","get",200);
- assertJson(x.getSchema(), "{type:'string'}");
+ assertBean(x.getSchema(), "type", "string");
x = s.getResponseInfo("/h","get",200);
- assertJson(x.getSchema(), "{type:'string'}");
+ assertBean(x.getSchema(), "type", "string");
}
@Rest
@@ -244,10 +226,10 @@ class Swagger_Response_Test extends SimpleTestBase {
sc.getResponseInfo("/b","put",200);
- assertJson(x.getExamples(), "{foo:'b'}");
+ assertMap(x.getExamples(), "foo", "b");
x = sc.getResponseInfo("/d","delete",200);
- assertJson(x.getExamples(), "{foo:'b'}");
+ assertMap(x.getExamples(), "foo", "b");
}
@Rest
@@ -299,24 +281,15 @@ class Swagger_Response_Test extends SimpleTestBase {
@Test void d01_fromThrowable() {
var s = getSwagger(D.class);
- var x = s.getResponseInfo("/a","get",500);
- assertEquals("a\nb", x.getDescription());
- assertJson(x.getSchema(), "{type:'string'}");
- assertJson(x.getHeaders(), "{foo:{type:'string'}}");
- assertJson(x.getExamples(), "{foo:'a'}");
+ var x = s.getResponseInfo("/a","get",500);
+ assertBean(x,
"description,schema{type},headers{foo{type}},examples{foo}",
"a\nb,{string},{{string}},{a}");
x = s.getResponseInfo("/b","put",500);
- assertEquals("a\nb", x.getDescription());
- assertJson(x.getSchema(), "{type:'string'}");
- assertJson(x.getHeaders(), "{foo:{type:'string'}}");
- assertJson(x.getExamples(), "{foo:'a'}");
+ assertBean(x,
"description,schema{type},headers{foo{type}},examples{foo}",
"a\nb,{string},{{string}},{a}");
x = s.getResponseInfo("/c","post",500);
- assertEquals("a\nb", x.getDescription());
- assertJson(x.getSchema(), "{type:'string'}");
- assertJson(x.getHeaders(), "{foo:{type:'string'}}");
- assertJson(x.getExamples(), "{foo:'a'}");
+ assertBean(x,
"description,schema{type},headers{foo{type}},examples{foo}",
"a\nb,{string},{{string}},{a}");
x = s.getResponseInfo("/d","delete",100);
assertEquals("Continue", x.getDescription());
@@ -325,7 +298,7 @@ class Swagger_Response_Test extends SimpleTestBase {
assertEquals("Continue", x.getDescription());
x = s.getResponseInfo("/f","get",500);
- assertJson(x.getHeaders(), "{foo:{type:'number'}}");
+ assertBean(x, "headers{foo{type}}", "{{number}}");
}
@Rest
@@ -342,7 +315,7 @@ class Swagger_Response_Test extends SimpleTestBase {
var s = getSwagger(E.class);
var x = s.getResponseInfo("/a","get",500);
- assertJson(x.getSchema(), "{type:'number'}");
+ assertBean(x, "schema{type}", "{number}");
}
//-----------------------------------------------------------------------------------------------------------------
@@ -359,10 +332,10 @@ class Swagger_Response_Test extends SimpleTestBase {
public void b() throws F2 { /* no-op */ }
}
- @Test void f01_exampeFromThrowable() {
+ @Test void f01_exampleFromThrowable() {
var s = getSwagger(F.class);
var x = s.getResponseInfo("/b","put",500);
- assertJson(x.getExamples(), "{foo:'b'}");
+ assertBean(x, "examples{foo}", "{b}");
}
}
\ No newline at end of file
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/testutils/pojos/SwappedObject.java
b/juneau-utest/src/test/java/org/apache/juneau/testutils/pojos/SwappedObject.java
index 566226296..29b5dba1f 100644
---
a/juneau-utest/src/test/java/org/apache/juneau/testutils/pojos/SwappedObject.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/testutils/pojos/SwappedObject.java
@@ -17,4 +17,9 @@ import org.apache.juneau.annotation.*;
@Swap(SwappedObjectSwap.class)
public class SwappedObject {
public boolean wasUnswapped;
+
+ @Override
+ public String toString() {
+ return "wasUnswapped:" + wasUnswapped;
+ }
}
\ No newline at end of file
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/testutils/pojos/TypedBeanImpl.java
b/juneau-utest/src/test/java/org/apache/juneau/testutils/pojos/TypedBeanImpl.java
index 882e602ef..cc73893ff 100644
---
a/juneau-utest/src/test/java/org/apache/juneau/testutils/pojos/TypedBeanImpl.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/testutils/pojos/TypedBeanImpl.java
@@ -26,4 +26,9 @@ public class TypedBeanImpl implements TypedBean {
public static TypedBeanImpl get() {
return new TypedBeanImpl().init();
}
+
+ @Override
+ public String toString() {
+ return "a:" + a + ";b:" + b;
+ }
}
\ No newline at end of file
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/uon/UonParser_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/uon/UonParser_Test.java
index 03eb3f66c..8aeda2a41 100755
--- a/juneau-utest/src/test/java/org/apache/juneau/uon/UonParser_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/uon/UonParser_Test.java
@@ -482,8 +482,7 @@ class UonParser_Test extends SimpleTestBase {
var p2 = UonParser.DEFAULT;
var s = "(f1=foo,f2=123)";
var t = p2.parse(s, A.class);
- assertEquals("foo", t.f1);
- assertEquals(123, t.f2);
+ assertBean(t, "f1,f2", "foo,123");
}
public static class A {
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/urlencoding/CommonParser_UrlEncodingTest.java
b/juneau-utest/src/test/java/org/apache/juneau/urlencoding/CommonParser_UrlEncodingTest.java
index ed5fdfb99..70f1b627c 100755
---
a/juneau-utest/src/test/java/org/apache/juneau/urlencoding/CommonParser_UrlEncodingTest.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/urlencoding/CommonParser_UrlEncodingTest.java
@@ -39,20 +39,15 @@ class CommonParser_UrlEncodingTest extends SimpleTestBase {
in = "a=1&b='foo+bar'";
m = (Map)p.parse(in, Object.class);
- assertEquals(1, m.get("a"));
- assertEquals("foo bar", m.get("b"));
+ assertMap(m, "a,b", "1,foo bar");
in = "a=1&b='foo+bar'&c=false";
m = (Map)p.parse(in, Object.class);
- assertEquals(1, m.get("a"));
- assertEquals("foo bar", m.get("b"));
- assertEquals(false, m.get("c"));
+ assertMap(m, "a,b,c", "1,foo bar,false");
in = "a=1&b='foo%20bar'&c=false";
m = (Map)p.parse(in, Object.class);
- assertEquals(1, m.get("a"));
- assertEquals("foo bar", m.get("b"));
- assertEquals(false, m.get("c"));
+ assertMap(m, "a,b,c", "1,foo bar,false");
var jm =
(JsonMap)p.parse("x=@((attribute=value),(attribute=~'value~'))", Object.class);
assertEquals("value",
jm.getList("x").getMap(0).getString("attribute"));