pub struct TestServerConfig {
    pub ip: Option<IpAddr>,
    pub port: Option<u16>,
    pub save_cookies: bool,
    pub expect_success_by_default: bool,
    pub restrict_requests_with_http_schema: bool,
    pub default_content_type: Option<String>,
}
Expand description

This is for customising the TestServer on construction.

It implements Default to ease building configurations:

use ::axum_test::TestServerConfig;

let config = TestServerConfig {
    save_cookies: true,
    ..TestServerConfig::default()
};

These can be passed to TestServer::new_with_config:

use ::axum::Router;
use ::axum_test::TestServer;
use ::axum_test::TestServerConfig;

let my_app = Router::new()
    .into_make_service();

let config = TestServerConfig {
    save_cookies: true,
    ..TestServerConfig::default()
};

// Build the Test Server
let server = TestServer::new_with_config(my_app, config)?;

Fields§

§ip: Option<IpAddr>

Set the IP to use for the server.

Defaults to 127.0.0.1.

§port: Option<u16>

Set the port number to use for the server.

Defaults to a random port.

§save_cookies: bool

Set for the server to save cookies that are returned, for use in future requests.

This is useful for automatically saving session cookies (and similar) like a browser would do.

Defaults to false (being turned off).

§expect_success_by_default: bool

Sets requests made by the server to always expect a status code returned in the 2xx range, and to panic if that is missing.

This is useful when making multiple requests at a start of test which you presume should always work. It also helps to make tests more explicit.

Defaults to false (being turned off).

§restrict_requests_with_http_schema: bool

If you make a request with a ‘http://’ schema, then it will ignore the Test Server’s address.

For example if the test server is running at http://localhost:1234, and you make a request to http://google.com. Then the request will go to http://google.com. Ignoring the localhost:1234 part.

Turning this setting on will change this behaviour.

After turning this on, the same request will go to http://localhost:1234/http://google.com.

Defaults to false (being turned off).

§default_content_type: Option<String>

Set the default content type for all requests created by the TestServer.

This overrides the default ‘best efforts’ approach of requests.

Trait Implementations§

source§

impl Clone for TestServerConfig

source§

fn clone(&self) -> TestServerConfig

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for TestServerConfig

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for TestServerConfig

source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FromRef<T> for Twhere T: Clone,

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more