From 18c8ae744b3845b652293d150d5af6a847679182 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20B=C3=B6ckli?= Date: Fri, 5 Jan 2024 14:44:42 +0100 Subject: [PATCH] Do not check for expiry when getting hash from memory --- metamorph/processor_response_map.go | 4 -- metamorph/processor_response_map_test.go | 49 +++++++++++++++++------- metamorph/processor_test.go | 14 ------- 3 files changed, 35 insertions(+), 32 deletions(-) diff --git a/metamorph/processor_response_map.go b/metamorph/processor_response_map.go index 51d548eb2..1810d3c97 100644 --- a/metamorph/processor_response_map.go +++ b/metamorph/processor_response_map.go @@ -114,10 +114,6 @@ func (m *ProcessorResponseMap) Get(hash *chainhash.Hash) (*processor_response.Pr return nil, false } - if m.now().Sub(processorResponse.Start) > m.Expiry { - return nil, false - } - return processorResponse, true } diff --git a/metamorph/processor_response_map_test.go b/metamorph/processor_response_map_test.go index 84378a668..467e7e549 100644 --- a/metamorph/processor_response_map_test.go +++ b/metamorph/processor_response_map_test.go @@ -20,21 +20,42 @@ func TestNewProcessorResponseMap(t *testing.T) { assert.Equalf(t, expiry, prm.Expiry, "NewProcessorResponseMap(%v)", expiry) assert.Len(t, prm.ResponseItems, 0) }) +} - t.Run("go routine", func(t *testing.T) { - proc := NewProcessorResponseMap(50 * time.Millisecond) - proc.Set(testdata.TX1Hash, processor_response.NewProcessorResponseWithStatus(testdata.TX1Hash, metamorph_api.Status_SENT_TO_NETWORK)) - item, ok := proc.Get(testdata.TX1Hash) - assert.True(t, ok) - assert.Equal(t, metamorph_api.Status_SENT_TO_NETWORK, item.GetStatus()) - - time.Sleep(100 * time.Millisecond) - - // should be cleaned up - item, ok = proc.Get(testdata.TX1Hash) - assert.False(t, ok) - assert.Nil(t, item) - }) +func TestProcessorResponseMapGet(t *testing.T) { + tt := []struct { + name string + hash *chainhash.Hash + + expectedFound bool + }{ + { + name: "found", + hash: testdata.TX1Hash, + + expectedFound: true, + }, + { + name: "not found", + hash: testdata.TX2Hash, + + expectedFound: false, + }, + } + + for _, tc := range tt { + t.Run(tc.name, func(t *testing.T) { + proc := NewProcessorResponseMap(50 * time.Millisecond) + proc.Set(testdata.TX1Hash, processor_response.NewProcessorResponseWithStatus(testdata.TX1Hash, metamorph_api.Status_SENT_TO_NETWORK)) + + item, ok := proc.Get(tc.hash) + require.Equal(t, tc.expectedFound, ok) + + if tc.expectedFound { + require.Equal(t, metamorph_api.Status_SENT_TO_NETWORK, item.GetStatus()) + } + }) + } } func TestProcessorResponseMap_Clear(t *testing.T) { diff --git a/metamorph/processor_test.go b/metamorph/processor_test.go index 9b44c1e6d..f8a7c8c10 100644 --- a/metamorph/processor_test.go +++ b/metamorph/processor_test.go @@ -184,20 +184,6 @@ func TestLoadUnmined(t *testing.T) { }, getTransactionBlockErr: errors.New("failed to get transaction block"), - expectedItemTxHashesFinal: []*chainhash.Hash{testdata.TX2Hash}, - }, - { - name: "delete expired - deletion fails", - storedData: []*store.StoreData{ - { - StoredAt: storedAt.Add(-400 * time.Hour), - AnnouncedAt: storedAt.Add(1 * time.Second), - Hash: testdata.TX2Hash, - Status: metamorph_api.Status_SEEN_ON_NETWORK, - }, - }, - delErr: errors.New("failed to delete hash"), - expectedItemTxHashesFinal: []*chainhash.Hash{testdata.TX2Hash}, }, }