pub struct MockServerBuilder { /* private fields */ }
Expand description
A builder providing a fluent API to assemble a MockServer
step-by-step.
Use MockServer::builder
to get started.
Implementations§
Source§impl MockServerBuilder
impl MockServerBuilder
Sourcepub fn listener(self, listener: TcpListener) -> Self
pub fn listener(self, listener: TcpListener) -> Self
Each instance of MockServer
is, by default, running on a random
port available on your local machine.
With MockServerBuilder::listener
you can choose to start the MockServer
instance on a specific port you have already bound.
§Example:
use wiremock::MockServer;
#[async_std::main]
async fn main() {
// Arrange
let listener = std::net::TcpListener::bind("127.0.0.1:0").unwrap();
let expected_server_address = listener
.local_addr()
.expect("Failed to get server address.");
// Act
let mock_server = MockServer::builder().listener(listener).start().await;
// Assert
assert_eq!(&expected_server_address, mock_server.address());
}
Sourcepub fn disable_request_recording(self) -> Self
pub fn disable_request_recording(self) -> Self
By default, MockServer
will record all incoming requests to display
more meaningful error messages when your expectations are not verified.
This can sometimes be undesirable (e.g. a long-lived server serving
high volumes of traffic) - you can disable request recording using
MockServerBuilder::disable_request_recording
.
§Example (Request recording disabled):
use wiremock::MockServer;
#[async_std::main]
async fn main() {
// Arrange
let mock_server = MockServer::builder().disable_request_recording().start().await;
// Act
let received_requests = mock_server.received_requests().await;
// Assert
assert!(received_requests.is_none());
}
Sourcepub fn body_print_limit(self, limit: BodyPrintLimit) -> Self
pub fn body_print_limit(self, limit: BodyPrintLimit) -> Self
The mock server prints the requests it received when one or more mocks have expectations that have not been satisfied. By default, the size of the printed body is limited.
You may want to change this if you’re working with services with very large
bodies, or when printing wiremock output to a file where size matters
less than in a terminal window. You can configure this limit with
MockServerBuilder::body_print_limit
.
Sourcepub async fn start(self) -> MockServer
pub async fn start(self) -> MockServer
Finalise the builder and launch the MockServer
instance!