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 3d4acdf REST refactoring.
3d4acdf is described below
commit 3d4acdf7b0498b4a0b369029cfbb90ae33764513
Author: JamesBognar <[email protected]>
AuthorDate: Thu Feb 18 09:34:39 2021 -0500
REST refactoring.
---
.../org/apache/juneau/assertions/Assertion.java | 22 ++++++++++++++++++++++
.../assertion/FluentResponseBodyAssertion.java | 2 ++
.../assertion/FluentResponseHeaderAssertion.java | 2 ++
.../FluentResponseStatusLineAssertion.java | 2 ++
.../assertions/FluentRequestHeaderAssertion.java | 2 ++
.../FluentRequestQueryParamAssertion.java | 2 ++
6 files changed, 32 insertions(+)
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/Assertion.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/Assertion.java
index 46171f0..4488a18 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/Assertion.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/Assertion.java
@@ -15,6 +15,7 @@ package org.apache.juneau.assertions;
import static org.apache.juneau.internal.StringUtils.*;
import org.apache.juneau.*;
+import org.apache.juneau.cp.*;
import org.apache.juneau.internal.*;
/**
@@ -25,6 +26,7 @@ public class Assertion {
String msg;
Object[] msgArgs;
boolean stdout, stderr;
+ Class<? extends RuntimeException> throwable;
/**
* Constructor used when this assertion is being created from within
another assertion.
@@ -36,6 +38,7 @@ public class Assertion {
this.msgArgs = creator.msgArgs;
this.stdout = creator.stdout;
this.stderr = creator.stderr;
+ this.throwable = creator.throwable;
}
}
@@ -79,6 +82,18 @@ public class Assertion {
}
/**
+ * If an error occurs, throw this exception when {@link #error(String,
Object...)} is called.
+ *
+ * @param value The new value for this setting.
+ * @return This object (for method chaining).
+ */
+ @FluentSetter
+ public Assertion throwable(Class<? extends RuntimeException> value) {
+ this.throwable = value;
+ return this;
+ }
+
+ /**
* Creates a new {@link BasicAssertionError}.
*
* @param msg The message.
@@ -105,6 +120,13 @@ public class Assertion {
System.out.println(msg); // NOT DEBUG
if (stderr)
System.err.println(msg); // NOT DEBUG
+ if (throwable != null) {
+ try {
+ throw
BeanFactory.create().build().addBean(Throwable.class,
cause).addBean(String.class, msg).addBean(Object[].class, new
Object[0]).createBean(throwable);
+ } catch (ExecutableException e) {
+ throw new RuntimeException(e);
+ }
+ }
return new BasicAssertionError(cause, msg);
}
diff --git
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/assertion/FluentResponseBodyAssertion.java
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/assertion/FluentResponseBodyAssertion.java
index e1f798d..b8b1937 100644
---
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/assertion/FluentResponseBodyAssertion.java
+++
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/assertion/FluentResponseBodyAssertion.java
@@ -15,6 +15,7 @@ package org.apache.juneau.rest.client.assertion;
import java.util.function.*;
import org.apache.juneau.assertions.*;
+import org.apache.juneau.http.exception.*;
import org.apache.juneau.internal.*;
import org.apache.juneau.rest.client.*;
@@ -37,6 +38,7 @@ public class FluentResponseBodyAssertion<R> extends
FluentAssertion<R> {
public FluentResponseBodyAssertion(ResponseBody value, R returns) {
super(null, returns);
this.value = value;
+ throwable(BadRequest.class);
}
/**
diff --git
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/assertion/FluentResponseHeaderAssertion.java
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/assertion/FluentResponseHeaderAssertion.java
index 558d942..a5bb230 100644
---
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/assertion/FluentResponseHeaderAssertion.java
+++
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/assertion/FluentResponseHeaderAssertion.java
@@ -13,6 +13,7 @@
package org.apache.juneau.rest.client.assertion;
import org.apache.juneau.assertions.*;
+import org.apache.juneau.http.exception.*;
import org.apache.juneau.internal.*;
import org.apache.juneau.rest.client.*;
@@ -35,6 +36,7 @@ public class FluentResponseHeaderAssertion<R> extends
FluentBaseAssertion<String
public FluentResponseHeaderAssertion(ResponseHeader value, R returns) {
super(null, value.getValue(), returns);
this.value = value;
+ throwable(BadRequest.class);
}
/**
diff --git
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/assertion/FluentResponseStatusLineAssertion.java
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/assertion/FluentResponseStatusLineAssertion.java
index a622f5a..1c1752e 100644
---
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/assertion/FluentResponseStatusLineAssertion.java
+++
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/assertion/FluentResponseStatusLineAssertion.java
@@ -14,6 +14,7 @@ package org.apache.juneau.rest.client.assertion;
import org.apache.http.*;
import org.apache.juneau.assertions.*;
+import org.apache.juneau.http.exception.*;
/**
* Used for fluent assertion calls against a response {@link StatusLine}
object.
@@ -42,6 +43,7 @@ public class FluentResponseStatusLineAssertion<R> extends
FluentAssertion<R> {
public FluentResponseStatusLineAssertion(StatusLine statusLine, R
returns) {
super(null, returns);
this.statusLine = statusLine;
+ throwable(BadRequest.class);
}
/**
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/FluentRequestHeaderAssertion.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/FluentRequestHeaderAssertion.java
index 30087ce..f993e56 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/FluentRequestHeaderAssertion.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/FluentRequestHeaderAssertion.java
@@ -13,6 +13,7 @@
package org.apache.juneau.rest.assertions;
import org.apache.juneau.assertions.*;
+import org.apache.juneau.http.exception.*;
import org.apache.juneau.internal.*;
import org.apache.juneau.rest.*;
@@ -46,6 +47,7 @@ public class FluentRequestHeaderAssertion<R> extends
FluentBaseAssertion<String,
public FluentRequestHeaderAssertion(Assertion creator, RequestHeader
value, R returns) {
super(creator, value.getValue(), returns);
this.value = value;
+ throwable(BadRequest.class);
}
/**
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/FluentRequestQueryParamAssertion.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/FluentRequestQueryParamAssertion.java
index f5ee03a..57c1c17 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/FluentRequestQueryParamAssertion.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/assertions/FluentRequestQueryParamAssertion.java
@@ -13,6 +13,7 @@
package org.apache.juneau.rest.assertions;
import org.apache.juneau.assertions.*;
+import org.apache.juneau.http.exception.*;
import org.apache.juneau.internal.*;
import org.apache.juneau.rest.*;
@@ -34,6 +35,7 @@ public class FluentRequestQueryParamAssertion<R> extends
FluentBaseAssertion<Str
*/
public FluentRequestQueryParamAssertion(RequestQueryParam value, R
returns) {
this(null, value, returns);
+ throwable(BadRequest.class);
}
/**