use exonum::{
crypto::Hash,
helpers::{Height, ValidatorId},
};
use std::time::Duration;
use crate::sandbox::{sandbox_tests_helper::gen_timestamping_tx, timestamping_sandbox, Sandbox};
#[test]
fn pool_transactions_request() {
let sandbox = timestamping_sandbox();
let tx1 = gen_timestamping_tx();
sandbox.recv(&Sandbox::create_status(
sandbox.public_key(ValidatorId(1)),
Height(1),
Hash::zero(),
1,
sandbox.secret_key(ValidatorId(1)),
));
sandbox.add_time(Duration::from_millis(sandbox.current_round_timeout()));
let request = Sandbox::create_pool_transactions_request(
sandbox.public_key(ValidatorId(0)),
sandbox.public_key(ValidatorId(1)),
sandbox.secret_key(ValidatorId(0)),
);
sandbox.send(sandbox.public_key(ValidatorId(1)), &request);
sandbox.recv(&tx1);
sandbox.assert_tx_cache_len(1);
sandbox.recv(&Sandbox::create_transactions_response(
sandbox.public_key(ValidatorId(1)),
sandbox.public_key(ValidatorId(0)),
vec![tx1],
sandbox.secret_key(ValidatorId(1)),
));
}