Skip to content

Commit

Permalink
add more transactions to test
Browse files Browse the repository at this point in the history
  • Loading branch information
kukkok3 committed Nov 29, 2022
1 parent 8797fef commit 3ebad68
Showing 1 changed file with 84 additions and 132 deletions.
Expand Up @@ -71,35 +71,55 @@ pub fn passive_node_explorer() {
let passive = controller
.spawn(SpawnParams::new(PASSIVE).passive().in_memory())
.unwrap();

let mut alice = controller.controlled_wallet(ALICE).unwrap();
let bob = controller.controlled_wallet(BOB).unwrap();
let mut bob = controller.controlled_wallet(BOB).unwrap();
let mut clarice = controller.controlled_wallet(CLARICE).unwrap();
let mut mem_pool_checks = Vec::new();

mem_pool_checks.push(
FragmentSender::from(&controller.settings().block0)
.send_transaction(&mut alice, &bob, &leader_1, 1_000.into())
.unwrap(),
);

let mem_pool_check = FragmentSender::from(&controller.settings().block0)
.send_transaction(&mut alice, &bob, &leader_1, 1_000.into())
.unwrap();
mem_pool_checks.push(
FragmentSender::from(&controller.settings().block0)
.send_transaction(&mut bob, &alice, &leader_2, 1_000.into())
.unwrap(),
);

mem_pool_checks.push(
FragmentSender::from(&controller.settings().block0)
.send_transaction(&mut bob, &alice, &leader_3, 1_000.into())
.unwrap(),
);

mem_pool_checks.push(
FragmentSender::from(&controller.settings().block0)
.send_transaction(&mut clarice, &alice, &leader_3, 1_000.into())
.unwrap(),
);

// give some time to update explorer
time::wait_for_date(BlockDate::new(wait_epoch, wait_slot_id), leader_1.rest());
leader_1.shutdown();
leader_2.shutdown();
leader_3.shutdown();

let transaction_id = passive
.explorer(ExplorerParams::default())
.unwrap()
.client()
.transaction((*mem_pool_check.fragment_id()).into())
.unwrap()
.data
.unwrap()
.transaction
.id;

assert_eq!(
&transaction_id,
&mem_pool_check.fragment_id().to_string(),
"Wrong transaction id in explorer",
);
let explorer = passive.explorer(ExplorerParams::default()).unwrap();

for mem_pool_check in mem_pool_checks {
let fragment_id = *mem_pool_check.fragment_id();
assert_eq!(
explorer
.client()
.transaction(fragment_id.into())
.unwrap()
.data
.unwrap()
.transaction
.id,
fragment_id.to_string()
)
}
}

