Class ServerExtension
java.lang.Object
com.linecorp.armeria.testing.junit5.common.AbstractAllOrEachExtension
com.linecorp.armeria.testing.junit5.server.ServerExtension
- All Implemented Interfaces:
AfterAllCallback
,AfterEachCallback
,BeforeAllCallback
,BeforeEachCallback
,Extension
- Direct Known Subclasses:
MockWebServerExtension
-
Constructor Summary
ModifierConstructorDescriptionprotected
Creates a new instance with auto-start enabled.protected
ServerExtension
(boolean autoStart) Creates a new instance. -
Method Summary
Modifier and TypeMethodDescriptionvoid
after
(ExtensionContext context) void
before
(ExtensionContext context) Callsstart()
if auto-start is enabled.void
beforeEach
(ExtensionContext context) Returns theBlockingWebClient
configured byconfigureWebClient(WebClientBuilder)
.blockingWebClient
(Consumer<WebClientBuilder> webClientCustomizer) Returns a newly createdBlockingWebClient
configured byconfigureWebClient(WebClientBuilder)
and then the specified customizer.protected abstract void
Configures theServer
with the givenServerBuilder
.protected void
configureWebClient
(WebClientBuilder webClientBuilder) Configures theWebClient
with the givenWebClientBuilder
.endpoint
(SessionProtocol protocol) boolean
hasHttp()
Returnstrue
if theServer
is started and it has an HTTP port open.boolean
hasHttps()
Returnstrue
if theServer
is started and it has an HTTPS port open.int
httpPort()
Returns the HTTP port number of theServer
.Returns the HTTPInetSocketAddress
of theServer
.int
Returns the HTTPS port number of theServer
.Returns the HTTPSInetSocketAddress
of theServer
.httpsUri()
httpsUri
(SerializationFormat format) httpUri()
httpUri
(SerializationFormat format) int
port
(SessionProtocol protocol) Returns the port number of theServer
for the specifiedSessionProtocol
.Returns theServiceRequestContextCaptor
that captures all theServiceRequestContext
s in thisServer
.Returns theRestClient
configured byconfigureWebClient(WebClientBuilder)
.restClient
(Consumer<WebClientBuilder> webClientCustomizer) Returns a newly createdRestClient
configured byconfigureWebClient(WebClientBuilder)
and then the specified customizer.server()
Returns the startedServer
.protected boolean
Determines whether theServiceRequestContext
should be captured or not.socketAddress
(SessionProtocol protocol) start()
Starts theServer
configured byconfigure(ServerBuilder)
.stop()
Stops theServer
asynchronously.uri
(SessionProtocol protocol) uri
(SessionProtocol protocol, SerializationFormat format) Returns theWebClient
configured byconfigureWebClient(WebClientBuilder)
.webClient
(Consumer<WebClientBuilder> webClientCustomizer) Returns a newly createdWebClient
configured byconfigureWebClient(WebClientBuilder)
and then the specified customizer.Methods inherited from class com.linecorp.armeria.testing.junit5.common.AbstractAllOrEachExtension
afterAll, afterEach, beforeAll, runForEachTest
-
Constructor Details
-
ServerExtension
protected ServerExtension()Creates a new instance with auto-start enabled. -
ServerExtension
protected ServerExtension(boolean autoStart) Creates a new instance.
-
-
Method Details
-
before
Callsstart()
if auto-start is enabled.- Specified by:
before
in classAbstractAllOrEachExtension
- Throws:
Exception
-
beforeEach
- Specified by:
beforeEach
in interfaceBeforeEachCallback
- Overrides:
beforeEach
in classAbstractAllOrEachExtension
- Throws:
Exception
-
after
- Specified by:
after
in classAbstractAllOrEachExtension
- Throws:
Exception
-
start
Starts theServer
configured byconfigure(ServerBuilder)
. If theServer
has been started up already, the existingServer
is returned. Note that this operation blocks until theServer
finished the start-up.- Returns:
- the started
Server
-
configure
Configures theServer
with the givenServerBuilder
.- Throws:
Exception
-
configureWebClient
Configures theWebClient
with the givenWebClientBuilder
. You can get the configuredWebClient
usingwebClient()
.- Throws:
Exception
-
stop
Stops theServer
asynchronously.- Returns:
- the
CompletableFuture
that will complete when theServer
is stopped.
-
server
Returns the startedServer
.- Throws:
IllegalStateException
- if theServer
is not started
-
httpPort
public int httpPort()Returns the HTTP port number of theServer
.- Throws:
IllegalStateException
- if theServer
is not started or it did not open an HTTP port
-
httpsPort
public int httpsPort()Returns the HTTPS port number of theServer
.- Throws:
IllegalStateException
- if theServer
is not started or it did not open an HTTPS port
-
port
Returns the port number of theServer
for the specifiedSessionProtocol
.- Throws:
IllegalStateException
- if theServer
is not started or it did not open a port of the specified protocol.
-
hasHttp
public boolean hasHttp()Returnstrue
if theServer
is started and it has an HTTP port open. -
hasHttps
public boolean hasHttps()Returnstrue
if theServer
is started and it has an HTTPS port open. -
endpoint
- Throws:
IllegalStateException
- if theServer
is not started or it did not open the port for the specifiedSessionProtocol
.
-
httpEndpoint
- Throws:
IllegalStateException
- if theServer
is not started or it did not open an HTTP port.
-
httpsEndpoint
- Throws:
IllegalStateException
- if theServer
is not started or it did not open an HTTPS port.
-
uri
- Returns:
- the absolute
URI
without a path. - Throws:
IllegalStateException
- if theServer
is not started or it did not open the port for the specifiedSessionProtocol
.
-
uri
- Throws:
IllegalStateException
- if theServer
is not started or it did not open the port for the specifiedSessionProtocol
.
-
httpUri
- Returns:
- the absolute
URI
without a path. - Throws:
IllegalStateException
- if theServer
is not started or it did not open an HTTP port.
-
httpUri
- Returns:
- the absolute
URI
without a path. - Throws:
IllegalStateException
- if theServer
is not started or it did not open an HTTP port.
-
httpsUri
- Returns:
- the absolute
URI
without a path. - Throws:
IllegalStateException
- if theServer
is not started or it did not open an HTTPS port.
-
httpsUri
- Returns:
- the absolute
URI
without a path. - Throws:
IllegalStateException
- if theServer
is not started or it did not open an HTTPS port.
-
socketAddress
- Throws:
IllegalStateException
- if theServer
is not started or it did not open a port for the specifiedSessionProtocol
.
-
httpSocketAddress
Returns the HTTPInetSocketAddress
of theServer
.- Throws:
IllegalStateException
- if theServer
is not started or it did not open an HTTP port
-
httpsSocketAddress
Returns the HTTPSInetSocketAddress
of theServer
.- Throws:
IllegalStateException
- if theServer
is not started or it did not open an HTTPS port
-
requestContextCaptor
Returns theServiceRequestContextCaptor
that captures all theServiceRequestContext
s in thisServer
. -
webClient
Returns theWebClient
configured byconfigureWebClient(WebClientBuilder)
. -
webClient
Returns a newly createdWebClient
configured byconfigureWebClient(WebClientBuilder)
and then the specified customizer. -
blockingWebClient
Returns theBlockingWebClient
configured byconfigureWebClient(WebClientBuilder)
. -
blockingWebClient
@UnstableApi public BlockingWebClient blockingWebClient(Consumer<WebClientBuilder> webClientCustomizer) Returns a newly createdBlockingWebClient
configured byconfigureWebClient(WebClientBuilder)
and then the specified customizer. -
restClient
Returns theRestClient
configured byconfigureWebClient(WebClientBuilder)
. -
restClient
Returns a newly createdRestClient
configured byconfigureWebClient(WebClientBuilder)
and then the specified customizer. -
shouldCapture
Determines whether theServiceRequestContext
should be captured or not. This method returnstrue
by default. Override it to capture the contexts selectively.
-