Improve Testing for Insert, add a query function
This commit is contained in:
parent
e3df60c506
commit
07cc0b3b34
@ -534,3 +534,7 @@ func (sdi *StateDiffIndexer) SetWatchedAddresses(args []sdtypes.WatchAddressArg,
|
||||
func (sdi *StateDiffIndexer) ClearWatchedAddresses() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (sdi *StateDiffIndexer) QueryDb(queryString string) (string, error) {
|
||||
return "", nil
|
||||
}
|
||||
|
@ -685,3 +685,16 @@ func (sdi *StateDiffIndexer) ClearWatchedAddresses() error {
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// This is a simple wrapper function which will run QueryRow on the DB
|
||||
func (sdi *StateDiffIndexer) QueryDb(queryString string) (string, error) {
|
||||
var name string
|
||||
err := sdi.dbWriter.db.QueryRow(context.Background(), queryString).Scan(&name)
|
||||
// err := sdi.dbWriter.db.QueryRow(context.Background(), "SELECT ename FROM emp ORDER BY sal DESC LIMIT 1;").Scan(&name)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
fmt.Println(name)
|
||||
|
||||
return name, nil
|
||||
}
|
||||
|
@ -117,22 +117,28 @@ func tearDown(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestKnownGapsUpsert(t *testing.T) {
|
||||
var blockNumber int64 = 111
|
||||
startBlock := big.NewInt(blockNumber)
|
||||
endBlock := big.NewInt(blockNumber + 10)
|
||||
|
||||
var startBlockNumber int64 = 111
|
||||
var endBlockNumber int64 = 121
|
||||
ind, err := setupDb(t)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
require.NoError(t, err)
|
||||
|
||||
testKnownGapsUpsert(t, startBlockNumber, endBlockNumber, ind)
|
||||
//str, err := ind.QueryDb("SELECT MAX(block_number) FROM eth.header_cids") // Figure out the string.
|
||||
queryString := fmt.Sprintf("SELECT starting_block_number from eth.known_gaps WHERE starting_block_number = %d AND ending_block_number = %d", startBlockNumber, endBlockNumber)
|
||||
_, queryErr := ind.QueryDb(queryString) // Figure out the string.
|
||||
require.NoError(t, queryErr)
|
||||
|
||||
}
|
||||
func testKnownGapsUpsert(t *testing.T, startBlockNumber int64, endBlockNumber int64, ind interfaces.StateDiffIndexer) {
|
||||
startBlock := big.NewInt(startBlockNumber)
|
||||
endBlock := big.NewInt(endBlockNumber)
|
||||
|
||||
processGapError := ind.PushKnownGaps(startBlock, endBlock, false, 1)
|
||||
if processGapError != nil {
|
||||
t.Fatal(processGapError)
|
||||
}
|
||||
|
||||
// Read data from the database!
|
||||
// And compare
|
||||
require.NoError(t, processGapError)
|
||||
}
|
||||
|
@ -108,7 +108,8 @@ func (db *DB) InsertKnownGapsStm() string {
|
||||
WHERE eth_meta.known_gaps.ending_block_number <= $2`
|
||||
}
|
||||
|
||||
// InsertKnownGapsStm satisfies the sql.Statements interface
|
||||
func (db *DB) InsertKnownGapsStm() string {
|
||||
return `INSERT INTO eth.known_gaps (starting_block_number, ending_block_number, checked_out, processing_key) VALUES ($1, $2, $3, $4)`
|
||||
return `INSERT INTO eth.known_gaps (starting_block_number, ending_block_number, checked_out, processing_key) VALUES ($1, $2, $3, $4) ON CONFLICT (starting_block_number) DO NOTHING`
|
||||
//return `INSERT INTO eth.known_gaps (starting_block_number, ending_block_number, checked_out, processing_key) VALUES (1, 2, true, 1)`
|
||||
}
|
||||
|
@ -187,6 +187,8 @@ func (w *Writer) upsertStorageCID(tx Tx, storageCID models.StorageNodeModel) err
|
||||
return nil
|
||||
}
|
||||
|
||||
// Upserts known gaps to the DB.
|
||||
// INSERT INTO eth.known_gaps (starting_block_number, ending_block_number, checked_out, processing_key) VALUES ($1, $2, $3, $4)
|
||||
func (w *Writer) upsertKnownGaps(knownGaps models.KnownGapsModel) error {
|
||||
_, err := w.db.Exec(context.Background(), w.db.InsertKnownGapsStm(),
|
||||
knownGaps.StartingBlockNumber, knownGaps.EndingBlockNumber, knownGaps.CheckedOut, knownGaps.ProcessingKey)
|
||||
|
Loading…
Reference in New Issue
Block a user