public interface MkContainer extends Closeable
A convenient tool to test your application classes against a web service. For example:
MkContainer container = new MkGrizzlyContainer()
.next(new MkAnswer.Simple(200, "works fine!"))
.start();
new JdkRequest(container.home())
.header("Accept", "text/xml")
.fetch().as(RestResponse.class)
.assertStatus(200)
.assertBody(Matchers.equalTo("works fine!"));
MatcherAssert.assertThat(
container.take().method(),
Matchers.equalTo("GET")
);
container.stop();
Keep in mind that container automatically reserves a new free TCP port
and works until JVM is shut down. The only way to stop it is to call
stop().
Since version 0.11 container implements Closeable and can be
used in try-with-resource block.
| Modifier and Type | Method and Description |
|---|---|
URI |
home()
Get its home.
|
MkContainer |
next(MkAnswer answer)
Give this answer on the next request.
|
MkContainer |
next(MkAnswer answer,
Matcher<MkQuery> condition)
Give this answer on the next request if the matcher condition is
satisfied.
|
MkContainer |
next(MkAnswer answer,
Matcher<MkQuery> condition,
int count)
Give this answer on the next request(s) if the matcher condition is
satisfied up to a certain number of requests.
|
int |
queries()
How many queries we have left.
|
MkContainer |
start()
Start it on the first available TCP port.
|
MkContainer |
start(int prt)
Start it on a provided port.
|
void |
stop()
Stop container.
|
MkQuery |
take()
Get the oldest request received
(
NoSuchElementException
if no more elements in the list). |
MkQuery |
take(Matcher<MkAnswer> matcher)
Get the oldest request received subject to the matching condition.
|
Collection<MkQuery> |
takeAll(Matcher<MkAnswer> matcher)
Get the all requests received satisfying the given matcher.
|
MkContainer next(MkAnswer answer)
answer - Next answer to giveMkContainer next(MkAnswer answer, Matcher<MkQuery> condition)
answer - Next answer to givecondition - The condition to matchMkContainer next(MkAnswer answer, Matcher<MkQuery> condition, int count)
answer - Next answer to givecondition - The condition to matchcount - Number of requests to matchMkQuery take()
NoSuchElementException
if no more elements in the list).MkQuery take(Matcher<MkAnswer> matcher)
NoSuchElementException if no elements satisfy the
condition).matcher - The matcher specifying the conditionCollection<MkQuery> takeAll(Matcher<MkAnswer> matcher)
NoSuchElementException if no elements satisfy the
condition).matcher - The matcher specifying the conditionint queries()
take()MkContainer start() throws IOException
IOException - If failsMkContainer start(int prt) throws IOException
prt - The port where it should start listeningIOException - If failsvoid stop()
URI home()
Copyright © 2012–2021 jcabi.com. All rights reserved.