From 710312378a630b16da25c3614049982c9e54512a Mon Sep 17 00:00:00 2001 From: prathamesh0 Date: Mon, 21 Mar 2022 14:34:12 +0530 Subject: [PATCH] Add indexer unit tests for loading watched addresses --- .../indexer/database/file/indexer_test.go | 52 ++++++++++++++++--- .../indexer/database/sql/pgx_indexer_test.go | 52 ++++++++++++++++--- .../indexer/database/sql/sqlx_indexer_test.go | 52 ++++++++++++++++--- 3 files changed, 132 insertions(+), 24 deletions(-) diff --git a/statediff/indexer/database/file/indexer_test.go b/statediff/indexer/database/file/indexer_test.go index 99caa20fcb0f..aa8f059e2171 100644 --- a/statediff/indexer/database/file/indexer_test.go +++ b/statediff/indexer/database/file/indexer_test.go @@ -729,6 +729,18 @@ func TestFileWatchAddressMethods(t *testing.T) { } pgStr := "SELECT * FROM eth_meta.watched_addresses" + t.Run("Load watched addresses (empty table)", func(t *testing.T) { + expectedData := []common.Address{} + + rows, err := ind.LoadWatchedAddresses() + require.NoError(t, err) + + expectTrue(t, len(rows) == len(expectedData)) + for idx, row := range rows { + test_helpers.ExpectEqual(t, row, expectedData[idx]) + } + }) + t.Run("Insert watched addresses", func(t *testing.T) { args := []sdtypes.WatchAddressArg{ { @@ -755,7 +767,8 @@ func TestFileWatchAddressMethods(t *testing.T) { }, } - ind.InsertWatchedAddresses(args, big.NewInt(int64(watchedAt1))) + err = ind.InsertWatchedAddresses(args, big.NewInt(int64(watchedAt1))) + require.NoError(t, err) dumpWatchedAddressesFileData(t) rows := []res{} @@ -802,7 +815,8 @@ func TestFileWatchAddressMethods(t *testing.T) { }, } - ind.InsertWatchedAddresses(args, big.NewInt(int64(watchedAt2))) + err = ind.InsertWatchedAddresses(args, big.NewInt(int64(watchedAt2))) + require.NoError(t, err) dumpWatchedAddressesFileData(t) rows := []res{} @@ -837,7 +851,8 @@ func TestFileWatchAddressMethods(t *testing.T) { }, } - ind.RemoveWatchedAddresses(args) + err = ind.RemoveWatchedAddresses(args) + require.NoError(t, err) dumpWatchedAddressesFileData(t) rows := []res{} @@ -865,7 +880,8 @@ func TestFileWatchAddressMethods(t *testing.T) { } expectedData := []res{} - ind.RemoveWatchedAddresses(args) + err = ind.RemoveWatchedAddresses(args) + require.NoError(t, err) dumpWatchedAddressesFileData(t) rows := []res{} @@ -916,7 +932,8 @@ func TestFileWatchAddressMethods(t *testing.T) { }, } - ind.SetWatchedAddresses(args, big.NewInt(int64(watchedAt2))) + err = ind.SetWatchedAddresses(args, big.NewInt(int64(watchedAt2))) + require.NoError(t, err) dumpWatchedAddressesFileData(t) rows := []res{} @@ -967,7 +984,8 @@ func TestFileWatchAddressMethods(t *testing.T) { }, } - ind.SetWatchedAddresses(args, big.NewInt(int64(watchedAt3))) + err = ind.SetWatchedAddresses(args, big.NewInt(int64(watchedAt3))) + require.NoError(t, err) dumpWatchedAddressesFileData(t) rows := []res{} @@ -982,10 +1000,27 @@ func TestFileWatchAddressMethods(t *testing.T) { } }) + t.Run("Load watched addresses", func(t *testing.T) { + expectedData := []common.Address{ + common.HexToAddress(contract4Address), + common.HexToAddress(contract2Address), + common.HexToAddress(contract3Address), + } + + rows, err := ind.LoadWatchedAddresses() + require.NoError(t, err) + + expectTrue(t, len(rows) == len(expectedData)) + for idx, row := range rows { + test_helpers.ExpectEqual(t, row, expectedData[idx]) + } + }) + t.Run("Clear watched addresses", func(t *testing.T) { expectedData := []res{} - ind.ClearWatchedAddresses() + err = ind.ClearWatchedAddresses() + require.NoError(t, err) dumpWatchedAddressesFileData(t) rows := []res{} @@ -1003,7 +1038,8 @@ func TestFileWatchAddressMethods(t *testing.T) { t.Run("Clear watched addresses (empty table)", func(t *testing.T) { expectedData := []res{} - ind.ClearWatchedAddresses() + err = ind.ClearWatchedAddresses() + require.NoError(t, err) dumpWatchedAddressesFileData(t) rows := []res{} diff --git a/statediff/indexer/database/sql/pgx_indexer_test.go b/statediff/indexer/database/sql/pgx_indexer_test.go index cb7b11f28e39..fef559486e8b 100644 --- a/statediff/indexer/database/sql/pgx_indexer_test.go +++ b/statediff/indexer/database/sql/pgx_indexer_test.go @@ -577,6 +577,18 @@ func TestPGXWatchAddressMethods(t *testing.T) { } pgStr := "SELECT * FROM eth_meta.watched_addresses" + t.Run("Load watched addresses (empty table)", func(t *testing.T) { + expectedData := []common.Address{} + + rows, err := ind.LoadWatchedAddresses() + require.NoError(t, err) + + expectTrue(t, len(rows) == len(expectedData)) + for idx, row := range rows { + test_helpers.ExpectEqual(t, row, expectedData[idx]) + } + }) + t.Run("Insert watched addresses", func(t *testing.T) { args := []sdtypes.WatchAddressArg{ { @@ -603,7 +615,8 @@ func TestPGXWatchAddressMethods(t *testing.T) { }, } - ind.InsertWatchedAddresses(args, big.NewInt(int64(watchedAt1))) + err = ind.InsertWatchedAddresses(args, big.NewInt(int64(watchedAt1))) + require.NoError(t, err) rows := []res{} err = db.Select(context.Background(), &rows, pgStr) @@ -649,7 +662,8 @@ func TestPGXWatchAddressMethods(t *testing.T) { }, } - ind.InsertWatchedAddresses(args, big.NewInt(int64(watchedAt2))) + err = ind.InsertWatchedAddresses(args, big.NewInt(int64(watchedAt2))) + require.NoError(t, err) rows := []res{} err = db.Select(context.Background(), &rows, pgStr) @@ -683,7 +697,8 @@ func TestPGXWatchAddressMethods(t *testing.T) { }, } - ind.RemoveWatchedAddresses(args) + err = ind.RemoveWatchedAddresses(args) + require.NoError(t, err) rows := []res{} err = db.Select(context.Background(), &rows, pgStr) @@ -710,7 +725,8 @@ func TestPGXWatchAddressMethods(t *testing.T) { } expectedData := []res{} - ind.RemoveWatchedAddresses(args) + err = ind.RemoveWatchedAddresses(args) + require.NoError(t, err) rows := []res{} err = db.Select(context.Background(), &rows, pgStr) @@ -760,7 +776,8 @@ func TestPGXWatchAddressMethods(t *testing.T) { }, } - ind.SetWatchedAddresses(args, big.NewInt(int64(watchedAt2))) + err = ind.SetWatchedAddresses(args, big.NewInt(int64(watchedAt2))) + require.NoError(t, err) rows := []res{} err = db.Select(context.Background(), &rows, pgStr) @@ -810,7 +827,8 @@ func TestPGXWatchAddressMethods(t *testing.T) { }, } - ind.SetWatchedAddresses(args, big.NewInt(int64(watchedAt3))) + err = ind.SetWatchedAddresses(args, big.NewInt(int64(watchedAt3))) + require.NoError(t, err) rows := []res{} err = db.Select(context.Background(), &rows, pgStr) @@ -824,10 +842,27 @@ func TestPGXWatchAddressMethods(t *testing.T) { } }) + t.Run("Load watched addresses", func(t *testing.T) { + expectedData := []common.Address{ + common.HexToAddress(contract4Address), + common.HexToAddress(contract2Address), + common.HexToAddress(contract3Address), + } + + rows, err := ind.LoadWatchedAddresses() + require.NoError(t, err) + + expectTrue(t, len(rows) == len(expectedData)) + for idx, row := range rows { + test_helpers.ExpectEqual(t, row, expectedData[idx]) + } + }) + t.Run("Clear watched addresses", func(t *testing.T) { expectedData := []res{} - ind.ClearWatchedAddresses() + err = ind.ClearWatchedAddresses() + require.NoError(t, err) rows := []res{} err = db.Select(context.Background(), &rows, pgStr) @@ -844,7 +879,8 @@ func TestPGXWatchAddressMethods(t *testing.T) { t.Run("Clear watched addresses (empty table)", func(t *testing.T) { expectedData := []res{} - ind.ClearWatchedAddresses() + err = ind.ClearWatchedAddresses() + require.NoError(t, err) rows := []res{} err = db.Select(context.Background(), &rows, pgStr) diff --git a/statediff/indexer/database/sql/sqlx_indexer_test.go b/statediff/indexer/database/sql/sqlx_indexer_test.go index 551597551c17..73309ea7f723 100644 --- a/statediff/indexer/database/sql/sqlx_indexer_test.go +++ b/statediff/indexer/database/sql/sqlx_indexer_test.go @@ -570,6 +570,18 @@ func TestSQLXWatchAddressMethods(t *testing.T) { } pgStr := "SELECT * FROM eth_meta.watched_addresses" + t.Run("Load watched addresses (empty table)", func(t *testing.T) { + expectedData := []common.Address{} + + rows, err := ind.LoadWatchedAddresses() + require.NoError(t, err) + + expectTrue(t, len(rows) == len(expectedData)) + for idx, row := range rows { + test_helpers.ExpectEqual(t, row, expectedData[idx]) + } + }) + t.Run("Insert watched addresses", func(t *testing.T) { args := []sdtypes.WatchAddressArg{ { @@ -596,7 +608,8 @@ func TestSQLXWatchAddressMethods(t *testing.T) { }, } - ind.InsertWatchedAddresses(args, big.NewInt(int64(watchedAt1))) + err = ind.InsertWatchedAddresses(args, big.NewInt(int64(watchedAt1))) + require.NoError(t, err) rows := []res{} err = db.Select(context.Background(), &rows, pgStr) @@ -642,7 +655,8 @@ func TestSQLXWatchAddressMethods(t *testing.T) { }, } - ind.InsertWatchedAddresses(args, big.NewInt(int64(watchedAt2))) + err = ind.InsertWatchedAddresses(args, big.NewInt(int64(watchedAt2))) + require.NoError(t, err) rows := []res{} err = db.Select(context.Background(), &rows, pgStr) @@ -676,7 +690,8 @@ func TestSQLXWatchAddressMethods(t *testing.T) { }, } - ind.RemoveWatchedAddresses(args) + err = ind.RemoveWatchedAddresses(args) + require.NoError(t, err) rows := []res{} err = db.Select(context.Background(), &rows, pgStr) @@ -703,7 +718,8 @@ func TestSQLXWatchAddressMethods(t *testing.T) { } expectedData := []res{} - ind.RemoveWatchedAddresses(args) + err = ind.RemoveWatchedAddresses(args) + require.NoError(t, err) rows := []res{} err = db.Select(context.Background(), &rows, pgStr) @@ -753,7 +769,8 @@ func TestSQLXWatchAddressMethods(t *testing.T) { }, } - ind.SetWatchedAddresses(args, big.NewInt(int64(watchedAt2))) + err = ind.SetWatchedAddresses(args, big.NewInt(int64(watchedAt2))) + require.NoError(t, err) rows := []res{} err = db.Select(context.Background(), &rows, pgStr) @@ -803,7 +820,8 @@ func TestSQLXWatchAddressMethods(t *testing.T) { }, } - ind.SetWatchedAddresses(args, big.NewInt(int64(watchedAt3))) + err = ind.SetWatchedAddresses(args, big.NewInt(int64(watchedAt3))) + require.NoError(t, err) rows := []res{} err = db.Select(context.Background(), &rows, pgStr) @@ -817,10 +835,27 @@ func TestSQLXWatchAddressMethods(t *testing.T) { } }) + t.Run("Load watched addresses", func(t *testing.T) { + expectedData := []common.Address{ + common.HexToAddress(contract4Address), + common.HexToAddress(contract2Address), + common.HexToAddress(contract3Address), + } + + rows, err := ind.LoadWatchedAddresses() + require.NoError(t, err) + + expectTrue(t, len(rows) == len(expectedData)) + for idx, row := range rows { + test_helpers.ExpectEqual(t, row, expectedData[idx]) + } + }) + t.Run("Clear watched addresses", func(t *testing.T) { expectedData := []res{} - ind.ClearWatchedAddresses() + err = ind.ClearWatchedAddresses() + require.NoError(t, err) rows := []res{} err = db.Select(context.Background(), &rows, pgStr) @@ -837,7 +872,8 @@ func TestSQLXWatchAddressMethods(t *testing.T) { t.Run("Clear watched addresses (empty table)", func(t *testing.T) { expectedData := []res{} - ind.ClearWatchedAddresses() + err = ind.ClearWatchedAddresses() + require.NoError(t, err) rows := []res{} err = db.Select(context.Background(), &rows, pgStr)