From a47a90e9d3ff75c277bdfc82fd61a85f58a05e35 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 f73056d7b..97b81852e 100644 --- a/statediff/indexer/database/file/indexer_test.go +++ b/statediff/indexer/database/file/indexer_test.go @@ -1107,6 +1107,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{ { @@ -1133,7 +1145,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{} @@ -1180,7 +1193,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{} @@ -1215,7 +1229,8 @@ func TestFileWatchAddressMethods(t *testing.T) { }, } - ind.RemoveWatchedAddresses(args) + err = ind.RemoveWatchedAddresses(args) + require.NoError(t, err) dumpWatchedAddressesFileData(t) rows := []res{} @@ -1243,7 +1258,8 @@ func TestFileWatchAddressMethods(t *testing.T) { } expectedData := []res{} - ind.RemoveWatchedAddresses(args) + err = ind.RemoveWatchedAddresses(args) + require.NoError(t, err) dumpWatchedAddressesFileData(t) rows := []res{} @@ -1294,7 +1310,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{} @@ -1345,7 +1362,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{} @@ -1360,10 +1378,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{} @@ -1381,7 +1416,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 d8e9e251e..0eaace527 100644 --- a/statediff/indexer/database/sql/pgx_indexer_test.go +++ b/statediff/indexer/database/sql/pgx_indexer_test.go @@ -958,6 +958,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{ { @@ -984,7 +996,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) @@ -1030,7 +1043,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) @@ -1064,7 +1078,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) @@ -1091,7 +1106,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) @@ -1141,7 +1157,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) @@ -1191,7 +1208,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) @@ -1205,10 +1223,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) @@ -1225,7 +1260,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 74ec5b8b8..f235fa844 100644 --- a/statediff/indexer/database/sql/sqlx_indexer_test.go +++ b/statediff/indexer/database/sql/sqlx_indexer_test.go @@ -941,6 +941,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{ { @@ -967,7 +979,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) @@ -1013,7 +1026,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) @@ -1047,7 +1061,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) @@ -1074,7 +1089,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) @@ -1124,7 +1140,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) @@ -1174,7 +1191,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) @@ -1188,10 +1206,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) @@ -1208,7 +1243,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)