public class WaitingConsumer extends BaseConsumer<WaitingConsumer>
BlockingDeque
and enables tests
to wait for a matching condition.Constructor and Description |
---|
WaitingConsumer() |
Modifier and Type | Method and Description |
---|---|
void |
accept(OutputFrame frame) |
java.util.concurrent.LinkedBlockingDeque<OutputFrame> |
getFrames()
Get access to the underlying frame buffer.
|
void |
waitUntil(java.util.function.Predicate<OutputFrame> predicate)
Wait until any frame (usually, line) of output matches the provided predicate.
|
void |
waitUntil(java.util.function.Predicate<OutputFrame> predicate,
int limit,
java.util.concurrent.TimeUnit limitUnit)
Wait until any frame (usually, line) of output matches the provided predicate.
|
void |
waitUntil(java.util.function.Predicate<OutputFrame> predicate,
long limit,
java.util.concurrent.TimeUnit limitUnit,
int times)
Wait until any frame (usually, line) of output matches the provided predicate.
|
void |
waitUntilEnd()
Wait until Docker closes the stream of output.
|
void |
waitUntilEnd(long limit,
java.util.concurrent.TimeUnit limitUnit)
Wait until Docker closes the stream of output.
|
withRemoveAnsiCodes
public void accept(OutputFrame frame)
public java.util.concurrent.LinkedBlockingDeque<OutputFrame> getFrames()
public void waitUntil(java.util.function.Predicate<OutputFrame> predicate) throws java.util.concurrent.TimeoutException
Note that lines will often have a trailing newline character, and this is not stripped off before the predicate is tested.
predicate
- a predicate to test against each framejava.util.concurrent.TimeoutException
public void waitUntil(java.util.function.Predicate<OutputFrame> predicate, int limit, java.util.concurrent.TimeUnit limitUnit) throws java.util.concurrent.TimeoutException
Note that lines will often have a trailing newline character, and this is not stripped off before the predicate is tested.
predicate
- a predicate to test against each framelimit
- maximum time to waitlimitUnit
- maximum time to wait (units)java.util.concurrent.TimeoutException
public void waitUntil(java.util.function.Predicate<OutputFrame> predicate, long limit, java.util.concurrent.TimeUnit limitUnit, int times) throws java.util.concurrent.TimeoutException
Note that lines will often have a trailing newline character, and this is not stripped off before the predicate is tested.
predicate
- a predicate to test against each framelimit
- maximum time to waitlimitUnit
- maximum time to wait (units)times
- number of times the predicate has to matchjava.util.concurrent.TimeoutException
public void waitUntilEnd() throws java.util.concurrent.TimeoutException
java.util.concurrent.TimeoutException
public void waitUntilEnd(long limit, java.util.concurrent.TimeUnit limitUnit) throws java.util.concurrent.TimeoutException
limit
- maximum time to waitlimitUnit
- maximum time to wait (units)java.util.concurrent.TimeoutException