@@ -2,6 +2,7 @@ open Async
22open Core
33open Mina_automation
44open Mina_automation_fixture.Archive
5+ open Common
56
67(* *
78 * Test the basic functionality of the mina archive with mocked deamon
@@ -118,11 +119,8 @@ let test_case (test_data : t) =
118119 let archive_uri = test_data.archive.config.postgres_uri in
119120 let output = test_data.temp_dir in
120121 let % bind precomputed_blocks =
121- Network_data. untar_precomputed_blocks test_data.network_data output
122- in
123- let precomputed_blocks =
124- List. map precomputed_blocks ~f: (fun file -> output ^ " /" ^ file)
125- |> List. filter ~f: (fun file -> String. is_suffix file ~suffix: " .json" )
122+ unpack_precomputed_blocks test_data.network_data
123+ ~temp_dir: test_data.temp_dir
126124 in
127125 let log_file = output ^ " /precomputed_blocks_test.log" in
128126 Archive.Process. start_logging test_data.archive ~log_file ;
@@ -136,32 +134,13 @@ let test_case (test_data : t) =
136134 assert_archived_blocks ~archive_uri
137135 ~expected: (List. length precomputed_blocks)
138136 in
139- let connection = Psql. Conn_str archive_uri in
140- let % bind latest_state_hash =
141- Psql. run_command ~connection
142- " SELECT state_hash FROM blocks ORDER BY id DESC LIMIT 1"
143- in
144- let latest_state_hash =
145- match latest_state_hash with
146- | Ok hash ->
147- hash
148- | Error err ->
149- failwith
150- (" Failed to query latest state hash: " ^ Error. to_string_hum err)
151- in
152- let output_ledger = output ^ " /output_ledger.json" in
153- let replayer = Replayer. default in
154- let % bind replayer_output =
155- Replayer. run replayer ~archive_uri
156- ~input_config:
137+
138+ let % bind () =
139+ assert_replayer_run_against_last_block
140+ ~replayer_input_file_path:
157141 (Network_data. replayer_input_file_path test_data.network_data)
158- ~target_state_hash: latest_state_hash ~interval_checkpoint: 10
159- ~output_ledger ()
142+ archive_uri test_data.temp_dir
160143 in
161- let () = print_endline replayer_output in
162- let output_ledger = Replayer.Output. of_json_file_exn output_ledger in
163- assert (
164- String. equal output_ledger.target_epoch_ledgers_state_hash latest_state_hash ) ;
165144
166145 let % bind perf_data = extract_perf_metrics log_file in
167146 perf_metrics_to_yojson perf_data |> Yojson. to_file " archive.perf" ;
0 commit comments