From 7c858ba2acb079e5542aa992d48120c5f565d4fc Mon Sep 17 00:00:00 2001 From: debris Date: Fri, 25 Aug 2017 12:13:53 +0200 Subject: [PATCH] boilerplate for withdraw tests --- tests/src/lib.rs | 4 ++-- tests/tests/deposit_relay.rs | 2 +- tests/tests/log_stream.rs | 12 +++++----- tests/tests/withdraw_confirm.rs | 40 +++++++++++++++++++++++++++++++++ tests/tests/withdraw_relay.rs | 40 +++++++++++++++++++++++++++++++++ 5 files changed, 89 insertions(+), 9 deletions(-) create mode 100644 tests/tests/withdraw_confirm.rs create mode 100644 tests/tests/withdraw_relay.rs diff --git a/tests/src/lib.rs b/tests/src/lib.rs index 50bbbc0..c890fe0 100644 --- a/tests/src/lib.rs +++ b/tests/src/lib.rs @@ -37,8 +37,8 @@ impl Transport for MockedTransport { } fn send(&self, _id: usize, _request: rpc::Call) -> web3::Result { - let response = self.mocked_responses.iter().nth(self.requests.borrow().len() - 1).expect("out of range"); - futures::finished(serde_json::from_str(response).expect("invalid json")).boxed() + let response = self.mocked_responses.iter().nth(self.requests.borrow().len() - 1).expect("missing response"); + futures::finished(serde_json::from_str(response).expect("invalid response")).boxed() } } diff --git a/tests/tests/deposit_relay.rs b/tests/tests/deposit_relay.rs index 81bfa23..a241345 100644 --- a/tests/tests/deposit_relay.rs +++ b/tests/tests/deposit_relay.rs @@ -6,7 +6,7 @@ extern crate tests; use bridge::bridge::create_deposit_relay; test_app_stream! { - name => basic, + name => deposit_relay_basic, database => Database::default(), mainnet => account => "0x0000000000000000000000000000000000000001", diff --git a/tests/tests/log_stream.rs b/tests/tests/log_stream.rs index 0460b93..20c11c8 100644 --- a/tests/tests/log_stream.rs +++ b/tests/tests/log_stream.rs @@ -9,7 +9,7 @@ use web3::types::{FilterBuilder, H160, H256}; use bridge::api::{LogStreamInit, log_stream, LogStreamItem}; test_transport_stream! { - name => basic, + name => log_stream_basic, init => |transport| { let init = LogStreamInit { after: 10, @@ -47,7 +47,7 @@ test_transport_stream! { } test_transport_stream! { - name => rollback, + name => log_stream_rollback, init => |transport| { let init = LogStreamInit { after: 10, @@ -88,7 +88,7 @@ test_transport_stream! { } test_transport_stream! { - name => rollback_before_init, + name => log_stream_rollback_before_init, init => |transport| { let init = LogStreamInit { after: 10, @@ -119,7 +119,7 @@ test_transport_stream! { } test_transport_stream! { - name => zero_confirmations, + name => log_stream_zero_confirmations, init => |transport| { let init = LogStreamInit { after: 10, @@ -167,7 +167,7 @@ test_transport_stream! { } test_transport_stream! { - name => filter_with_address, + name => log_stream_filter_with_address, init => |transport| { let init = LogStreamInit { after: 11, @@ -202,7 +202,7 @@ test_transport_stream! { } test_transport_stream! { - name => filter_with_topics, + name => log_stream_filter_with_topics, init => |transport| { let init = LogStreamInit { after: 11, diff --git a/tests/tests/withdraw_confirm.rs b/tests/tests/withdraw_confirm.rs new file mode 100644 index 0000000..3361d84 --- /dev/null +++ b/tests/tests/withdraw_confirm.rs @@ -0,0 +1,40 @@ +extern crate futures; +extern crate bridge; +#[macro_use] +extern crate tests; + +use bridge::bridge::create_withdraw_confirm; + +test_app_stream! { + name => withdraw_confirm_basic, + database => Database::default(), + mainnet => + account => "0x0000000000000000000000000000000000000001", + confirmations => 12; + testnet => + account => "0x0000000000000000000000000000000000000001", + confirmations => 12; + authorities => + accounts => [ + "0x0000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000002", + ], + signatures => 1; + init => |app, db| create_withdraw_confirm(app, db).take(2), + expected => vec![0x1005, 0x1006], + mainnet_transport => [], + testnet_transport => [ + "eth_blockNumber" => + req => r#"[]"#, + res => r#""0x1011""#; + "eth_getLogs" => + req => r#"[{"address":["0x0000000000000000000000000000000000000000"],"fromBlock":"0x1","limit":null,"toBlock":"0x1005","topics":[["0x884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364"],[],[],[]]}]"#, + res => r#"[]"#; + "eth_blockNumber" => + req => r#"[]"#, + res => r#""0x1012""#; + "eth_getLogs" => + req => r#"[{"address":["0x0000000000000000000000000000000000000000"],"fromBlock":"0x1006","limit":null,"toBlock":"0x1006","topics":[["0x884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364"],[],[],[]]}]"#, + res => r#"[]"#; + ] +} diff --git a/tests/tests/withdraw_relay.rs b/tests/tests/withdraw_relay.rs new file mode 100644 index 0000000..e46e23f --- /dev/null +++ b/tests/tests/withdraw_relay.rs @@ -0,0 +1,40 @@ +extern crate futures; +extern crate bridge; +#[macro_use] +extern crate tests; + +use bridge::bridge::create_withdraw_relay; + +test_app_stream! { + name => withdraw_relay_basic, + database => Database::default(), + mainnet => + account => "0x0000000000000000000000000000000000000001", + confirmations => 12; + testnet => + account => "0x0000000000000000000000000000000000000001", + confirmations => 12; + authorities => + accounts => [ + "0x0000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000002", + ], + signatures => 1; + init => |app, db| create_withdraw_relay(app, db).take(2), + expected => vec![0x1005, 0x1006], + mainnet_transport => [], + testnet_transport => [ + "eth_blockNumber" => + req => r#"[]"#, + res => r#""0x1011""#; + "eth_getLogs" => + req => r#"[{"address":["0x0000000000000000000000000000000000000000"],"fromBlock":"0x1","limit":null,"toBlock":"0x1005","topics":[["0xeb043d149eedb81369bec43d4c3a3a53087debc88d2525f13bfaa3eecda28b5c"],[],[],[]]}]"#, + res => r#"[]"#; + "eth_blockNumber" => + req => r#"[]"#, + res => r#""0x1012""#; + "eth_getLogs" => + req => r#"[{"address":["0x0000000000000000000000000000000000000000"],"fromBlock":"0x1006","limit":null,"toBlock":"0x1006","topics":[["0xeb043d149eedb81369bec43d4c3a3a53087debc88d2525f13bfaa3eecda28b5c"],[],[],[]]}]"#, + res => r#"[]"#; + ] +}