Skip to content

Commit

Permalink
Add a spec to test errors on the me endpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
exul committed Feb 19, 2017
1 parent 306a4d3 commit 0e38b91
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions tests/admin_commands_login.rs
Original file line number Diff line number Diff line change
Expand Up @@ -285,6 +285,39 @@ fn the_user_gets_a_message_when_the_me_response_cannot_be_deserialized() {
assert!(message_received_by_matrix.contains("An internal error occurred"));
}

#[test]
fn the_user_gets_a_message_when_the_me_endpoint_returns_an_error() {
let (message_forwarder, receiver) = MessageForwarder::new();
let mut matrix_router = Router::new();
matrix_router.put(SendMessageEventEndpoint::router_path(), message_forwarder, "send_message_event");
let mut rocketchat_router = Router::new();
rocketchat_router.post(ME_PATH,
handlers::RocketchatErrorResponder {
status: status::InternalServerError,
message: "Spec Error".to_string(),
},
"login");
let test = Test::new()
.with_matrix_routes(matrix_router)
.with_rocketchat_mock()
.with_custom_rocketchat_routes(rocketchat_router)
.with_connected_admin_room()
.run();

helpers::send_room_message_from_matrix(&test.config.as_url,
RoomId::try_from("!admin:localhost").unwrap(),
UserId::try_from("@spec_user:localhost").unwrap(),
"login spec_user secret".to_string());

// discard welcome message
receiver.recv_timeout(default_timeout()).unwrap();
// discard connect message
receiver.recv_timeout(default_timeout()).unwrap();

let message_received_by_matrix = receiver.recv_timeout(default_timeout()).unwrap();
assert!(message_received_by_matrix.contains("An internal error occurred"));
}

#[test]
fn attempt_to_login_when_the_admin_room_is_not_connected() {
let (message_forwarder, receiver) = MessageForwarder::new();
Expand Down

0 comments on commit 0e38b91

Please sign in to comment.