#[test]
Expand Down Expand Up @@ -160,121 +180,53 @@ pub fn explorer_passive_node_leaders_shutdown() {
.spawn(SpawnParams::new(PASSIVE).passive().in_memory())
.unwrap();
let mut alice = controller.controlled_wallet(ALICE).unwrap();
let bob = controller.controlled_wallet(BOB).unwrap();

let mem_pool_check = FragmentSender::from(&controller.settings().block0)
.send_transaction(&mut alice, &bob, &leader_1, 1_000.into())
.unwrap();

// give some time to update explorer
time::wait_for_date(BlockDate::new(wait_epoch, wait_slot_id), leader_1.rest());
leader_1.shutdown();
leader_2.shutdown();
leader_3.shutdown();

let transaction_id = passive
.explorer(ExplorerParams::default())
.unwrap()
.client()
.transaction((*mem_pool_check.fragment_id()).into())
.unwrap()
.data
.unwrap()
.transaction
.id;

assert_eq!(
&transaction_id,
&mem_pool_check.fragment_id().to_string(),
"Wrong transaction id in explorer",
let mut bob = controller.controlled_wallet(BOB).unwrap();
let mut clarice = controller.controlled_wallet(CLARICE).unwrap();
let mut mem_pool_checks = Vec::new();

mem_pool_checks.push(
FragmentSender::from(&controller.settings().block0)
.send_transaction(&mut alice, &bob, &leader_1, 1_000.into())
.unwrap(),
);
}

#[test]
pub fn explorer_passive_node_leaders_shutdown_before_update() {
let wait_epoch = 0;
let wait_slot_id = 30;
let mut controller = NetworkBuilder::default()
.topology(
Topology::default()
.with_node(Node::new(LEADER_1))
.with_node(Node::new(LEADER_2).with_trusted_peer(LEADER_1))
.with_node(Node::new(LEADER_3).with_trusted_peer(LEADER_1))
.with_node(
Node::new(PASSIVE)
.with_trusted_peer(LEADER_1)
.with_trusted_peer(LEADER_2)
.with_trusted_peer(LEADER_3),
),
)
.blockchain_config(
BlockchainBuilder::default()
.slots_per_epoch(60)
.slot_duration(2)
.leaders(vec![LEADER_1, LEADER_2, LEADER_3])
.build(),
)
.wallet_template(
WalletTemplateBuilder::new(ALICE)
.with(2_000_000_000)
.build(),
)
.wallet_template(
WalletTemplateBuilder::new(BOB)
.with(2_000_000_000)
.delegated_to(LEADER_1)
.build(),
)
.wallet_template(
WalletTemplateBuilder::new(CLARICE)
.with(2_000_000_000)
.delegated_to(LEADER_2)
.build(),
)
.build()
.unwrap();

let leader_1 = controller
.spawn(SpawnParams::new(LEADER_1).in_memory())
.unwrap();
let leader_2 = controller
.spawn(SpawnParams::new(LEADER_2).in_memory())
.unwrap();
let leader_3 = controller
.spawn(SpawnParams::new(LEADER_3).in_memory())
.unwrap();
mem_pool_checks.push(
FragmentSender::from(&controller.settings().block0)
.send_transaction(&mut bob, &alice, &leader_2, 1_000.into())
.unwrap(),
);

let passive = controller
.spawn(SpawnParams::new(PASSIVE).passive().in_memory())
.unwrap();
let mut alice = controller.controlled_wallet(ALICE).unwrap();
let bob = controller.controlled_wallet(BOB).unwrap();
mem_pool_checks.push(
FragmentSender::from(&controller.settings().block0)
.send_transaction(&mut bob, &alice, &leader_3, 1_000.into())
.unwrap(),
);

let mem_pool_check = FragmentSender::from(&controller.settings().block0)
.send_transaction(&mut alice, &bob, &leader_1, 1_000.into())
.unwrap();
mem_pool_checks.push(
FragmentSender::from(&controller.settings().block0)
.send_transaction(&mut clarice, &alice, &leader_3, 1_000.into())
.unwrap(),
);

// give some time to update explorer
time::wait_for_date(BlockDate::new(wait_epoch, wait_slot_id), leader_1.rest());
leader_1.shutdown();
leader_2.shutdown();
leader_3.shutdown();

// give some time to update explorer
time::wait_for_date(BlockDate::new(wait_epoch, wait_slot_id), leader_1.rest());

let transaction_id = passive
.explorer(ExplorerParams::default())
.unwrap()
.client()
.transaction((*mem_pool_check.fragment_id()).into())
.unwrap()
.data
.unwrap()
.transaction
.id;

assert_eq!(
&transaction_id,
&mem_pool_check.fragment_id().to_string(),
"Wrong transaction id in explorer",
);
let explorer = passive.explorer(ExplorerParams::default()).unwrap();

for mem_pool_check in mem_pool_checks {
let fragment_id = *mem_pool_check.fragment_id();
assert_eq!(
explorer
.client()
.transaction(fragment_id.into())
.unwrap()
.data
.unwrap()
.transaction
.id,
fragment_id.to_string()
)
}
}

0 comments on commit 3ebad68

Please sign in to comment.