From 59625db3e8656ddcce01a85bfa870387bd490ba0 Mon Sep 17 00:00:00 2001 From: Arni Hod Date: Mon, 22 Jul 2024 13:19:14 +0300 Subject: [PATCH] chore: add declare_tx fixture to compilation tests --- crates/gateway/src/compilation_test.rs | 39 +++++++++++++++----------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/crates/gateway/src/compilation_test.rs b/crates/gateway/src/compilation_test.rs index 639e55d7..277ef786 100644 --- a/crates/gateway/src/compilation_test.rs +++ b/crates/gateway/src/compilation_test.rs @@ -1,7 +1,7 @@ use assert_matches::assert_matches; use blockifier::execution::contract_class::ContractClass; use cairo_lang_starknet_classes::allowed_libfuncs::AllowedLibfuncsError; -use mempool_test_utils::starknet_api_test_utils::declare_tx; +use mempool_test_utils::starknet_api_test_utils::declare_tx as rpc_declare_tx; use rstest::{fixture, rstest}; use starknet_api::core::CompiledClassHash; use starknet_api::rpc_transaction::{RPCDeclareTransaction, RPCTransaction}; @@ -15,13 +15,21 @@ fn gateway_compiler() -> GatewayCompiler { GatewayCompiler { config: Default::default() } } +#[fixture] +fn declare_tx() -> RPCDeclareTransaction { + assert_matches!( + rpc_declare_tx(), + RPCTransaction::Declare(declare_tx) => declare_tx + ) +} + // TODO(Arni): Redesign this test once the compiler is passed with dependancy injection. #[rstest] -fn test_compile_contract_class_compiled_class_hash_mismatch(gateway_compiler: GatewayCompiler) { - let mut tx = assert_matches!( - declare_tx(), - RPCTransaction::Declare(RPCDeclareTransaction::V3(tx)) => tx - ); +fn test_compile_contract_class_compiled_class_hash_mismatch( + gateway_compiler: GatewayCompiler, + declare_tx: RPCDeclareTransaction, +) { + let RPCDeclareTransaction::V3(mut tx) = declare_tx; let expected_hash_result = tx.compiled_class_hash; let supplied_hash = CompiledClassHash::default(); @@ -37,11 +45,11 @@ fn test_compile_contract_class_compiled_class_hash_mismatch(gateway_compiler: Ga } #[rstest] -fn test_compile_contract_class_bad_sierra(gateway_compiler: GatewayCompiler) { - let mut tx = assert_matches!( - declare_tx(), - RPCTransaction::Declare(RPCDeclareTransaction::V3(tx)) => tx - ); +fn test_compile_contract_class_bad_sierra( + gateway_compiler: GatewayCompiler, + declare_tx: RPCDeclareTransaction, +) { + let RPCDeclareTransaction::V3(mut tx) = declare_tx; // Truncate the sierra program to trigger an error. tx.contract_class.sierra_program = tx.contract_class.sierra_program[..100].to_vec(); let declare_tx = RPCDeclareTransaction::V3(tx); @@ -56,11 +64,10 @@ fn test_compile_contract_class_bad_sierra(gateway_compiler: GatewayCompiler) { } #[rstest] -fn test_process_declare_tx_success(gateway_compiler: GatewayCompiler) { - let declare_tx = assert_matches!( - declare_tx(), - RPCTransaction::Declare(declare_tx) => declare_tx - ); +fn test_process_declare_tx_success( + gateway_compiler: GatewayCompiler, + declare_tx: RPCDeclareTransaction, +) { let RPCDeclareTransaction::V3(declare_tx_v3) = &declare_tx; let contract_class = &declare_tx_v3.contract_class;