From f19cea04c4c9712d4811cd37b7f0ad338d6f2ab1 Mon Sep 17 00:00:00 2001 From: Jack Chuma Date: Thu, 21 Nov 2024 17:46:04 -0500 Subject: [PATCH] add mongo client tests --- .../log-fetcher/internal/fetcher/fetcher.go | 2 +- .../log-fetcher/internal/listener/listener.go | 1 - .../internal/store/mongo_client_test.go | 25 +++++++++++++++++++ 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/services/go-filler/log-fetcher/internal/fetcher/fetcher.go b/services/go-filler/log-fetcher/internal/fetcher/fetcher.go index f15bde8..e727084 100644 --- a/services/go-filler/log-fetcher/internal/fetcher/fetcher.go +++ b/services/go-filler/log-fetcher/internal/fetcher/fetcher.go @@ -53,7 +53,7 @@ func Main(ctx *cli.Context) error { log.Crit("Failed to read checkpoint", "error", err) } - l, err := listener.NewListener(chainIdBigInt, cfg.Networks, queue, checkpoint) + l, err := listener.NewListener(chainIdBigInt, cfg.Networks, queue, checkpoint+1) if err != nil { log.Crit("Failed to create listener", "error", err) } diff --git a/services/go-filler/log-fetcher/internal/listener/listener.go b/services/go-filler/log-fetcher/internal/listener/listener.go index b7adaee..128f686 100644 --- a/services/go-filler/log-fetcher/internal/listener/listener.go +++ b/services/go-filler/log-fetcher/internal/listener/listener.go @@ -113,7 +113,6 @@ func pollListener(l *listener) error { for { select { case <-l.pollReqCh: - logger.Info("Running") ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) logIterator, err := l.outbox.FilterCrossChainCallRequested(&bind.FilterOpts{Context: ctx, Start: l.startingBlock}, [][32]byte{}) if err != nil { diff --git a/services/go-filler/log-fetcher/internal/store/mongo_client_test.go b/services/go-filler/log-fetcher/internal/store/mongo_client_test.go index ac2c701..909c776 100644 --- a/services/go-filler/log-fetcher/internal/store/mongo_client_test.go +++ b/services/go-filler/log-fetcher/internal/store/mongo_client_test.go @@ -84,6 +84,31 @@ func TestEnqueueError(t *testing.T) { assert.Error(t, err) } +func TestReadCheckpoint(t *testing.T) { + mockConnection := new(MongoConnectionMock) + queue := &queue{checkpoint: mockConnection} + + mockConnection.On("FindOne", mock.Anything, mock.Anything, mock.Anything).Return(&mongo.SingleResult{}) + + checkpoint, err := queue.ReadCheckpoint("test") + + assert.NoError(t, err) + assert.Equal(t, uint64(0), checkpoint) + mockConnection.AssertExpectations(t) +} + +func TestWriteCheckpoint(t *testing.T) { + mockConnection := new(MongoConnectionMock) + queue := &queue{checkpoint: mockConnection} + + mockConnection.On("UpdateOne", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(&mongo.UpdateResult{}, nil) + + err := queue.WriteCheckpoint("test", 1) + + assert.NoError(t, err) + mockConnection.AssertExpectations(t) +} + func TestClose(t *testing.T) { mockClient := new(MongoClientMock) queue := &queue{client: mockClient}