Skip to main content

TestServer

Struct TestServer 

Source
pub struct TestServer;
Expand description

A testing server.

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

§Examples

use actix_service::fn_service;
use actix_server::TestServer;

#[actix_rt::main]
async fn main() {
    let srv = TestServer::start(|| fn_service(
        |sock| async move {
            println!("New connection: {:?}", sock);
            Ok::<_, ()>(())
        }
    ));

    println!("SOCKET: {:?}", srv.connect());
}

Implementations§

Source§

impl TestServer

Source

pub fn start(factory: impl ServerServiceFactory<TcpStream>) -> TestServerHandle

Start new TestServer using application factory and default server config.

Source

pub fn start_with_builder( server_builder: ServerBuilder, factory: impl ServerServiceFactory<TcpStream>, ) -> TestServerHandle

Start new TestServer using application factory and server builder.

Source

pub fn unused_addr() -> SocketAddr

Get first available unused local address.

The listener is dropped before this method returns, so the port is no longer reserved. Use Self::unused_listener() to keep the port reserved.

Source

pub fn unused_listener() -> (TcpListener, SocketAddr)

Bind a TCP listener to an OS-assigned port on the IPv4 loopback address.

Returns the nonblocking listener and its local address. The caller owns the listener, which keeps the port reserved until it is dropped. Unlike Self::unused_addr(), this method leaves the listener open so it can be passed to ServerBuilder::listen().

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where 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.

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 T
where 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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

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

Source§

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.
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