pub struct UdpServerMocker { /* private fields */ }
Expand description

A UDP server mocker

Can be used to mock a UDP server if the application you want to test uses UDP sockets to connect to a server.

It’s preferable that only 1 client sends messages to the mocked server. When the object is dropped or a stop instruction is received, the mocked server will stop. The server will also stop in case no more instructions are available.

Trait Implementations

UdpServerMocker implementation

Example

use std::net::{SocketAddr, UdpSocket};
use socket_server_mocker::server_mocker::ServerMocker;
use socket_server_mocker::server_mocker_instruction::{ServerMockerInstructionsList, ServerMockerInstruction};
use socket_server_mocker::udp_server_mocker::UdpServerMocker;

// 0 = random port
let udp_server_mocker = UdpServerMocker::new(0).unwrap();
let mut client = UdpSocket::bind("127.0.0.1:0").unwrap();
let server_addr = SocketAddr::from(([127, 0, 0, 1], udp_server_mocker.listening_port()));

udp_server_mocker.add_mock_instructions_list(ServerMockerInstructionsList::new_with_instructions([
   ServerMockerInstruction::ReceiveMessage,
   ServerMockerInstruction::SendMessage(vec![4, 5, 6]),
   ServerMockerInstruction::StopExchange,
].as_slice()));
client.send_to(&[1, 2, 3], server_addr).unwrap();
let mut buffer = [0; 3];
client.recv_from(&mut buffer).unwrap();
assert_eq!([4, 5, 6], buffer);
assert_eq!(Some(vec![1, 2, 3]), udp_server_mocker.pop_received_message());
assert!(udp_server_mocker.pop_server_error().is_none());
Creates a new server mocker Read more
Returns the port on which the mock server is listening Read more
Adds a list of instructions to the server mocker Read more
Return first message received by the mock server on the messages queue Read more
Return first error received by the mock server on the errors queue Read more
Default timeout in milliseconds for the server to wait for a message from the client.
Timeout if no more instruction is available and ServerMockerInstruction::StopExchange hasn’t been sent
Adds a slice of instructions to the server mocker Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.