Skip to content

Commit 8db45d0

Browse files
authored
test(Ledger): FI-1689: Tests for archive chunking and ranges (#4678)
Adapt tests for archive chunking and archive ranges to support both the ICP and ICRC ledger suites.
1 parent 76a8f39 commit 8db45d0

File tree

3 files changed

+525
-278
lines changed

3 files changed

+525
-278
lines changed

rs/ledger_suite/icp/ledger/tests/tests.rs

+31
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ use ic_base_types::{CanisterId, PrincipalId};
66
use ic_icrc1_test_utils::minter_identity;
77
use ic_ledger_core::block::BlockIndex;
88
use ic_ledger_core::{block::BlockType, Tokens};
9+
use ic_ledger_suite_state_machine_tests::archiving::icp_archives;
910
use ic_ledger_suite_state_machine_tests::{
1011
balance_of, default_approve_args, default_transfer_from_args, expect_icrc2_disabled,
1112
send_approval, send_transfer_from, setup, supported_standards, total_supply, transfer,
@@ -1704,6 +1705,36 @@ fn test_account_balance_non_standard_account_identifier_length() {
17041705
assert_eq!(res, Tokens::from_e8s(0));
17051706
}
17061707

1708+
#[test]
1709+
fn test_archiving_lots_of_blocks_after_enabling_archiving() {
1710+
ic_ledger_suite_state_machine_tests::archiving::test_archiving_lots_of_blocks_after_enabling_archiving(
1711+
ledger_wasm(), encode_init_args,
1712+
icp_archives,
1713+
ic_ledger_suite_state_machine_tests::archiving::query_encoded_blocks,
1714+
ic_ledger_suite_state_machine_tests::archiving::get_encoded_blocks,
1715+
);
1716+
}
1717+
1718+
#[test]
1719+
fn test_archiving_in_chunks_returns_disjoint_block_range_locations() {
1720+
ic_ledger_suite_state_machine_tests::archiving::test_archiving_in_chunks_returns_disjoint_block_range_locations(
1721+
ledger_wasm(), encode_init_args,
1722+
icp_archives,
1723+
ic_ledger_suite_state_machine_tests::archiving::query_encoded_blocks,
1724+
ic_ledger_suite_state_machine_tests::archiving::get_encoded_blocks,
1725+
);
1726+
}
1727+
1728+
#[test]
1729+
fn test_icp_get_encoded_blocks_returns_multiple_archive_callbacks() {
1730+
ic_ledger_suite_state_machine_tests::archiving::test_get_blocks_returns_multiple_archive_callbacks(
1731+
ledger_wasm(),
1732+
encode_init_args,
1733+
icp_archives,
1734+
ic_ledger_suite_state_machine_tests::archiving::query_encoded_blocks,
1735+
);
1736+
}
1737+
17071738
mod metrics {
17081739
use crate::{encode_init_args, encode_upgrade_args, ledger_wasm};
17091740
use ic_ledger_suite_state_machine_tests::metrics::LedgerSuiteType;

rs/ledger_suite/icrc1/ledger/tests/tests.rs

+14-5
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ use ic_icrc1_test_utils::minter_identity;
1010
use ic_ledger_canister_core::archive::ArchiveOptions;
1111
use ic_ledger_core::block::{BlockIndex, BlockType, EncodedBlock};
1212
use ic_ledger_hash_of::{HashOf, HASH_LENGTH};
13+
use ic_ledger_suite_state_machine_tests::archiving::icrc_archives;
1314
use ic_ledger_suite_state_machine_tests::fee_collector::BlockRetrieval;
1415
use ic_ledger_suite_state_machine_tests::in_memory_ledger::verify_ledger_state;
1516
use ic_ledger_suite_state_machine_tests::{
@@ -507,23 +508,31 @@ fn test_icrc21_standard() {
507508

508509
#[test]
509510
fn test_archiving_lots_of_blocks_after_enabling_archiving() {
510-
ic_ledger_suite_state_machine_tests::archiving::archiving_lots_of_blocks_after_enabling_archiving(
511-
ledger_wasm(), encode_init_args
511+
ic_ledger_suite_state_machine_tests::archiving::test_archiving_lots_of_blocks_after_enabling_archiving(
512+
ledger_wasm(), encode_init_args,
513+
icrc_archives,
514+
ic_ledger_suite_state_machine_tests::archiving::query_icrc3_get_blocks,
515+
ic_ledger_suite_state_machine_tests::archiving::query_icrc3_get_blocks,
512516
);
513517
}
514518

515519
#[test]
516520
fn test_archiving_in_chunks_returns_disjoint_block_range_locations() {
517-
ic_ledger_suite_state_machine_tests::archiving::archiving_in_chunks_returns_disjoint_block_range_locations(
518-
ledger_wasm(), encode_init_args
521+
ic_ledger_suite_state_machine_tests::archiving::test_archiving_in_chunks_returns_disjoint_block_range_locations(
522+
ledger_wasm(), encode_init_args,
523+
icrc_archives,
524+
ic_ledger_suite_state_machine_tests::archiving::query_icrc3_get_blocks,
525+
ic_ledger_suite_state_machine_tests::archiving::query_icrc3_get_blocks,
519526
);
520527
}
521528

522529
#[test]
523530
fn test_get_blocks_returns_multiple_archive_callbacks() {
524-
ic_ledger_suite_state_machine_tests::archiving::get_blocks_returns_multiple_archive_callbacks(
531+
ic_ledger_suite_state_machine_tests::archiving::test_get_blocks_returns_multiple_archive_callbacks(
525532
ledger_wasm(),
526533
encode_init_args,
534+
icrc_archives,
535+
ic_ledger_suite_state_machine_tests::archiving::query_icrc3_get_blocks,
527536
);
528537
}
529538

0 commit comments

Comments
 (0)