boilerplate for withdraw tests

This commit is contained in:
debris 2017-08-25 12:13:53 +02:00
parent b6d4834400
commit 7c858ba2ac
5 changed files with 89 additions and 9 deletions

View File

@ -37,8 +37,8 @@ impl Transport for MockedTransport {
}
fn send(&self, _id: usize, _request: rpc::Call) -> web3::Result<rpc::Value> {
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()
}
}

View File

@ -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",

View File

@ -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,

View File

@ -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#"[]"#;
]
}

View File

@ -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#"[]"#;
]
}