summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2018-04-20 16:16:28 -0300
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2018-06-26 10:32:00 -0300
commit3a60d226753a6169640c8b5499b94afc0cda172a (patch)
treed8ed0a4e81145d00e2d4c2305cfff596f1d3c9a6
parent1f2e1645d987b64f625fa61c0056816fe422ae1f (diff)
downloadmullvadvpn-3a60d226753a6169640c8b5499b94afc0cda172a.tar.xz
mullvadvpn-3a60d226753a6169640c8b5499b94afc0cda172a.zip
Test if daemon moves to connected state
-rw-r--r--mullvad-tests/tests/connection.rs26
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))