@@ -403,6 +403,34 @@ func TestWarnStaleWarningCannotParse(t *testing.T) {
403
403
mockFFCAPI .AssertExpectations (t )
404
404
}
405
405
406
+ func TestKnownTransactionHashKnown (t * testing.T ) {
407
+ f , conf := newTestPolicyEngineFactory (t )
408
+ conf .Set (FixedGasPrice , `12345` )
409
+ conf .SubSection (GasOracleConfig ).Set (GasOracleMode , GasOracleModeDisabled )
410
+ p , err := f .NewPolicyEngine (context .Background (), conf )
411
+ assert .NoError (t , err )
412
+
413
+ mtx := & apitypes.ManagedTX {
414
+ TransactionData : "SOME_RAW_TX_BYTES" ,
415
+ PolicyInfo : fftypes .JSONAnyPtr ("!not json!" ),
416
+ TransactionHeaders : ffcapi.TransactionHeaders {
417
+ From : "0x6b7cfa4cf9709d3b3f5f7c22de123d2e16aee712" ,
418
+ },
419
+ TransactionHash : "0x01020304" ,
420
+ }
421
+
422
+ mockFFCAPI := & ffcapimocks.API {}
423
+ mockFFCAPI .On ("TransactionSend" , mock .Anything , mock .Anything ).
424
+ Return (nil , ffcapi .ErrorKnownTransaction , fmt .Errorf ("Known transaction" ))
425
+
426
+ ctx := context .Background ()
427
+ updated , _ , err := p .Execute (ctx , mockFFCAPI , mtx )
428
+ assert .NoError (t , err )
429
+ assert .True (t , updated )
430
+
431
+ mockFFCAPI .AssertExpectations (t )
432
+ }
433
+
406
434
func TestWarnStaleAdditionalWarningResubmitFail (t * testing.T ) {
407
435
f , conf := newTestPolicyEngineFactory (t )
408
436
conf .Set (FixedGasPrice , `12345` )
0 commit comments