@@ -683,7 +683,8 @@ mod tests {
683683 country:: Country ,
684684 tests:: tests:: {
685685 OTHER_VALID_PAYMENT_ADDRESS_TESTNET , VALID_PAYMENT_ADDRESS_TESTNET , bill_id_test,
686- node_id_test, node_id_test_other, private_key_test, safe_deadline_ts, valid_address,
686+ node_id_test, node_id_test_and_another, node_id_test_other, private_key_test,
687+ safe_deadline_ts, valid_address, valid_and_another_bill_identified_participant,
687688 valid_bill_identified_participant, valid_bill_participant,
688689 valid_other_bill_identified_participant, valid_other_bill_participant,
689690 } ,
@@ -1149,9 +1150,9 @@ mod tests {
11491150 }
11501151
11511152 #[ rstest]
1152- #[ case:: req_to_recourse_not_rejected_but_expired( BillValidateActionData { signer_node_id: node_id_test_other ( ) , timestamp: now( ) . timestamp( ) as u64 + ( RECOURSE_DEADLINE_SECONDS * 2 ) , endorsee_node_id: Some ( node_id_test_other ( ) ) , mode: BillValidationActionMode :: Deep ( BillAction :: RequestRecourse ( valid_bill_identified_participant( ) , RecourseReason :: Accept , safe_deadline_ts( RECOURSE_DEADLINE_SECONDS ) ) ) , ..valid_bill_validate_action_data( add_req_to_accept_block( add_endorse_block( valid_bill_blockchain_issue( valid_bill_issue_block_data( ) , ) , valid_other_bill_identified_participant ( ) , valid_bill_identified_participant( ) ) ) ) } , Ok ( ( ) ) ) ]
1153- #[ case:: req_to_recourse_not_expired_but_rejected( BillValidateActionData { signer_node_id: node_id_test_other ( ) , endorsee_node_id: Some ( node_id_test_other ( ) ) , mode: BillValidationActionMode :: Deep ( BillAction :: RequestRecourse ( valid_bill_identified_participant( ) , RecourseReason :: Accept , safe_deadline_ts( RECOURSE_DEADLINE_SECONDS ) ) ) , ..valid_bill_validate_action_data( add_reject_accept_block( add_req_to_accept_block( add_endorse_block( valid_bill_blockchain_issue( valid_bill_issue_block_data( ) , ) , valid_other_bill_identified_participant ( ) , valid_bill_identified_participant( ) ) ) ) ) } , Ok ( ( ) ) ) ]
1154- #[ case:: req_to_recourse_not_req_to_accept_but_rejected( BillValidateActionData { signer_node_id: node_id_test_other ( ) , endorsee_node_id: Some ( node_id_test_other ( ) ) , mode: BillValidationActionMode :: Deep ( BillAction :: RequestRecourse ( valid_bill_identified_participant( ) , RecourseReason :: Accept , safe_deadline_ts( RECOURSE_DEADLINE_SECONDS ) ) ) , ..valid_bill_validate_action_data( add_reject_accept_block( add_endorse_block( valid_bill_blockchain_issue( valid_bill_issue_block_data( ) , ) , valid_other_bill_identified_participant ( ) , valid_bill_identified_participant( ) ) ) ) } , Ok ( ( ) ) ) ]
1153+ #[ case:: req_to_recourse_not_rejected_but_expired( BillValidateActionData { signer_node_id: node_id_test_and_another ( ) , timestamp: now( ) . timestamp( ) as u64 + ( RECOURSE_DEADLINE_SECONDS * 2 ) , endorsee_node_id: Some ( node_id_test_and_another ( ) ) , mode: BillValidationActionMode :: Deep ( BillAction :: RequestRecourse ( valid_bill_identified_participant( ) , RecourseReason :: Accept , safe_deadline_ts( RECOURSE_DEADLINE_SECONDS ) ) ) , ..valid_bill_validate_action_data( add_req_to_accept_block( add_endorse_block( valid_bill_blockchain_issue( valid_bill_issue_block_data( ) , ) , valid_and_another_bill_identified_participant ( ) , valid_bill_identified_participant( ) ) ) ) } , Ok ( ( ) ) ) ]
1154+ #[ case:: req_to_recourse_not_expired_but_rejected( BillValidateActionData { signer_node_id: node_id_test_and_another ( ) , endorsee_node_id: Some ( node_id_test_and_another ( ) ) , mode: BillValidationActionMode :: Deep ( BillAction :: RequestRecourse ( valid_bill_identified_participant( ) , RecourseReason :: Accept , safe_deadline_ts( RECOURSE_DEADLINE_SECONDS ) ) ) , ..valid_bill_validate_action_data( add_reject_accept_block( add_req_to_accept_block( add_endorse_block( valid_bill_blockchain_issue( valid_bill_issue_block_data( ) , ) , valid_and_another_bill_identified_participant ( ) , valid_bill_identified_participant( ) ) ) ) ) } , Ok ( ( ) ) ) ]
1155+ #[ case:: req_to_recourse_not_req_to_accept_but_rejected( BillValidateActionData { signer_node_id: node_id_test_and_another ( ) , endorsee_node_id: Some ( node_id_test_and_another ( ) ) , mode: BillValidationActionMode :: Deep ( BillAction :: RequestRecourse ( valid_bill_identified_participant( ) , RecourseReason :: Accept , safe_deadline_ts( RECOURSE_DEADLINE_SECONDS ) ) ) , ..valid_bill_validate_action_data( add_reject_accept_block( add_endorse_block( valid_bill_blockchain_issue( valid_bill_issue_block_data( ) , ) , valid_and_another_bill_identified_participant ( ) , valid_bill_identified_participant( ) ) ) ) } , Ok ( ( ) ) ) ]
11551156 fn test_validate_bill_req_to_recourse_accept_valid (
11561157 #[ case] input : BillValidateActionData ,
11571158 #[ case] expected : Result < ( ) , ValidationError > ,
@@ -1166,8 +1167,8 @@ mod tests {
11661167 #[ case:: active_recourse_blocked( BillValidateActionData { mode: BillValidationActionMode :: Deep ( BillAction :: RequestRecourse ( valid_bill_identified_participant( ) , RecourseReason :: Accept , safe_deadline_ts( RECOURSE_DEADLINE_SECONDS ) ) ) , ..valid_bill_validate_action_data( add_req_to_recourse_accept_block( valid_bill_blockchain_issue( valid_bill_issue_block_data( ) , ) ) ) } , Err ( ValidationError :: BillIsInRecourseAndWaitingForPayment ) ) ]
11671168 #[ case:: req_to_recourse_not_holder( BillValidateActionData { mode: BillValidationActionMode :: Deep ( BillAction :: RequestRecourse ( valid_bill_identified_participant( ) , RecourseReason :: Accept , safe_deadline_ts( RECOURSE_DEADLINE_SECONDS ) ) ) , signer_node_id: node_id_test( ) , ..valid_bill_validate_action_data( valid_bill_blockchain_issue( valid_bill_issue_block_data( ) , ) ) } , Err ( ValidationError :: CallerIsNotHolder ) ) ]
11681169 #[ case:: req_to_recourse_not_past_endorsee( BillValidateActionData { endorsee_node_id: Some ( node_id_test( ) ) , mode: BillValidationActionMode :: Deep ( BillAction :: RequestRecourse ( valid_other_bill_identified_participant( ) , RecourseReason :: Accept , safe_deadline_ts( RECOURSE_DEADLINE_SECONDS ) ) ) , ..valid_bill_validate_action_data( add_endorse_block( valid_bill_blockchain_issue( valid_bill_issue_block_data( ) , ) , valid_other_bill_identified_participant( ) , valid_bill_identified_participant( ) ) ) } , Err ( ValidationError :: RecourseeNotPastHolder ) ) ]
1169- #[ case:: req_to_recourse_not_req_to_accept_or_rejected( BillValidateActionData { signer_node_id: node_id_test_other ( ) , endorsee_node_id: Some ( node_id_test_other ( ) ) , mode: BillValidationActionMode :: Deep ( BillAction :: RequestRecourse ( valid_bill_identified_participant( ) , RecourseReason :: Accept , safe_deadline_ts( RECOURSE_DEADLINE_SECONDS ) ) ) , ..valid_bill_validate_action_data( add_endorse_block( valid_bill_blockchain_issue( valid_bill_issue_block_data( ) , ) , valid_other_bill_identified_participant ( ) , valid_bill_identified_participant( ) ) ) } , Err ( ValidationError :: BillRequestToAcceptDidNotExpireAndWasNotRejected ) ) ]
1170- #[ case:: req_to_recourse_not_expired_or_rejected( BillValidateActionData { signer_node_id: node_id_test_other ( ) , endorsee_node_id: Some ( node_id_test_other ( ) ) , mode: BillValidationActionMode :: Deep ( BillAction :: RequestRecourse ( valid_bill_identified_participant( ) , RecourseReason :: Accept , safe_deadline_ts( RECOURSE_DEADLINE_SECONDS ) ) ) , ..valid_bill_validate_action_data( add_req_to_accept_block( add_endorse_block( valid_bill_blockchain_issue( valid_bill_issue_block_data( ) , ) , valid_other_bill_identified_participant ( ) , valid_bill_identified_participant( ) ) ) ) } , Err ( ValidationError :: BillRequestToAcceptDidNotExpireAndWasNotRejected ) ) ]
1170+ #[ case:: req_to_recourse_not_req_to_accept_or_rejected( BillValidateActionData { signer_node_id: node_id_test_and_another ( ) , endorsee_node_id: Some ( node_id_test_and_another ( ) ) , mode: BillValidationActionMode :: Deep ( BillAction :: RequestRecourse ( valid_bill_identified_participant( ) , RecourseReason :: Accept , safe_deadline_ts( RECOURSE_DEADLINE_SECONDS ) ) ) , ..valid_bill_validate_action_data( add_endorse_block( valid_bill_blockchain_issue( valid_bill_issue_block_data( ) , ) , valid_and_another_bill_identified_participant ( ) , valid_bill_identified_participant( ) ) ) } , Err ( ValidationError :: BillRequestToAcceptDidNotExpireAndWasNotRejected ) ) ]
1171+ #[ case:: req_to_recourse_not_expired_or_rejected( BillValidateActionData { signer_node_id: node_id_test_and_another ( ) , endorsee_node_id: Some ( node_id_test_and_another ( ) ) , mode: BillValidationActionMode :: Deep ( BillAction :: RequestRecourse ( valid_bill_identified_participant( ) , RecourseReason :: Accept , safe_deadline_ts( RECOURSE_DEADLINE_SECONDS ) ) ) , ..valid_bill_validate_action_data( add_req_to_accept_block( add_endorse_block( valid_bill_blockchain_issue( valid_bill_issue_block_data( ) , ) , valid_and_another_bill_identified_participant ( ) , valid_bill_identified_participant( ) ) ) ) } , Err ( ValidationError :: BillRequestToAcceptDidNotExpireAndWasNotRejected ) ) ]
11711172 fn test_validate_bill_req_to_recourse_accept_errors (
11721173 #[ case] input : BillValidateActionData ,
11731174 #[ case] expected : Result < ( ) , ValidationError > ,
@@ -1176,8 +1177,8 @@ mod tests {
11761177 }
11771178
11781179 #[ rstest]
1179- #[ case:: req_to_recourse_rejected( BillValidateActionData { signer_node_id: node_id_test_other ( ) , endorsee_node_id: Some ( node_id_test_other ( ) ) , mode: BillValidationActionMode :: Deep ( BillAction :: RequestRecourse ( valid_bill_identified_participant( ) , RecourseReason :: Pay ( 500 , CURRENCY_SAT . into( ) ) , safe_deadline_ts( RECOURSE_DEADLINE_SECONDS ) ) ) , ..valid_bill_validate_action_data( add_reject_pay_block( add_req_to_pay_block( add_endorse_block( valid_bill_blockchain_issue( valid_bill_issue_block_data( ) , ) , valid_other_bill_identified_participant ( ) , valid_bill_identified_participant( ) ) ) ) ) } , Ok ( ( ) ) ) ]
1180- #[ case:: req_to_recourse_expired( BillValidateActionData { signer_node_id: node_id_test_other ( ) , timestamp: now( ) . timestamp( ) as u64 + ( RECOURSE_DEADLINE_SECONDS * 3 ) , endorsee_node_id: Some ( node_id_test_other ( ) ) , mode: BillValidationActionMode :: Deep ( BillAction :: RequestRecourse ( valid_bill_identified_participant( ) , RecourseReason :: Pay ( 500 , CURRENCY_SAT . into( ) ) , safe_deadline_ts( RECOURSE_DEADLINE_SECONDS ) ) ) , ..valid_bill_validate_action_data( add_req_to_pay_block( add_endorse_block( valid_bill_blockchain_issue( valid_bill_issue_block_data( ) , ) , valid_other_bill_identified_participant ( ) , valid_bill_identified_participant( ) ) ) ) } , Ok ( ( ) ) ) ]
1180+ #[ case:: req_to_recourse_rejected( BillValidateActionData { signer_node_id: node_id_test_and_another ( ) , endorsee_node_id: Some ( node_id_test_and_another ( ) ) , mode: BillValidationActionMode :: Deep ( BillAction :: RequestRecourse ( valid_bill_identified_participant( ) , RecourseReason :: Pay ( 500 , CURRENCY_SAT . into( ) ) , safe_deadline_ts( RECOURSE_DEADLINE_SECONDS ) ) ) , ..valid_bill_validate_action_data( add_reject_pay_block( add_req_to_pay_block( add_endorse_block( valid_bill_blockchain_issue( valid_bill_issue_block_data( ) , ) , valid_and_another_bill_identified_participant ( ) , valid_bill_identified_participant( ) ) ) ) ) } , Ok ( ( ) ) ) ]
1181+ #[ case:: req_to_recourse_expired( BillValidateActionData { signer_node_id: node_id_test_and_another ( ) , timestamp: now( ) . timestamp( ) as u64 + ( RECOURSE_DEADLINE_SECONDS * 3 ) , endorsee_node_id: Some ( node_id_test_and_another ( ) ) , mode: BillValidationActionMode :: Deep ( BillAction :: RequestRecourse ( valid_bill_identified_participant( ) , RecourseReason :: Pay ( 500 , CURRENCY_SAT . into( ) ) , safe_deadline_ts( RECOURSE_DEADLINE_SECONDS ) ) ) , ..valid_bill_validate_action_data( add_req_to_pay_block( add_endorse_block( valid_bill_blockchain_issue( valid_bill_issue_block_data( ) , ) , valid_and_another_bill_identified_participant ( ) , valid_bill_identified_participant( ) ) ) ) } , Ok ( ( ) ) ) ]
11811182 fn test_validate_bill_req_to_recourse_payment_valid (
11821183 #[ case] input : BillValidateActionData ,
11831184 #[ case] expected : Result < ( ) , ValidationError > ,
@@ -1193,8 +1194,8 @@ mod tests {
11931194 #[ case:: req_to_recourse_not_holder( BillValidateActionData { mode: BillValidationActionMode :: Deep ( BillAction :: RequestRecourse ( valid_bill_identified_participant( ) , RecourseReason :: Pay ( 500 , CURRENCY_SAT . into( ) ) , safe_deadline_ts( RECOURSE_DEADLINE_SECONDS ) ) ) , signer_node_id: node_id_test( ) , ..valid_bill_validate_action_data( valid_bill_blockchain_issue( valid_bill_issue_block_data( ) , ) ) } , Err ( ValidationError :: CallerIsNotHolder ) ) ]
11941195 #[ case:: req_to_recourse_not_past_endorsee( BillValidateActionData { endorsee_node_id: Some ( node_id_test( ) ) , mode: BillValidationActionMode :: Deep ( BillAction :: RequestRecourse ( valid_other_bill_identified_participant( ) , RecourseReason :: Pay ( 500 , CURRENCY_SAT . into( ) ) , safe_deadline_ts( RECOURSE_DEADLINE_SECONDS ) ) ) , ..valid_bill_validate_action_data( add_endorse_block( valid_bill_blockchain_issue( valid_bill_issue_block_data( ) , ) , valid_other_bill_identified_participant( ) , valid_bill_identified_participant( ) ) ) } , Err ( ValidationError :: RecourseeNotPastHolder ) ) ]
11951196 #[ case:: req_to_recourse_paid( BillValidateActionData { is_paid: true , endorsee_node_id: Some ( node_id_test( ) ) , mode: BillValidationActionMode :: Deep ( BillAction :: RequestRecourse ( valid_other_bill_identified_participant( ) , RecourseReason :: Pay ( 500 , CURRENCY_SAT . into( ) ) , safe_deadline_ts( RECOURSE_DEADLINE_SECONDS ) ) ) , ..valid_bill_validate_action_data( add_endorse_block( add_endorse_block( valid_bill_blockchain_issue( valid_bill_issue_block_data( ) , ) , valid_other_bill_identified_participant( ) , valid_bill_identified_participant( ) ) , valid_bill_identified_participant( ) , valid_other_bill_identified_participant( ) ) ) } , Err ( ValidationError :: BillAlreadyPaid ) ) ]
1196- #[ case:: req_to_recourse_not_req_to_pay( BillValidateActionData { signer_node_id: node_id_test_other ( ) , endorsee_node_id: Some ( node_id_test_other ( ) ) , mode: BillValidationActionMode :: Deep ( BillAction :: RequestRecourse ( valid_bill_identified_participant( ) , RecourseReason :: Pay ( 500 , CURRENCY_SAT . into( ) ) , safe_deadline_ts( RECOURSE_DEADLINE_SECONDS ) ) ) , ..valid_bill_validate_action_data( add_endorse_block( valid_bill_blockchain_issue( valid_bill_issue_block_data( ) , ) , valid_other_bill_identified_participant ( ) , valid_bill_identified_participant( ) ) ) } , Err ( ValidationError :: BillWasNotRequestedToPay ) ) ]
1197- #[ case:: req_to_recourse_not_expired_or_rejected( BillValidateActionData { signer_node_id: node_id_test_other ( ) , endorsee_node_id: Some ( node_id_test_other ( ) ) , mode: BillValidationActionMode :: Deep ( BillAction :: RequestRecourse ( valid_bill_identified_participant( ) , RecourseReason :: Pay ( 500 , CURRENCY_SAT . into( ) ) , safe_deadline_ts( RECOURSE_DEADLINE_SECONDS ) ) ) , ..valid_bill_validate_action_data( add_req_to_pay_block( add_endorse_block( valid_bill_blockchain_issue( valid_bill_issue_block_data( ) , ) , valid_other_bill_identified_participant ( ) , valid_bill_identified_participant( ) ) ) ) } , Err ( ValidationError :: BillIsRequestedToPayAndWaitingForPayment ) ) ]
1197+ #[ case:: req_to_recourse_not_req_to_pay( BillValidateActionData { signer_node_id: node_id_test_and_another ( ) , endorsee_node_id: Some ( node_id_test_and_another ( ) ) , mode: BillValidationActionMode :: Deep ( BillAction :: RequestRecourse ( valid_bill_identified_participant( ) , RecourseReason :: Pay ( 500 , CURRENCY_SAT . into( ) ) , safe_deadline_ts( RECOURSE_DEADLINE_SECONDS ) ) ) , ..valid_bill_validate_action_data( add_endorse_block( valid_bill_blockchain_issue( valid_bill_issue_block_data( ) , ) , valid_and_another_bill_identified_participant ( ) , valid_bill_identified_participant( ) ) ) } , Err ( ValidationError :: BillWasNotRequestedToPay ) ) ]
1198+ #[ case:: req_to_recourse_not_expired_or_rejected( BillValidateActionData { signer_node_id: node_id_test_and_another ( ) , endorsee_node_id: Some ( node_id_test_and_another ( ) ) , mode: BillValidationActionMode :: Deep ( BillAction :: RequestRecourse ( valid_bill_identified_participant( ) , RecourseReason :: Pay ( 500 , CURRENCY_SAT . into( ) ) , safe_deadline_ts( RECOURSE_DEADLINE_SECONDS ) ) ) , ..valid_bill_validate_action_data( add_req_to_pay_block( add_endorse_block( valid_bill_blockchain_issue( valid_bill_issue_block_data( ) , ) , valid_and_another_bill_identified_participant ( ) , valid_bill_identified_participant( ) ) ) ) } , Err ( ValidationError :: BillIsRequestedToPayAndWaitingForPayment ) ) ]
11981199 fn test_validate_bill_req_to_recourse_payment_errors (
11991200 #[ case] input : BillValidateActionData ,
12001201 #[ case] expected : Result < ( ) , ValidationError > ,
0 commit comments