Skip to content

Commit 434decc

Browse files
committed
fix(aggregator): add missing '00000' immutable files
In artifact built for Cardano database v2.
1 parent 8ff8117 commit 434decc

File tree

1 file changed

+16
-5
lines changed
  • mithril-aggregator/src/artifact_builder/cardano_database_artifacts

1 file changed

+16
-5
lines changed

mithril-aggregator/src/artifact_builder/cardano_database_artifacts/immutable.rs

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -193,8 +193,9 @@ impl ImmutableArtifactBuilder {
193193
) -> StdResult<(Vec<PathBuf>, CompressionAlgorithm)> {
194194
let mut archive_paths = vec![];
195195
let compression_algorithm = self.snapshotter.compression_algorithm();
196+
const FIRST_IMMUTABLE_FILE_NUMBER: ImmutableFileNumber = 0;
196197

197-
for immutable_file_number in 1..=up_to_immutable_file_number {
198+
for immutable_file_number in FIRST_IMMUTABLE_FILE_NUMBER..=up_to_immutable_file_number {
198199
let archive_name_without_extension = format!("{immutable_file_number:05}");
199200
let archive_name = format!(
200201
"{archive_name_without_extension}.{}",
@@ -352,7 +353,7 @@ mod tests {
352353
let work_dir = get_builder_work_dir("upload_call_archive_creation_and_upload");
353354
let test_dir = "upload_call_archive_creation_and_upload/cardano_database";
354355
let cardano_db = DummyCardanoDbBuilder::new(test_dir)
355-
.with_immutables(&[1, 2])
356+
.with_immutables(&[0, 1, 2])
356357
.build();
357358

358359
let db_directory = cardano_db.get_dir().to_path_buf();
@@ -368,6 +369,7 @@ mod tests {
368369

369370
let uploader = fake_uploader(
370371
vec![
372+
work_dir.join("00000.tar.gz").to_str().unwrap(),
371373
work_dir.join("00001.tar.gz").to_str().unwrap(),
372374
work_dir.join("00002.tar.gz").to_str().unwrap(),
373375
],
@@ -444,7 +446,7 @@ mod tests {
444446
let test_dir =
445447
"snapshot_immutables_files_up_to_the_given_immutable_file_number/cardano_database";
446448
let cardano_db = DummyCardanoDbBuilder::new(test_dir)
447-
.with_immutables(&[1, 2])
449+
.with_immutables(&[0, 1, 2])
448450
.build();
449451

450452
let db_directory = cardano_db.get_dir().to_path_buf();
@@ -473,7 +475,11 @@ mod tests {
473475

474476
assert_equivalent(
475477
archive_paths,
476-
vec![work_dir.join("00001.tar.gz"), work_dir.join("00002.tar.gz")],
478+
vec![
479+
work_dir.join("00000.tar.gz"),
480+
work_dir.join("00001.tar.gz"),
481+
work_dir.join("00002.tar.gz"),
482+
],
477483
)
478484
}
479485

@@ -614,7 +620,7 @@ mod tests {
614620
let work_dir = get_builder_work_dir("return_all_archives_but_not_rebuild_archives");
615621
let test_dir = "return_all_archives_but_not_rebuild_archives/cardano_database";
616622
let cardano_db = DummyCardanoDbBuilder::new(test_dir)
617-
.with_immutables(&[1, 2, 3])
623+
.with_immutables(&[0, 1, 2, 3])
618624
.build();
619625

620626
let db_directory = cardano_db.get_dir().to_path_buf();
@@ -628,6 +634,7 @@ mod tests {
628634
)
629635
.unwrap();
630636

637+
create_fake_file(&work_dir.join("00000.tar.gz"), "00000 content");
631638
create_fake_file(&work_dir.join("00001.tar.gz"), "00001 content");
632639
create_fake_file(&work_dir.join("00002.tar.gz"), "00002 content");
633640

@@ -647,12 +654,14 @@ mod tests {
647654
assert_equivalent(
648655
archive_paths,
649656
vec![
657+
work_dir.join("00000.tar.gz"),
650658
work_dir.join("00001.tar.gz"),
651659
work_dir.join("00002.tar.gz"),
652660
work_dir.join("00003.tar.gz"),
653661
],
654662
);
655663
// Check that the existing archives content have not changed
664+
assert_file_content!(work_dir.join("00000.tar.gz"), "00000 content");
656665
assert_file_content!(work_dir.join("00001.tar.gz"), "00001 content");
657666
assert_file_content!(work_dir.join("00002.tar.gz"), "00002 content");
658667
}
@@ -666,6 +675,7 @@ mod tests {
666675
.expect_compression_algorithm()
667676
.returning(|| CompressionAlgorithm::Gzip);
668677

678+
create_fake_file(&work_dir.join("00000.tar.gz"), "00000 content");
669679
create_fake_file(&work_dir.join("00001.tar.gz"), "00001 content");
670680
create_fake_file(&work_dir.join("00002.tar.gz"), "00002 content");
671681
create_fake_file(&work_dir.join("00003.tar.gz"), "00003 content");
@@ -686,6 +696,7 @@ mod tests {
686696
assert_equivalent(
687697
archive_paths,
688698
vec![
699+
work_dir.join("00000.tar.gz"),
689700
work_dir.join("00001.tar.gz"),
690701
work_dir.join("00002.tar.gz"),
691702
work_dir.join("00003.tar.gz"),

0 commit comments

Comments
 (0)