[][src]Struct actix_web::test::TestServer

pub struct TestServer { /* fields omitted */ }

The TestServer type.

TestServer is very simple test server that simplify process of writing integration tests cases for actix web applications.

Examples

use actix_web::test::TestServer;

let mut srv = TestServer::new(|app| app.handler(my_handler));

let req = srv.get().finish().unwrap();
let response = srv.execute(req.send()).unwrap();
assert!(response.status().is_success());

Methods

impl TestServer[src]

pub fn new<F>(config: F) -> Self where
    F: Clone + Send + 'static + Fn(&mut TestApp<()>), 
[src]

Start new test server

This method accepts configuration method. You can add middlewares or set handlers for test application.

pub fn build() -> TestServerBuilder<(), impl Fn() + Clone + Send + 'static>[src]

Create test server builder

pub fn build_with_state<S, F>(state: F) -> TestServerBuilder<S, F> where
    F: Fn() -> S + Clone + Send + 'static,
    S: 'static, 
[src]

Create test server builder with specific state factory

This method can be used for constructing application state. Also it can be used for external dependency initialization, like creating sync actors for diesel integration.

pub fn with_factory<F, H>(factory: F) -> Self where
    F: Fn() -> H + Send + Clone + 'static,
    H: IntoHttpHandler + 'static, 
[src]

Start new test server with application factory

pub fn unused_addr() -> SocketAddr[src]

Get firat available unused address

pub fn addr(&self) -> SocketAddr[src]

Construct test server url

pub fn url(&self, uri: &str) -> String[src]

Construct test server url

pub fn execute<F, I, E>(&mut self, fut: F) -> Result<I, E> where
    F: Future<Item = I, Error = E>, 
[src]

Execute future on current core

pub fn ws_at(
    &mut self,
    path: &str
) -> Result<(ClientReader, ClientWriter), ClientError>
[src]

Connect to websocket server at a given path

pub fn ws(&mut self) -> Result<(ClientReader, ClientWriter), ClientError>[src]

Connect to a websocket server

pub fn get(&self) -> ClientRequestBuilder[src]

Create GET request

pub fn post(&self) -> ClientRequestBuilder[src]

Create POST request

pub fn head(&self) -> ClientRequestBuilder[src]

Create HEAD request

pub fn client(&self, meth: Method, path: &str) -> ClientRequestBuilder[src]

Connect to test http server

Trait Implementations

impl Drop for TestServer[src]

Auto Trait Implementations

impl !Send for TestServer

impl !Sync for TestServer

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> Erased for T