diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2018-04-20 16:16:28 -0300 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2018-06-26 10:32:00 -0300 |
| commit | 3a60d226753a6169640c8b5499b94afc0cda172a (patch) | |
| tree | d8ed0a4e81145d00e2d4c2305cfff596f1d3c9a6 | |
| parent | 1f2e1645d987b64f625fa61c0056816fe422ae1f (diff) | |
| download | mullvadvpn-3a60d226753a6169640c8b5499b94afc0cda172a.tar.xz mullvadvpn-3a60d226753a6169640c8b5499b94afc0cda172a.zip | |
Test if daemon moves to connected state
| -rw-r--r-- | mullvad-tests/tests/connection.rs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/mullvad-tests/tests/connection.rs b/mullvad-tests/tests/connection.rs index c07b7d41ae..84306eeb14 100644 --- a/mullvad-tests/tests/connection.rs +++ b/mullvad-tests/tests/connection.rs @@ -24,6 +24,11 @@ const CONNECTING_STATE: DaemonState = DaemonState { target_state: TargetState::Secured, }; +const CONNECTED_STATE: DaemonState = DaemonState { + state: SecurityState::Secured, + target_state: TargetState::Secured, +}; + #[test] fn spawns_openvpn() { let mut daemon = DaemonRunner::spawn(); @@ -148,6 +153,27 @@ fn separate_connections_have_independent_authentication() { assert_eq!(rpc_client.get_state().unwrap(), CONNECTING_STATE); } +#[test] +fn changes_to_connected_state() { + let mut daemon = DaemonRunner::spawn(); + let mut rpc_client = daemon.rpc_client().unwrap(); + let openvpn_args_file = daemon.mock_openvpn_args_file(); + let state_events = rpc_client.new_state_subscribe().unwrap(); + + rpc_client.set_account(Some("123456".to_owned())).unwrap(); + rpc_client.connect().unwrap(); + + assert_state_event(&state_events, CONNECTING_STATE); + + let mut mock_plugin_client = create_mock_openvpn_plugin_client(openvpn_args_file); + + mock_plugin_client.authenticate().unwrap(); + mock_plugin_client.up().unwrap(); + + assert_state_event(&state_events, CONNECTED_STATE); + assert_eq!(rpc_client.get_state().unwrap(), CONNECTED_STATE); +} + fn assert_state_event(receiver: &mpsc::Receiver<DaemonState>, expected_state: DaemonState) { let received_state = receiver .recv_timeout(Duration::from_secs(1)) |
