Test for EthSigningQueueClient
This commit is contained in:
parent
6d5ba59515
commit
8c3b56511a
@ -58,7 +58,7 @@ mod test {
|
|||||||
#[test]
|
#[test]
|
||||||
fn should_work_for_hashset() {
|
fn should_work_for_hashset() {
|
||||||
// given
|
// given
|
||||||
let mut queue = Mutex::new(HashSet::new());
|
let queue = Mutex::new(HashSet::new());
|
||||||
|
|
||||||
let request = TransactionRequest {
|
let request = TransactionRequest {
|
||||||
from: Address::from(1),
|
from: Address::from(1),
|
||||||
|
@ -14,4 +14,64 @@
|
|||||||
// You should have received a copy of the GNU General Public License
|
// You should have received a copy of the GNU General Public License
|
||||||
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
|
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
use std::collections::HashSet;
|
||||||
|
use std::sync::{Arc, Mutex};
|
||||||
|
use jsonrpc_core::IoHandler;
|
||||||
|
use v1::impls::EthSigningQueueClient;
|
||||||
|
use v1::traits::EthSigning;
|
||||||
|
use v1::helpers::SigningQueue;
|
||||||
|
use util::keys::TestAccount;
|
||||||
|
|
||||||
|
struct EthSignerTester {
|
||||||
|
pub queue: Arc<SigningQueue>,
|
||||||
|
pub io: IoHandler,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Default for EthSignerTester {
|
||||||
|
fn default() -> Self {
|
||||||
|
let queue : Arc<SigningQueue> = Arc::new(Mutex::new(HashSet::new()));
|
||||||
|
let io = IoHandler::new();
|
||||||
|
io.add_delegate(EthSigningQueueClient::new(&queue).to_delegate());
|
||||||
|
|
||||||
|
EthSignerTester {
|
||||||
|
queue: queue,
|
||||||
|
io: io,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn eth_signer() -> EthSignerTester {
|
||||||
|
EthSignerTester::default()
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn should_add_transaction_to_queue() {
|
||||||
|
// given
|
||||||
|
let tester = eth_signer();
|
||||||
|
let account = TestAccount::new("123");
|
||||||
|
let address = account.address();
|
||||||
|
assert_eq!(tester.queue.requests().len(), 0);
|
||||||
|
|
||||||
|
// when
|
||||||
|
let request = r#"{
|
||||||
|
"jsonrpc": "2.0",
|
||||||
|
"method": "eth_sendTransaction",
|
||||||
|
"params": [{
|
||||||
|
"from": ""#.to_owned() + format!("0x{:?}", address).as_ref() + r#"",
|
||||||
|
"to": "0xd46e8dd67c5d32be8058bb8eb970870f07244567",
|
||||||
|
"gas": "0x76c0",
|
||||||
|
"gasPrice": "0x9184e72a000",
|
||||||
|
"value": "0x9184e72a"
|
||||||
|
}],
|
||||||
|
"id": 1
|
||||||
|
}"#;
|
||||||
|
let response = r#"{"jsonrpc":"2.0","result":"0x0000000000000000000000000000000000000000000000000000000000000000","id":1}"#;
|
||||||
|
|
||||||
|
|
||||||
|
// then
|
||||||
|
assert_eq!(tester.io.handle_request(&request), Some(response.to_owned()));
|
||||||
|
assert_eq!(tester.queue.requests().len(), 1);
|
||||||
|
|
||||||
|
}
|
||||||
|
@ -17,8 +17,10 @@
|
|||||||
//! RPC serialization tests.
|
//! RPC serialization tests.
|
||||||
|
|
||||||
mod eth;
|
mod eth;
|
||||||
|
mod eth_signing;
|
||||||
mod net;
|
mod net;
|
||||||
mod web3;
|
mod web3;
|
||||||
mod personal;
|
mod personal;
|
||||||
|
mod personal_signer;
|
||||||
mod ethcore;
|
mod ethcore;
|
||||||
mod rpc;
|
mod rpc;
|
||||||
|
Loading…
Reference in New Issue
Block a user