Class TestClientDefaults<T extends TestClient<?>>
- Type Parameters:
T- actual client type
- Direct Known Subclasses:
TestClient
TestClient. Extracted to make
client class more readable.
Defaults could be declared for client to be applied in all clients. Sub-clients, created from this client will inherit these defaults.
- Since:
- 23.09.2025
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final TestRequestConfigDefault configuration for all requests (and sub clients). -
Constructor Summary
ConstructorsConstructorDescriptionTestClientDefaults(TestRequestConfig defaults) Creates new defaults instance. -
Method Summary
Modifier and TypeMethodDescriptiondefaultAccept(jakarta.ws.rs.core.MediaType... accept) Configure default Accept header for all requests (Invocation.Builder.accept(String...)).defaultAccept(String... accept) Configure default Accept header for all requests (Invocation.Builder.accept(String...)).defaultCacheControl(jakarta.ws.rs.core.CacheControl cacheControl) Configure default Cache-Control header for all requests (Invocation.Builder.cacheControl(CacheControl)).defaultCacheControl(String cacheControl) Configure default Cache-Control header for all requests (Invocation.Builder.cacheControl(CacheControl)).defaultCookie(jakarta.ws.rs.core.Cookie cookie) Configure default cookie for all requests (Invocation.Builder.cookie(jakarta.ws.rs.core.Cookie).defaultCookie(String name, String value) Configure default cookie for all requests (Invocation.Builder.cookie(jakarta.ws.rs.core.Cookie).defaultCookie(String name, Supplier<jakarta.ws.rs.core.Cookie> supplier) Configure default cookie for all requests (Invocation.Builder.cookie(jakarta.ws.rs.core.Cookie).defaultDebug(boolean debug) Enable requests' debugging: print to console what defaults was configured (and where) and how a request object was configured.defaultEncoding(String... encodings) Configure default Accept-Encoding header for all requests (Invocation.Builder.acceptEncoding(String...)).defaultFormDateFormat(String format) Shortcut to configure both date formatters with the same pattern.defaultFormDateFormatter(DateFormat formatter) Configure default java.util date formatter for form fields (used inTestClient.buildForm(String, Object...)).defaultFormDateTimeFormatter(DateTimeFormatter formatter) Configure default java.time formatter for form fields (used inTestClient.buildForm(String, Object...)).defaultHeader(String name, Object value) Configure default header for all requests (Invocation.Builder.header(String, Object)).defaultHeader(String name, Supplier<Object> supplier) Configure default header for all requests (Invocation.Builder.header(String, Object)).defaultHeader(org.eclipse.jetty.http.HttpHeader name, Object value) Configure default header for all requests (Invocation.Builder.header(String, Object)).defaultHeader(org.eclipse.jetty.http.HttpHeader name, Supplier<Object> supplier) Configure default header for all requests (Invocation.Builder.header(String, Object)).defaultLanguage(String... languages) Configure default Accept-Language header for all requests (Invocation.Builder.acceptLanguage(String...)).defaultLanguage(Locale... languages) Configure default Accept-Language header for all requests (Invocation.Builder.acceptLanguage(String...)).defaultMatrixParam(String name, Object value) Configure default matrix parameter for all requests (WebTarget.matrixParam(String, Object...)).defaultMatrixParam(String name, Supplier<Object> supplier) Configure default matrix parameter for all requests (WebTarget.matrixParam(String, Object...)).defaultPathConfiguration(Function<jakarta.ws.rs.client.WebTarget, jakarta.ws.rs.client.WebTarget> modifier) Configure default requestWebTargetmodifier for all requests.defaultPathParam(String name, Object value) Configure default path parameter for all requests (WebTarget.resolveTemplateFromEncoded(String, Object)).defaultPathParam(String name, Supplier<Object> supplier) Configure default path parameter for all requests (WebTarget.resolveTemplateFromEncoded(String, Object)).defaultProperty(String name, Object value) Configure default jersey client property applied to all requests (JerseyClient.property(String, Object)).defaultProperty(String name, Supplier<Object> supplier) Configure default jersey client property applied to all requests (JerseyClient.property(String, Object)).defaultQueryParam(String name, Object value) Configure default query parameter for all requests (WebTarget.queryParam(String, Object...)).defaultQueryParam(String name, Supplier<Object> supplier) Configure default query parameter for all requests (WebTarget.queryParam(String, Object...)).defaultRegister(Class<?> type) Configure default jersey client extension for all requests (JerseyClient.register(Class)).<K> TdefaultRegister(Class<K> type, Supplier<K> supplier) Configure default jersey client extension for all requests (JerseyClient.register(Object)).defaultRegister(Object extension) Configure default jersey client extension for all requests (JerseyClient.register(Object)).defaultRequestConfiguration(Consumer<jakarta.ws.rs.client.Invocation.Builder> modifier) Configure default requestInvocation.Buildermodifier for all requests.Could be used for manual appliance of defaults to externally constructed target:Invocation.Builder builder = getDefaults().configure(target).booleanCould be used for verifications in tests to avoid defaults collide.booleanCould be used for verifications in tests to avoid defaults collide.booleanCould be used for verifications in tests to avoid defaults collide.booleanCould be used for verifications in tests to avoid defaults collide.booleanCould be used for verifications in tests to avoid defaults collide.booleanCould be used for verifications in tests to avoid defaults collide.booleanCould be used for verifications in tests to avoid defaults collide.booleanCould be used for verifications in tests to avoid defaults collide.booleanCould be used for verifications in tests to avoid defaults collide.booleanCould be used for verifications in tests to avoid defaults collide.booleanCould be used for verifications in tests to avoid defaults collide.booleanCould be used for verifications in tests to avoid defaults collide.booleanCould be used for verifications in tests to avoid defaults collide.booleanbooleanPrint configured defaults to console.reset()Reset configured defaults.protected Tself()
-
Field Details
-
defaults
Default configuration for all requests (and sub clients).
-
-
Constructor Details
-
TestClientDefaults
Creates new defaults instance.- Parameters:
defaults- default configuration for all requests (and sub clients)
-
-
Method Details
-
defaultHeader
Configure default header for all requests (Invocation.Builder.header(String, Object)).Multiple calls override previous value.
- Parameters:
name- header namevalue- header value- Returns:
- builder instance for chained calls
-
defaultHeader
Configure default header for all requests (Invocation.Builder.header(String, Object)).Multiple calls override previous value.
- Parameters:
name- header namevalue- header value- Returns:
- builder instance for chained calls
-
defaultHeader
Configure default header for all requests (Invocation.Builder.header(String, Object)).Multiple calls override previous value.
- Parameters:
name- header namesupplier- header value supplier- Returns:
- builder instance for chained calls
-
defaultHeader
Configure default header for all requests (Invocation.Builder.header(String, Object)).Multiple calls override previous value.
- Parameters:
name- header namesupplier- header value supplier- Returns:
- builder instance for chained calls
-
defaultQueryParam
Configure default query parameter for all requests (WebTarget.queryParam(String, Object...)).Note: jersey api supports multiple query parameters with the same name (in this case multiple parameters added). The same result could be achieved by passing list or array into this api.
Multiple calls with the same name override the previous value (the only way to specify multiple values is using list or array as value).
- Parameters:
name- query parameter namevalue- parameter value (list or array for multiple values)- Returns:
- builder instance for chained calls
-
defaultQueryParam
Configure default query parameter for all requests (WebTarget.queryParam(String, Object...)).Note: jersey api supports multiple query parameters with the same name (in this case multiple parameters added). The same result could be achieved by passing list or array into this api.
Multiple calls with the same name override the previous value (the only way to specify multiple values is using list or array as value).
- Parameters:
name- query parameter namesupplier- value supplier (list or array for multiple values)- Returns:
- builder instance for chained calls
-
defaultMatrixParam
Configure default matrix parameter for all requests (WebTarget.matrixParam(String, Object...)).Note: jersey api supports multiple matrix parameters with the same name (in this case multiple parameters added). The same result could be achieved by passing list or array into this api.
Multiple calls with the same name override the previous value (the only way to specify multiple values is using list or array as value).
- Parameters:
name- matrix parameter namevalue- parameter value (list or array for multiple values)- Returns:
- builder instance for chained calls
-
defaultMatrixParam
Configure default matrix parameter for all requests (WebTarget.matrixParam(String, Object...)).Note: jersey api supports multiple matrix parameters with the same name (in this case multiple parameters added). The same result could be achieved by passing list or array into this api.
Multiple calls with the same name override the previous value (the only way to specify multiple values is using list or array as value).
- Parameters:
name- matrix parameter namesupplier- value supplier (list or array for multiple values)- Returns:
- builder instance for chained calls
-
defaultPathParam
Configure default path parameter for all requests (WebTarget.resolveTemplateFromEncoded(String, Object)).Note: parameter value assumed to be encoded to be able to specify matrix parameters (in the middle of the path):
pathParam("var", "/path;var=1;val=2").- Parameters:
name- parameter namevalue- parameter value- Returns:
- builder instance for chained calls
-
defaultPathParam
Configure default path parameter for all requests (WebTarget.resolveTemplateFromEncoded(String, Object)).- Parameters:
name- parameter namesupplier- parameter value supplier- Returns:
- builder instance for chained calls
-
defaultProperty
Configure default jersey client property applied to all requests (JerseyClient.property(String, Object)).Multiple calls override previous value.
- Parameters:
name- property namevalue- property value- Returns:
- builder instance for chained calls
- See Also:
-
ClientProperties
-
defaultProperty
Configure default jersey client property applied to all requests (JerseyClient.property(String, Object)).Multiple calls override previous value.
- Parameters:
name- property namesupplier- property value supplier- Returns:
- builder instance for chained calls
- See Also:
-
ClientProperties
-
defaultRegister
Configure default jersey client extension for all requests (JerseyClient.register(Class)). Could be useful, for example, to register customMessageBodyReader.Multiple registrations of the same class will be ignored (extensions tracked by type).
- Parameters:
type- extension class- Returns:
- builder instance for chained calls
-
defaultRegister
Configure default jersey client extension for all requests (JerseyClient.register(Object)). Could be useful, for example, to register customMessageBodyReader(as instance).When called with different instances of the same class: only the latest registration will be used (extensions tracked by type).
- Parameters:
extension- extensions instance- Returns:
- builder instance for chained calls
-
defaultRegister
Configure default jersey client extension for all requests (JerseyClient.register(Object)). Supplier could return either class or extension instance.When called with different instances of the same class: only the latest registration will be used (extensions tracked by type).
- Type Parameters:
K- extension type- Parameters:
type- extension typesupplier- extension instance or null (for class)- Returns:
- builder instance for chained calls
-
defaultFormDateFormatter
Configure default java.util date formatter for form fields (used inTestClient.buildForm(String, Object...)).- Parameters:
formatter- date formatter- Returns:
- builder instance for chained calls
- See Also:
-
defaultFormDateTimeFormatter
Configure default java.time formatter for form fields (used inTestClient.buildForm(String, Object...)).- Parameters:
formatter- date formatter- Returns:
- builder instance for chained calls
- See Also:
-
defaultFormDateFormat
Shortcut to configure both date formatters with the same pattern.- Parameters:
format- format- Returns:
- builder instance for chained calls
- See Also:
-
defaultCookie
Configure default cookie for all requests (Invocation.Builder.cookie(jakarta.ws.rs.core.Cookie).Multiple calls override previous value.
- Parameters:
name- cookie namevalue- cookie value- Returns:
- builder instance for chained calls
- See Also:
-
NewCookie
-
defaultCookie
Configure default cookie for all requests (Invocation.Builder.cookie(jakarta.ws.rs.core.Cookie).Use cookie builder:
new NewCookie.Builder(name).value(value).build().Multiple calls override previous value.
- Parameters:
cookie- cookie value- Returns:
- builder instance for chained calls
- See Also:
-
NewCookie
-
defaultCookie
Configure default cookie for all requests (Invocation.Builder.cookie(jakarta.ws.rs.core.Cookie).Use cookie builder:
new NewCookie.Builder(name).value(value).build().Multiple calls override previous value.
- Parameters:
name- namesupplier- value suppler- Returns:
- builder instance for chained calls
- See Also:
-
NewCookie
-
defaultAccept
Configure default Accept header for all requests (Invocation.Builder.accept(String...)).Multiple calls override previous value.
- Parameters:
accept- media types required for response- Returns:
- builder instance for chained calls
- See Also:
-
MediaType
-
defaultAccept
Configure default Accept header for all requests (Invocation.Builder.accept(String...)).Multiple calls override previous value.
- Parameters:
accept- media types required for response- Returns:
- builder instance for chained calls
- See Also:
-
MediaType
-
defaultLanguage
Configure default Accept-Language header for all requests (Invocation.Builder.acceptLanguage(String...)).Multiple calls override previous value.
- Parameters:
languages- languages to accept- Returns:
- builder instance for chained calls
-
defaultLanguage
Configure default Accept-Language header for all requests (Invocation.Builder.acceptLanguage(String...)).Multiple calls override previous value.
- Parameters:
languages- languages to accept- Returns:
- builder instance for chained calls
-
defaultEncoding
Configure default Accept-Encoding header for all requests (Invocation.Builder.acceptEncoding(String...)).Multiple calls override previous value.
- Parameters:
encodings- encodings to accept- Returns:
- builder instance for chained calls
-
defaultCacheControl
Configure default Cache-Control header for all requests (Invocation.Builder.cacheControl(CacheControl)).Multiple calls override previous value.
- Parameters:
cacheControl- cache control header value (string) to apply to request.- Returns:
- builder instance for chained calls
-
defaultCacheControl
Configure default Cache-Control header for all requests (Invocation.Builder.cacheControl(CacheControl)).Multiple calls override previous value.
- Parameters:
cacheControl- cache control settings to apply to request.- Returns:
- builder instance for chained calls
-
defaultDebug
Enable requests' debugging: print to console what defaults was configured (and where) and how a request object was configured.- Parameters:
debug- true to enable debug- Returns:
- builder instance for chained calls
-
defaultPathConfiguration
public T defaultPathConfiguration(Function<jakarta.ws.rs.client.WebTarget, jakarta.ws.rs.client.WebTarget> modifier) Configure default requestWebTargetmodifier for all requests.- Parameters:
modifier- function, applying request target configuration- Returns:
- builder instance for chained calls
-
defaultRequestConfiguration
Configure default requestInvocation.Buildermodifier for all requests.- Parameters:
modifier- consumer, applying request configuration- Returns:
- builder instance for chained calls
-
getDefaults
Could be used for manual appliance of defaults to externally constructed target:Invocation.Builder builder = getDefaults().configure(target).- Returns:
- a copy of client defaults
-
hasDefaults
public boolean hasDefaults()- Returns:
- if any default configured
-
hasDefaultHeaders
public boolean hasDefaultHeaders()Could be used for verifications in tests to avoid defaults collide.- Returns:
- true if default headers specified
-
hasDefaultQueryParams
public boolean hasDefaultQueryParams()Could be used for verifications in tests to avoid defaults collide.- Returns:
- true if default query params specified
-
hasDefaultMatrixParams
public boolean hasDefaultMatrixParams()Could be used for verifications in tests to avoid defaults collide.- Returns:
- true if default matrix params specified
-
hasDefaultPathParams
public boolean hasDefaultPathParams()Could be used for verifications in tests to avoid defaults collide.- Returns:
- true if default path params specified
-
hasDefaultProperties
public boolean hasDefaultProperties()Could be used for verifications in tests to avoid defaults collide.- Returns:
- true if default client properties specified
-
hasDefaultExtensions
public boolean hasDefaultExtensions()Could be used for verifications in tests to avoid defaults collide.- Returns:
- true if default client extensions specified
-
hasDefaultCookies
public boolean hasDefaultCookies()Could be used for verifications in tests to avoid defaults collide.- Returns:
- true if cookies specified
-
hasDefaultAccepts
public boolean hasDefaultAccepts()Could be used for verifications in tests to avoid defaults collide.- Returns:
- true if default Accept header specified
-
hasDefaultLanguages
public boolean hasDefaultLanguages()Could be used for verifications in tests to avoid defaults collide.- Returns:
- true if default Accept-Language header specified
-
hasDefaultEncodings
public boolean hasDefaultEncodings()Could be used for verifications in tests to avoid defaults collide.- Returns:
- true if default Accept-Encoding header specified
-
hasDefaultCacheControl
public boolean hasDefaultCacheControl()Could be used for verifications in tests to avoid defaults collide.- Returns:
- true if default Cache header specified
-
hasDefaultFormDateFormatter
public boolean hasDefaultFormDateFormatter()Could be used for verifications in tests to avoid defaults collide.- Returns:
- true if default date formatter (either one or both) specified for form builder
- See Also:
-
hasDefaultCustomConfigurators
public boolean hasDefaultCustomConfigurators()Could be used for verifications in tests to avoid defaults collide.- Returns:
- true if default path or request customizers registered
- See Also:
-
isDebugEnabled
public boolean isDebugEnabled()- Returns:
- true if debug output is enabled
- See Also:
-
reset
Reset configured defaults.- Returns:
- rest client itself for chained calls
-
printDefaults
Print configured defaults to console.- Returns:
- builder instance for chained calls
-
self
- Returns:
- client itself
-