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 cebe62c  MockRestClient improvements.
cebe62c is described below

commit cebe62cdf6065ed5dfceb43ec78b3a8658007c86
Author: JamesBognar <james.bog...@salesforce.com>
AuthorDate: Wed May 27 18:23:34 2020 -0400

    MockRestClient improvements.
---
 .../main/ConfigurablePropertyCodeGenerator.java    |   2 +-
 .../juneau/rest/client2/RestClientBuilder.java     |  47 ++++
 .../juneau/rest/mock2/MockRestClientBuilder.java   | 310 +++++++++++++++++++++
 .../juneau/rest/mock2/MockServletRequest.java      |   5 +
 .../apache/juneau/rest/responses/BasicTest.java    |  42 ++-
 5 files changed, 381 insertions(+), 25 deletions(-)

diff --git 
a/juneau-releng/juneau-all/src/java/main/ConfigurablePropertyCodeGenerator.java 
b/juneau-releng/juneau-all/src/java/main/ConfigurablePropertyCodeGenerator.java
index 39ab810..d2f071d 100644
--- 
a/juneau-releng/juneau-all/src/java/main/ConfigurablePropertyCodeGenerator.java
+++ 
b/juneau-releng/juneau-all/src/java/main/ConfigurablePropertyCodeGenerator.java
@@ -67,7 +67,7 @@ public class ConfigurablePropertyCodeGenerator {
                JsonSerializerBuilder.class,
                JsoParserBuilder.class,
                JsoSerializerBuilder.class,
-               MockRestClient.class,
+               MockRestClientBuilder.class,
                MsgPackParserBuilder.class,
                MsgPackSerializerBuilder.class,
                OpenApiParserBuilder.class,
diff --git 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientBuilder.java
 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientBuilder.java
index 9ab33a1..12e88c8 100644
--- 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientBuilder.java
+++ 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientBuilder.java
@@ -4722,6 +4722,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#disableRedirectHandling()
         */
+       @ConfigurationProperty
        public RestClientBuilder disableRedirectHandling() {
                httpClientBuilder.disableRedirectHandling();
                return this;
@@ -4738,6 +4739,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#setRedirectStrategy(RedirectStrategy)
         */
+       @ConfigurationProperty
        public RestClientBuilder redirectStrategy(RedirectStrategy 
redirectStrategy) {
                httpClientBuilder.setRedirectStrategy(redirectStrategy);
                return this;
@@ -4750,6 +4752,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#setDefaultCookieSpecRegistry(Lookup)
         */
+       @ConfigurationProperty
        public RestClientBuilder 
defaultCookieSpecRegistry(Lookup<CookieSpecProvider> cookieSpecRegistry) {
                
httpClientBuilder.setDefaultCookieSpecRegistry(cookieSpecRegistry);
                return this;
@@ -4762,6 +4765,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#setRequestExecutor(HttpRequestExecutor)
         */
+       @ConfigurationProperty
        public RestClientBuilder requestExecutor(HttpRequestExecutor 
requestExec) {
                httpClientBuilder.setRequestExecutor(requestExec);
                return this;
@@ -4779,6 +4783,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#setSSLHostnameVerifier(HostnameVerifier)
         */
+       @ConfigurationProperty
        public RestClientBuilder sslHostnameVerifier(HostnameVerifier 
hostnameVerifier) {
                httpClientBuilder.setSSLHostnameVerifier(hostnameVerifier);
                return this;
@@ -4795,6 +4800,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#setPublicSuffixMatcher(PublicSuffixMatcher)
         */
+       @ConfigurationProperty
        public RestClientBuilder publicSuffixMatcher(PublicSuffixMatcher 
publicSuffixMatcher) {
                httpClientBuilder.setPublicSuffixMatcher(publicSuffixMatcher);
                return this;
@@ -4812,6 +4818,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#setSSLContext(SSLContext)
         */
+       @ConfigurationProperty
        public RestClientBuilder sslContext(SSLContext sslContext) {
                httpClientBuilder.setSSLContext(sslContext);
                return this;
@@ -4828,6 +4835,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see 
HttpClientBuilder#setSSLSocketFactory(LayeredConnectionSocketFactory)
         */
+       @ConfigurationProperty
        public RestClientBuilder 
sslSocketFactory(LayeredConnectionSocketFactory sslSocketFactory) {
                httpClientBuilder.setSSLSocketFactory(sslSocketFactory);
                return this;
@@ -4844,6 +4852,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#setMaxConnTotal(int)
         */
+       @ConfigurationProperty
        public RestClientBuilder maxConnTotal(int maxConnTotal) {
                httpClientBuilder.setMaxConnTotal(maxConnTotal);
                return this;
@@ -4860,6 +4869,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#setMaxConnPerRoute(int)
         */
+       @ConfigurationProperty
        public RestClientBuilder maxConnPerRoute(int maxConnPerRoute) {
                httpClientBuilder.setMaxConnPerRoute(maxConnPerRoute);
                return this;
@@ -4876,6 +4886,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#setDefaultSocketConfig(SocketConfig)
         */
+       @ConfigurationProperty
        public RestClientBuilder defaultSocketConfig(SocketConfig config) {
                httpClientBuilder.setDefaultSocketConfig(config);
                return this;
@@ -4892,6 +4903,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#setDefaultConnectionConfig(ConnectionConfig)
         */
+       @ConfigurationProperty
        public RestClientBuilder defaultConnectionConfig(ConnectionConfig 
config) {
                httpClientBuilder.setDefaultConnectionConfig(config);
                return this;
@@ -4909,6 +4921,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#setConnectionTimeToLive(long,TimeUnit)
         */
+       @ConfigurationProperty
        public RestClientBuilder connectionTimeToLive(long connTimeToLive, 
TimeUnit connTimeToLiveTimeUnit) {
                httpClientBuilder.setConnectionTimeToLive(connTimeToLive, 
connTimeToLiveTimeUnit);
                return this;
@@ -4921,6 +4934,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see 
HttpClientBuilder#setConnectionManager(HttpClientConnectionManager)
         */
+       @ConfigurationProperty
        public RestClientBuilder connectionManager(HttpClientConnectionManager 
connManager) {
                this.httpClientConnectionManager = connManager;
                httpClientBuilder.setConnectionManager(connManager);
@@ -4938,6 +4952,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#setConnectionManagerShared(boolean)
         */
+       @ConfigurationProperty
        public RestClientBuilder connectionManagerShared(boolean shared) {
                httpClientBuilder.setConnectionManagerShared(shared);
                return this;
@@ -4950,6 +4965,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see 
HttpClientBuilder#setConnectionReuseStrategy(ConnectionReuseStrategy)
         */
+       @ConfigurationProperty
        public RestClientBuilder 
connectionReuseStrategy(ConnectionReuseStrategy reuseStrategy) {
                httpClientBuilder.setConnectionReuseStrategy(reuseStrategy);
                return this;
@@ -4962,6 +4978,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see 
HttpClientBuilder#setKeepAliveStrategy(ConnectionKeepAliveStrategy)
         */
+       @ConfigurationProperty
        public RestClientBuilder keepAliveStrategy(ConnectionKeepAliveStrategy 
keepAliveStrategy) {
                httpClientBuilder.setKeepAliveStrategy(keepAliveStrategy);
                return this;
@@ -4974,6 +4991,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see 
HttpClientBuilder#setTargetAuthenticationStrategy(AuthenticationStrategy)
         */
+       @ConfigurationProperty
        public RestClientBuilder 
targetAuthenticationStrategy(AuthenticationStrategy targetAuthStrategy) {
                
httpClientBuilder.setTargetAuthenticationStrategy(targetAuthStrategy);
                return this;
@@ -4986,6 +5004,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see 
HttpClientBuilder#setProxyAuthenticationStrategy(AuthenticationStrategy)
         */
+       @ConfigurationProperty
        public RestClientBuilder 
proxyAuthenticationStrategy(AuthenticationStrategy proxyAuthStrategy) {
                
httpClientBuilder.setProxyAuthenticationStrategy(proxyAuthStrategy);
                return this;
@@ -5002,6 +5021,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#setUserTokenHandler(UserTokenHandler)
         */
+       @ConfigurationProperty
        public RestClientBuilder userTokenHandler(UserTokenHandler 
userTokenHandler) {
                httpClientBuilder.setUserTokenHandler(userTokenHandler);
                return this;
@@ -5013,6 +5033,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#disableConnectionState()
         */
+       @ConfigurationProperty
        public RestClientBuilder disableConnectionState() {
                httpClientBuilder.disableConnectionState();
                return this;
@@ -5025,6 +5046,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#setSchemePortResolver(SchemePortResolver)
         */
+       @ConfigurationProperty
        public RestClientBuilder schemePortResolver(SchemePortResolver 
schemePortResolver) {
                httpClientBuilder.setSchemePortResolver(schemePortResolver);
                return this;
@@ -5042,6 +5064,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#setUserAgent(String)
         */
+       @ConfigurationProperty
        public RestClientBuilder userAgent(String userAgent) {
                httpClientBuilder.setUserAgent(userAgent);
                return this;
@@ -5059,6 +5082,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#setDefaultHeaders(Collection)
         */
+       @ConfigurationProperty
        public RestClientBuilder defaultHeaders(Collection<? extends Header> 
defaultHeaders) {
                httpClientBuilder.setDefaultHeaders(defaultHeaders);
                return this;
@@ -5075,6 +5099,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#addInterceptorFirst(HttpResponseInterceptor)
         */
+       @ConfigurationProperty
        public RestClientBuilder addInterceptorFirst(HttpResponseInterceptor 
itcp) {
                httpClientBuilder.addInterceptorFirst(itcp);
                return this;
@@ -5091,6 +5116,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#addInterceptorLast(HttpResponseInterceptor)
         */
+       @ConfigurationProperty
        public RestClientBuilder addInterceptorLast(HttpResponseInterceptor 
itcp) {
                httpClientBuilder.addInterceptorLast(itcp);
                return this;
@@ -5107,6 +5133,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#addInterceptorFirst(HttpRequestInterceptor)
         */
+       @ConfigurationProperty
        public RestClientBuilder addInterceptorFirst(HttpRequestInterceptor 
itcp) {
                httpClientBuilder.addInterceptorFirst(itcp);
                return this;
@@ -5123,6 +5150,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#addInterceptorLast(HttpRequestInterceptor)
         */
+       @ConfigurationProperty
        public RestClientBuilder addInterceptorLast(HttpRequestInterceptor 
itcp) {
                httpClientBuilder.addInterceptorLast(itcp);
                return this;
@@ -5138,6 +5166,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#disableCookieManagement()
         */
+       @ConfigurationProperty
        public RestClientBuilder disableCookieManagement() {
                httpClientBuilder.disableCookieManagement();
                return this;
@@ -5153,6 +5182,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#disableContentCompression()
         */
+       @ConfigurationProperty
        public RestClientBuilder disableContentCompression() {
                httpClientBuilder.disableContentCompression();
                return this;
@@ -5168,6 +5198,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#disableAuthCaching()
         */
+       @ConfigurationProperty
        public RestClientBuilder disableAuthCaching() {
                httpClientBuilder.disableAuthCaching();
                return this;
@@ -5180,6 +5211,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#setHttpProcessor(HttpProcessor)
         */
+       @ConfigurationProperty
        public RestClientBuilder httpProcessor(HttpProcessor httpprocessor) {
                httpClientBuilder.setHttpProcessor(httpprocessor);
                return this;
@@ -5196,6 +5228,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#setRetryHandler(HttpRequestRetryHandler)
         */
+       @ConfigurationProperty
        public RestClientBuilder retryHandler(HttpRequestRetryHandler 
retryHandler) {
                httpClientBuilder.setRetryHandler(retryHandler);
                return this;
@@ -5207,6 +5240,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#disableAutomaticRetries()
         */
+       @ConfigurationProperty
        public RestClientBuilder disableAutomaticRetries() {
                httpClientBuilder.disableAutomaticRetries();
                return this;
@@ -5223,6 +5257,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#setProxy(HttpHost)
         */
+       @ConfigurationProperty
        public RestClientBuilder proxy(HttpHost proxy) {
                httpClientBuilder.setProxy(proxy);
                return this;
@@ -5235,6 +5270,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#setRoutePlanner(HttpRoutePlanner)
         */
+       @ConfigurationProperty
        public RestClientBuilder routePlanner(HttpRoutePlanner routePlanner) {
                httpClientBuilder.setRoutePlanner(routePlanner);
                return this;
@@ -5247,6 +5283,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see 
HttpClientBuilder#setConnectionBackoffStrategy(ConnectionBackoffStrategy)
         */
+       @ConfigurationProperty
        public RestClientBuilder 
connectionBackoffStrategy(ConnectionBackoffStrategy connectionBackoffStrategy) {
                
httpClientBuilder.setConnectionBackoffStrategy(connectionBackoffStrategy);
                return this;
@@ -5259,6 +5296,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#setBackoffManager(BackoffManager)
         */
+       @ConfigurationProperty
        public RestClientBuilder backoffManager(BackoffManager backoffManager) {
                httpClientBuilder.setBackoffManager(backoffManager);
                return this;
@@ -5271,6 +5309,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see 
HttpClientBuilder#setServiceUnavailableRetryStrategy(ServiceUnavailableRetryStrategy)
         */
+       @ConfigurationProperty
        public RestClientBuilder 
serviceUnavailableRetryStrategy(ServiceUnavailableRetryStrategy 
serviceUnavailStrategy) {
                
httpClientBuilder.setServiceUnavailableRetryStrategy(serviceUnavailStrategy);
                return this;
@@ -5283,6 +5322,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#setDefaultCookieStore(CookieStore)
         */
+       @ConfigurationProperty
        public RestClientBuilder defaultCookieStore(CookieStore cookieStore) {
                httpClientBuilder.setDefaultCookieStore(cookieStore);
                return this;
@@ -5295,6 +5335,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see 
HttpClientBuilder#setDefaultCredentialsProvider(CredentialsProvider)
         */
+       @ConfigurationProperty
        public RestClientBuilder defaultCredentialsProvider(CredentialsProvider 
credentialsProvider) {
                
httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
                return this;
@@ -5307,6 +5348,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#setDefaultAuthSchemeRegistry(Lookup)
         */
+       @ConfigurationProperty
        public RestClientBuilder 
defaultAuthSchemeRegistry(Lookup<AuthSchemeProvider> authSchemeRegistry) {
                
httpClientBuilder.setDefaultAuthSchemeRegistry(authSchemeRegistry);
                return this;
@@ -5319,6 +5361,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#setContentDecoderRegistry(Map)
         */
+       @ConfigurationProperty
        public RestClientBuilder 
contentDecoderRegistry(Map<String,InputStreamFactory> contentDecoderMap) {
                httpClientBuilder.setContentDecoderRegistry(contentDecoderMap);
                return this;
@@ -5331,6 +5374,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#setDefaultRequestConfig(RequestConfig)
         */
+       @ConfigurationProperty
        public RestClientBuilder defaultRequestConfig(RequestConfig config) {
                httpClientBuilder.setDefaultRequestConfig(config);
                return this;
@@ -5342,6 +5386,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#useSystemProperties()
         */
+       @ConfigurationProperty
        public RestClientBuilder useSystemProperties() {
                httpClientBuilder.useSystemProperties();
                return this;
@@ -5359,6 +5404,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#evictExpiredConnections()
         */
+       @ConfigurationProperty
        public RestClientBuilder evictExpiredConnections() {
                httpClientBuilder.evictExpiredConnections();
                return this;
@@ -5378,6 +5424,7 @@ public class RestClientBuilder extends BeanContextBuilder 
{
         * @return This object (for method chaining).
         * @see HttpClientBuilder#evictIdleConnections(long,TimeUnit)
         */
+       @ConfigurationProperty
        public RestClientBuilder evictIdleConnections(long maxIdleTime, 
TimeUnit maxIdleTimeUnit) {
                httpClientBuilder.evictIdleConnections(maxIdleTime, 
maxIdleTimeUnit);
                return this;
diff --git 
a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClientBuilder.java
 
b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClientBuilder.java
index 63aa1c8..b1143d3 100644
--- 
a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClientBuilder.java
+++ 
b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClientBuilder.java
@@ -20,6 +20,10 @@ import java.util.logging.*;
 import java.lang.annotation.*;
 import java.lang.reflect.Method;
 
+import org.apache.http.*;
+import org.apache.http.client.*;
+import org.apache.http.client.entity.*;
+import org.apache.http.conn.*;
 import org.apache.http.impl.client.*;
 import org.apache.juneau.*;
 import org.apache.juneau.http.*;
@@ -33,6 +37,18 @@ import org.apache.juneau.serializer.*;
 import org.apache.juneau.svl.*;
 import org.apache.juneau.uon.*;
 
+import javax.net.ssl.*;
+
+import org.apache.http.auth.*;
+import org.apache.http.client.CookieStore;
+import org.apache.http.client.config.*;
+import org.apache.http.config.*;
+import org.apache.http.conn.routing.*;
+import org.apache.http.conn.socket.*;
+import org.apache.http.conn.util.*;
+import org.apache.http.cookie.*;
+import org.apache.http.protocol.*;
+
 /**
  * Mocked {@link RestClient}.
  *
@@ -545,6 +561,30 @@ public class MockRestClientBuilder extends 
RestClientBuilder {
        }
 
        @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder addInterceptorFirst(HttpRequestInterceptor 
itcp) {
+               super.addInterceptorFirst(itcp);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder 
addInterceptorFirst(HttpResponseInterceptor itcp) {
+               super.addInterceptorFirst(itcp);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder addInterceptorLast(HttpRequestInterceptor 
itcp) {
+               super.addInterceptorLast(itcp);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder addInterceptorLast(HttpResponseInterceptor 
itcp) {
+               super.addInterceptorLast(itcp);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
        public MockRestClientBuilder addRootType() {
                super.addRootType();
                return this;
@@ -557,6 +597,12 @@ public class MockRestClientBuilder extends 
RestClientBuilder {
        }
 
        @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder backoffManager(BackoffManager 
backoffManager) {
+               super.backoffManager(backoffManager);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
        public MockRestClientBuilder basicAuth(String host, int port, String 
user, String pw) {
                super.basicAuth(host, port, user, pw);
                return this;
@@ -593,6 +639,42 @@ public class MockRestClientBuilder extends 
RestClientBuilder {
        }
 
        @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder 
connectionBackoffStrategy(ConnectionBackoffStrategy connectionBackoffStrategy) {
+               super.connectionBackoffStrategy(connectionBackoffStrategy);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder 
connectionManager(HttpClientConnectionManager connManager) {
+               super.connectionManager(connManager);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder connectionManagerShared(boolean shared) {
+               super.connectionManagerShared(shared);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder 
connectionReuseStrategy(ConnectionReuseStrategy reuseStrategy) {
+               super.connectionReuseStrategy(reuseStrategy);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder connectionTimeToLive(long connTimeToLive, 
TimeUnit connTimeToLiveTimeUnit) {
+               super.connectionTimeToLive(connTimeToLive, 
connTimeToLiveTimeUnit);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder 
contentDecoderRegistry(Map<String,InputStreamFactory> contentDecoderMap) {
+               super.contentDecoderRegistry(contentDecoderMap);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
        public MockRestClientBuilder contentLength(Object value) {
                super.contentLength(value);
                return this;
@@ -617,18 +699,114 @@ public class MockRestClientBuilder extends 
RestClientBuilder {
        }
 
        @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder 
defaultAuthSchemeRegistry(Lookup<AuthSchemeProvider> authSchemeRegistry) {
+               super.defaultAuthSchemeRegistry(authSchemeRegistry);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder defaultConnectionConfig(ConnectionConfig 
config) {
+               super.defaultConnectionConfig(config);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder 
defaultCookieSpecRegistry(Lookup<CookieSpecProvider> cookieSpecRegistry) {
+               super.defaultCookieSpecRegistry(cookieSpecRegistry);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder defaultCookieStore(CookieStore 
cookieStore) {
+               super.defaultCookieStore(cookieStore);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder 
defaultCredentialsProvider(CredentialsProvider credentialsProvider) {
+               super.defaultCredentialsProvider(credentialsProvider);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder defaultHeaders(Collection<? extends 
org.apache.http.Header> defaultHeaders) {
+               super.defaultHeaders(defaultHeaders);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder defaultRequestConfig(RequestConfig config) 
{
+               super.defaultRequestConfig(config);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder defaultSocketConfig(SocketConfig config) {
+               super.defaultSocketConfig(config);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
        public MockRestClientBuilder detectRecursions() {
                super.detectRecursions();
                return this;
        }
 
        @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder disableAuthCaching() {
+               super.disableAuthCaching();
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder disableAutomaticRetries() {
+               super.disableAutomaticRetries();
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder disableConnectionState() {
+               super.disableConnectionState();
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder disableContentCompression() {
+               super.disableContentCompression();
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder disableCookieManagement() {
+               super.disableCookieManagement();
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder disableRedirectHandling() {
+               super.disableRedirectHandling();
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
        public MockRestClientBuilder errorCodes(Predicate<Integer> value) {
                super.errorCodes(value);
                return this;
        }
 
        @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder evictExpiredConnections() {
+               super.evictExpiredConnections();
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder evictIdleConnections(long maxIdleTime, 
TimeUnit maxIdleTimeUnit) {
+               super.evictIdleConnections(maxIdleTime, maxIdleTimeUnit);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
        public MockRestClientBuilder executorService(ExecutorService 
executorService, boolean shutdownOnClose) {
                super.executorService(executorService, shutdownOnClose);
                return this;
@@ -755,6 +933,12 @@ public class MockRestClientBuilder extends 
RestClientBuilder {
        }
 
        @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder httpProcessor(HttpProcessor httpprocessor) 
{
+               super.httpProcessor(httpprocessor);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
        public MockRestClientBuilder ifMatch(Object value) {
                super.ifMatch(value);
                return this;
@@ -785,6 +969,18 @@ public class MockRestClientBuilder extends 
RestClientBuilder {
        }
 
        @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder ignoreErrors() {
+               super.ignoreErrors();
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder ignoreErrors(boolean value) {
+               super.ignoreErrors(value);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
        public MockRestClientBuilder ignoreRecursions() {
                super.ignoreRecursions();
                return this;
@@ -816,6 +1012,12 @@ public class MockRestClientBuilder extends 
RestClientBuilder {
        }
 
        @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder 
keepAliveStrategy(ConnectionKeepAliveStrategy keepAliveStrategy) {
+               super.keepAliveStrategy(keepAliveStrategy);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
        public MockRestClientBuilder keepHttpClientOpen() {
                super.keepHttpClientOpen();
                return this;
@@ -864,6 +1066,18 @@ public class MockRestClientBuilder extends 
RestClientBuilder {
        }
 
        @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder maxConnPerRoute(int maxConnPerRoute) {
+               super.maxConnPerRoute(maxConnPerRoute);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder maxConnTotal(int maxConnTotal) {
+               super.maxConnTotal(maxConnTotal);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
        public MockRestClientBuilder maxDepth(int value) {
                super.maxDepth(value);
                return this;
@@ -997,12 +1211,30 @@ public class MockRestClientBuilder extends 
RestClientBuilder {
        }
 
        @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder proxy(HttpHost proxy) {
+               super.proxy(proxy);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder 
proxyAuthenticationStrategy(AuthenticationStrategy proxyAuthStrategy) {
+               super.proxyAuthenticationStrategy(proxyAuthStrategy);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
        public MockRestClientBuilder proxyAuthorization(Object value) {
                super.proxyAuthorization(value);
                return this;
        }
 
        @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder publicSuffixMatcher(PublicSuffixMatcher 
publicSuffixMatcher) {
+               super.publicSuffixMatcher(publicSuffixMatcher);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
        public MockRestClientBuilder query(Object...params) {
                super.query(params);
                return this;
@@ -1045,18 +1277,48 @@ public class MockRestClientBuilder extends 
RestClientBuilder {
        }
 
        @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder redirectStrategy(RedirectStrategy 
redirectStrategy) {
+               super.redirectStrategy(redirectStrategy);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
        public MockRestClientBuilder referer(Object value) {
                super.referer(value);
                return this;
        }
 
        @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder requestExecutor(HttpRequestExecutor 
requestExec) {
+               super.requestExecutor(requestExec);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder retryHandler(HttpRequestRetryHandler 
retryHandler) {
+               super.retryHandler(retryHandler);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
        public MockRestClientBuilder rootUrl(Object value) {
                super.rootUrl(value);
                return this;
        }
 
        @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder routePlanner(HttpRoutePlanner 
routePlanner) {
+               super.routePlanner(routePlanner);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder schemePortResolver(SchemePortResolver 
schemePortResolver) {
+               super.schemePortResolver(schemePortResolver);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
        public MockRestClientBuilder serializer(Class<? extends 
org.apache.juneau.serializer.Serializer> value) {
                super.serializer(value);
                return this;
@@ -1082,6 +1344,12 @@ public class MockRestClientBuilder extends 
RestClientBuilder {
        }
 
        @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder 
serviceUnavailableRetryStrategy(ServiceUnavailableRetryStrategy 
serviceUnavailStrategy) {
+               super.serviceUnavailableRetryStrategy(serviceUnavailStrategy);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
        public MockRestClientBuilder simpleJson() {
                super.simpleJson();
                return this;
@@ -1106,12 +1374,36 @@ public class MockRestClientBuilder extends 
RestClientBuilder {
        }
 
        @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder sslContext(SSLContext sslContext) {
+               super.sslContext(sslContext);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder sslHostnameVerifier(HostnameVerifier 
hostnameVerifier) {
+               super.sslHostnameVerifier(hostnameVerifier);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder 
sslSocketFactory(LayeredConnectionSocketFactory sslSocketFactory) {
+               super.sslSocketFactory(sslSocketFactory);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
        public MockRestClientBuilder strict() {
                super.strict();
                return this;
        }
 
        @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder 
targetAuthenticationStrategy(AuthenticationStrategy targetAuthStrategy) {
+               super.targetAuthenticationStrategy(targetAuthStrategy);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
        public MockRestClientBuilder te(Object value) {
                super.te(value);
                return this;
@@ -1178,6 +1470,12 @@ public class MockRestClientBuilder extends 
RestClientBuilder {
        }
 
        @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder useSystemProperties() {
+               super.useSystemProperties();
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
        public MockRestClientBuilder useWhitespace() {
                super.useWhitespace();
                return this;
@@ -1190,6 +1488,18 @@ public class MockRestClientBuilder extends 
RestClientBuilder {
        }
 
        @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder userAgent(String userAgent) {
+               super.userAgent(userAgent);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
+       public MockRestClientBuilder userTokenHandler(UserTokenHandler 
userTokenHandler) {
+               super.userTokenHandler(userTokenHandler);
+               return this;
+       }
+
+       @Override /* GENERATED - RestClientBuilder */
        public MockRestClientBuilder via(Object value) {
                super.via(value);
                return this;
diff --git 
a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockServletRequest.java
 
b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockServletRequest.java
index 89e2acf..cec3e6d 100644
--- 
a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockServletRequest.java
+++ 
b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockServletRequest.java
@@ -287,6 +287,11 @@ public class MockServletRequest implements 
HttpServletRequest, MockHttpRequest {
                if (res.getStatus() == 0)
                        throw new RuntimeException("Response status was 0.");
 
+               // A bug in HttpClient causes an infinite loop if the response 
is less than 200.
+               // As a workaround, just add 1000 to the status code (which is 
better than an infinite loop).
+               if (res.getStatus() < 200)
+                       res.setStatus(1000 + res.getStatus());
+
                if (debug)
                        log(this, res);
 
diff --git 
a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/responses/BasicTest.java
 
b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/responses/BasicTest.java
index 04ed8c6..1720dda 100644
--- 
a/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/responses/BasicTest.java
+++ 
b/juneau-rest/juneau-rest-server-utest/src/test/java/org/apache/juneau/rest/responses/BasicTest.java
@@ -59,7 +59,7 @@ public class BasicTest {
                @RestMethod public UseProxy useProxy() { return new UseProxy(); 
}
        }
 
-       static MockRest a = MockRest.build(A.class);
+       static MockRestClient a = 
MockRestClient.create(A.class).disableRedirectHandling().build();
 
        @Test
        public void a01_accepted() throws Exception {
@@ -79,7 +79,7 @@ public class BasicTest {
        public void a03_continue() throws Exception {
                a.get("/continue")
                        .run()
-                       .assertStatus().is(100)
+                       .assertStatus().is(1100)
                        .assertBody().is("Continue");
        }
        @Test
@@ -93,7 +93,7 @@ public class BasicTest {
        public void a05_earlyHints() throws Exception {
                a.get("/earlyHints")
                        .run()
-                       .assertStatus().is(103)
+                       .assertStatus().is(1103)
                        .assertBody().is("Early Hints");
        }
        @Test
@@ -135,8 +135,7 @@ public class BasicTest {
        public void a11_noContent() throws Exception {
                a.get("/noContent")
                        .run()
-                       .assertStatus().is(204)
-                       .assertBody().is("No Content");
+                       .assertStatus().is(204);
        }
        @Test
        public void a12_nonAuthoritiveInformation() throws Exception {
@@ -149,8 +148,7 @@ public class BasicTest {
        public void a13_notModified() throws Exception {
                a.get("/notModified")
                        .run()
-                       .assertStatus().is(304)
-                       .assertBody().is("Not Modified");
+                       .assertStatus().is(304);
        }
        @Test
        public void a14_ok() throws Exception {
@@ -177,15 +175,14 @@ public class BasicTest {
        public void a17_processing() throws Exception {
                a.get("/processing")
                        .run()
-                       .assertStatus().is(102)
+                       .assertStatus().is(1102)
                        .assertBody().is("Processing");
        }
        @Test
        public void a18_resetContent() throws Exception {
                a.get("/resetContent")
                        .run()
-                       .assertStatus().is(205)
-                       .assertBody().is("Reset Content");
+                       .assertStatus().is(205);
        }
        @Test
        public void a19_seeOther() throws Exception {
@@ -198,7 +195,7 @@ public class BasicTest {
        public void a20_switchingProtocols() throws Exception {
                a.get("/switchingProtocols")
                        .run()
-                       .assertStatus().is(101)
+                       .assertStatus().is(1101)
                        .assertBody().is("Switching Protocols");
        }
        @Test
@@ -228,7 +225,7 @@ public class BasicTest {
                @RestMethod public TemporaryRedirect temporaryRedirect() { 
return new TemporaryRedirect(URI.create("servlet:/foo")); }
        }
 
-       static MockRest b = MockRest.build(B.class);
+       static MockRestClient b = 
MockRestClient.create(B.class).disableRedirectHandling().build();
 
        @Test
        public void b01_movedPermanently() throws Exception {
@@ -289,7 +286,7 @@ public class BasicTest {
                @RestMethod public UseProxy useProxy() { return new 
UseProxy("foo"); }
        }
 
-       static MockRest c = MockRest.build(C.class);
+       static MockRestClient c = 
MockRestClient.create(C.class).disableRedirectHandling().build();
 
        @Test
        public void c01_accepted() throws Exception {
@@ -309,7 +306,7 @@ public class BasicTest {
        public void c03_continue() throws Exception {
                c.get("/continue")
                        .run()
-                       .assertStatus().is(100)
+                       .assertStatus().is(1100)
                        .assertBody().is("foo");
        }
        @Test
@@ -323,7 +320,7 @@ public class BasicTest {
        public void c05_earlyHints() throws Exception {
                c.get("/earlyHints")
                        .run()
-                       .assertStatus().is(103)
+                       .assertStatus().is(1103)
                        .assertBody().is("foo");
        }
        @Test
@@ -365,8 +362,7 @@ public class BasicTest {
        public void c11_noContent() throws Exception {
                c.get("/noContent")
                        .run()
-                       .assertStatus().is(204)
-                       .assertBody().is("foo");
+                       .assertStatus().is(204);
        }
        @Test
        public void c12_nonAuthoritiveInformation() throws Exception {
@@ -379,8 +375,7 @@ public class BasicTest {
        public void c13_notModified() throws Exception {
                c.get("/notModified")
                        .run()
-                       .assertStatus().is(304)
-                       .assertBody().is("foo");
+                       .assertStatus().is(304);
        }
        @Test
        public void c14_ok() throws Exception {
@@ -407,15 +402,14 @@ public class BasicTest {
        public void c17_processing() throws Exception {
                c.get("/processing")
                        .run()
-                       .assertStatus().is(102)
+                       .assertStatus().is(1102)
                        .assertBody().is("foo");
        }
        @Test
        public void c18_resetContent() throws Exception {
                c.get("/resetContent")
                        .run()
-                       .assertStatus().is(205)
-                       .assertBody().is("foo");
+                       .assertStatus().is(205);
        }
        @Test
        public void c19_seeOther() throws Exception {
@@ -428,7 +422,7 @@ public class BasicTest {
        public void c20_switchingProtocols() throws Exception {
                c.get("/switchingProtocols")
                        .run()
-                       .assertStatus().is(101)
+                       .assertStatus().is(1101)
                        .assertBody().is("foo");
        }
        @Test
@@ -455,7 +449,7 @@ public class BasicTest {
                @RestMethod public Accepted accepted() { return new 
Accepted("foo"); }
        }
 
-       static MockRest d = MockRest.build(D.class);
+       static MockRestClient d = MockRestClient.build(D.class);
 
        @Test
        public void d01_accepted() throws Exception {

Reply via email to