Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remember to call db.Close and meshdb.Close in tests #308

Merged
merged 1 commit into from Jul 29, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion core/core.go
Expand Up @@ -129,7 +129,7 @@ func New(config Config) (*App, error) {

// Initialize db
databasePath := filepath.Join(config.DataDir, "db")
meshDB, err := meshdb.NewMeshDB(databasePath)
meshDB, err := meshdb.New(databasePath)
if err != nil {
return nil, err
}
Expand Down
3 changes: 2 additions & 1 deletion core/core_test.go
Expand Up @@ -12,8 +12,9 @@ import (
)

func TestEthereumNetworkDetection(t *testing.T) {
meshDB, err := meshdb.NewMeshDB("/tmp/meshdb_testing/" + uuid.New().String())
meshDB, err := meshdb.New("/tmp/meshdb_testing/" + uuid.New().String())
require.NoError(t, err)
defer meshDB.Close()

// simulate starting up on mainnet
err = initNetworkID(1, meshDB)
Expand Down
8 changes: 8 additions & 0 deletions db/collection_test.go
Expand Up @@ -12,6 +12,7 @@ import (
func TestNewCollection(t *testing.T) {
t.Parallel()
db := newTestDB(t)
defer db.Close()
_, err := db.NewCollection("people", &testModel{})
require.NoError(t, err)
_, err = db.NewCollection("people", &testModel{})
Expand All @@ -21,6 +22,7 @@ func TestNewCollection(t *testing.T) {
func TestInsert(t *testing.T) {
t.Parallel()
db := newTestDB(t)
defer db.Close()
col, err := db.NewCollection("people", &testModel{})
require.NoError(t, err)
expected := &testModel{
Expand All @@ -36,6 +38,7 @@ func TestInsert(t *testing.T) {
func TestFindByID(t *testing.T) {
t.Parallel()
db := newTestDB(t)
defer db.Close()
col, err := db.NewCollection("people", &testModel{})
require.NoError(t, err)
expected := &testModel{
Expand All @@ -51,6 +54,7 @@ func TestFindByID(t *testing.T) {
func TestUpdate(t *testing.T) {
t.Parallel()
db := newTestDB(t)
defer db.Close()
col, err := db.NewCollection("people", &testModel{})
require.NoError(t, err)
original := &testModel{
Expand All @@ -71,6 +75,7 @@ func TestUpdate(t *testing.T) {
func TestFindAll(t *testing.T) {
t.Parallel()
db := newTestDB(t)
defer db.Close()
col, err := db.NewCollection("people", &testModel{})
require.NoError(t, err)
expected := []*testModel{}
Expand All @@ -90,6 +95,7 @@ func TestFindAll(t *testing.T) {
func TestCount(t *testing.T) {
t.Parallel()
db := newTestDB(t)
defer db.Close()
col, err := db.NewCollection("people", &testModel{})
require.NoError(t, err)

Expand Down Expand Up @@ -135,6 +141,7 @@ func TestCount(t *testing.T) {
func TestDelete(t *testing.T) {
t.Parallel()
db := newTestDB(t)
defer db.Close()
col, err := db.NewCollection("people", &testModel{})
require.NoError(t, err)
col.AddIndex("age", func(m Model) []byte {
Expand All @@ -161,6 +168,7 @@ func TestDelete(t *testing.T) {
func TestDeleteAfterUpdate(t *testing.T) {
t.Parallel()
db := newTestDB(t)
defer db.Close()
col, err := db.NewCollection("people", &testModel{})
require.NoError(t, err)
col.AddIndex("age", func(m Model) []byte {
Expand Down
1 change: 1 addition & 0 deletions db/escape_test.go
Expand Up @@ -36,6 +36,7 @@ func TestEscapeUnescape(t *testing.T) {
func TestFindWithValueWithEscape(t *testing.T) {
t.Parallel()
db := newTestDB(t)
defer db.Close()
col, err := db.NewCollection("people", &testModel{})
require.NoError(t, err)
ageIndex := col.AddIndex("age", func(m Model) []byte {
Expand Down
3 changes: 3 additions & 0 deletions db/global_transaction_test.go
Expand Up @@ -13,6 +13,7 @@ import (
func TestGlobalTransaction(t *testing.T) {
t.Parallel()
db := newTestDB(t)
defer db.Close()
col0, err := db.NewCollection("people0", &testModel{})
require.NoError(t, err)
col1, err := db.NewCollection("people1", &testModel{})
Expand Down Expand Up @@ -164,6 +165,7 @@ func TestGlobalTransaction(t *testing.T) {
func TestGlobalTransactionCount(t *testing.T) {
t.Parallel()
db := newTestDB(t)
defer db.Close()
col, err := db.NewCollection("people", &testModel{})
require.NoError(t, err)

Expand Down Expand Up @@ -268,6 +270,7 @@ func TestGlobalTransactionCount(t *testing.T) {
func TestGlobalTransactionExclusion(t *testing.T) {
t.Parallel()
db := newTestDB(t)
defer db.Close()
col0, err := db.NewCollection("people0", &testModel{})
require.NoError(t, err)
col1, err := db.NewCollection("people1", &testModel{})
Expand Down
1 change: 1 addition & 0 deletions db/index_test.go
Expand Up @@ -29,6 +29,7 @@ func TestInsertWithIndex(t *testing.T) {
func TestUpdateWithIndex(t *testing.T) {
t.Parallel()
db := newTestDB(t)
defer db.Close()
col, err := db.NewCollection("people", &testModel{})
require.NoError(t, err)
col.AddIndex("age", func(m Model) []byte {
Expand Down
3 changes: 3 additions & 0 deletions db/integrity_check_test.go
Expand Up @@ -19,6 +19,7 @@ func TestIntegrityCheckPass(t *testing.T) {
func TestIntegrityCheckInvalidModelData(t *testing.T) {
t.Parallel()
db, col, models, _ := setUpIntegrityCheckTest(t)
defer db.Close()

// Manually break integrity by storing invalid model data.
keyToChange := col.info.primaryKeyForModel(models[0])
Expand All @@ -30,6 +31,7 @@ func TestIntegrityCheckInvalidModelData(t *testing.T) {
func TestIntegrityCheckIndexKeyWithoutModelData(t *testing.T) {
t.Parallel()
db, col, models, _ := setUpIntegrityCheckTest(t)
defer db.Close()

// Manually break integrity by deleting a primary key.
keyToDelete := col.info.primaryKeyForModel(models[0])
Expand All @@ -41,6 +43,7 @@ func TestIntegrityCheckIndexKeyWithoutModelData(t *testing.T) {
func TestIntegrityCheckModelNotIndexed(t *testing.T) {
t.Parallel()
db, _, models, ageIndex := setUpIntegrityCheckTest(t)
defer db.Close()

// Manually break integrity by deleting an index key.
keyToDelete := ageIndex.keysForModel(models[0])[0]
Expand Down
1 change: 1 addition & 0 deletions db/query_benchmark_test.go
Expand Up @@ -12,6 +12,7 @@ const defaultTargetNickname = "target"
func setupQueryBenchmark(b *testing.B) (db *DB, col *Collection, nicknameIndex *Index) {
b.Helper()
db = newTestDB(b)
defer db.Close()
col, err := db.NewCollection("people", &testModel{})
require.NoError(b, err)
nicknameIndex = col.AddMultiIndex("nicknames", func(m Model) [][]byte {
Expand Down
5 changes: 5 additions & 0 deletions db/query_test.go
Expand Up @@ -12,6 +12,7 @@ import (

func TestQueryWithValue(t *testing.T) {
db := newTestDB(t)
defer db.Close()
col, err := db.NewCollection("people", &testModel{})
require.NoError(t, err)

Expand Down Expand Up @@ -52,6 +53,7 @@ func TestQueryWithValue(t *testing.T) {

func TestQueryWithRange(t *testing.T) {
db := newTestDB(t)
defer db.Close()
col, err := db.NewCollection("people", &testModel{})
require.NoError(t, err)

Expand All @@ -76,6 +78,7 @@ func TestQueryWithRange(t *testing.T) {

func TestQueryWithPrefix(t *testing.T) {
db := newTestDB(t)
defer db.Close()
col, err := db.NewCollection("people", &testModel{})
require.NoError(t, err)

Expand Down Expand Up @@ -134,6 +137,7 @@ func TestQueryWithPrefix(t *testing.T) {

func TestFindWithValueWithMultiIndex(t *testing.T) {
db := newTestDB(t)
defer db.Close()
col, err := db.NewCollection("people", &testModel{})
require.NoError(t, err)
nicknameIndex := col.AddMultiIndex("nicknames", func(m Model) [][]byte {
Expand Down Expand Up @@ -195,6 +199,7 @@ func TestFindWithValueWithMultiIndex(t *testing.T) {

func TestFindWithRangeWithMultiIndex(t *testing.T) {
db := newTestDB(t)
defer db.Close()
col, err := db.NewCollection("people", &testModel{})
require.NoError(t, err)
nicknameIndex := col.AddMultiIndex("nicknames", func(m Model) [][]byte {
Expand Down
1 change: 1 addition & 0 deletions db/snapshot_test.go
Expand Up @@ -12,6 +12,7 @@ import (
func TestSnapshot(t *testing.T) {
t.Parallel()
db := newTestDB(t)
defer db.Close()
col, err := db.NewCollection("people", &testModel{})
require.NoError(t, err)

Expand Down
3 changes: 3 additions & 0 deletions db/transaction_test.go
Expand Up @@ -14,6 +14,7 @@ import (
func TestTransaction(t *testing.T) {
t.Parallel()
db := newTestDB(t)
defer db.Close()
col, err := db.NewCollection("people", &testModel{})
require.NoError(t, err)

Expand Down Expand Up @@ -89,6 +90,7 @@ func TestTransaction(t *testing.T) {
func TestTransactionCount(t *testing.T) {
t.Parallel()
db := newTestDB(t)
defer db.Close()
col, err := db.NewCollection("people", &testModel{})
require.NoError(t, err)

Expand Down Expand Up @@ -193,6 +195,7 @@ func TestTransactionCount(t *testing.T) {
func TestTransactionExclusion(t *testing.T) {
t.Parallel()
db := newTestDB(t)
defer db.Close()
col0, err := db.NewCollection("people0", &testModel{})
require.NoError(t, err)
col1, err := db.NewCollection("people1", &testModel{})
Expand Down
15 changes: 8 additions & 7 deletions ethereum/blockwatch/block_watcher_test.go
Expand Up @@ -32,7 +32,7 @@ func TestWatcher(t *testing.T) {
require.NoError(t, err)

// Polling interval unused because we hijack the ticker for this test
meshDB, err := meshdb.NewMeshDB("/tmp/leveldb_testing/" + uuid.New().String())
meshDB, err := meshdb.New("/tmp/leveldb_testing/" + uuid.New().String())
require.NoError(t, err)
defer meshDB.Close()
config.MeshDB = meshDB
Expand Down Expand Up @@ -77,7 +77,7 @@ func TestWatcherStartStop(t *testing.T) {
fakeClient, err := newFakeClient(basicFakeClientFixture)
require.NoError(t, err)

meshDB, err := meshdb.NewMeshDB("/tmp/leveldb_testing/" + uuid.New().String())
meshDB, err := meshdb.New("/tmp/leveldb_testing/" + uuid.New().String())
require.NoError(t, err)
defer meshDB.Close()
config.MeshDB = meshDB
Expand Down Expand Up @@ -180,7 +180,7 @@ func TestGetSubBlockRanges(t *testing.T) {

fakeClient, err := newFakeClient(basicFakeClientFixture)
require.NoError(t, err)
meshDB, err := meshdb.NewMeshDB("/tmp/leveldb_testing/" + uuid.New().String())
meshDB, err := meshdb.New("/tmp/leveldb_testing/" + uuid.New().String())
require.NoError(t, err)
defer meshDB.Close()
config.MeshDB = meshDB
Expand All @@ -198,7 +198,7 @@ func TestGetMissedEventsToBackfillSomeMissed(t *testing.T) {
fakeClient, err := newFakeClient("testdata/fake_client_fast_sync_fixture.json")
require.NoError(t, err)

meshDB, err := meshdb.NewMeshDB("/tmp/leveldb_testing/" + uuid.New().String())
meshDB, err := meshdb.New("/tmp/leveldb_testing/" + uuid.New().String())
require.NoError(t, err)
defer meshDB.Close()
// Add block number 5 as the last block seen by BlockWatcher
Expand Down Expand Up @@ -230,7 +230,7 @@ func TestGetMissedEventsToBackfillNoneMissed(t *testing.T) {
fakeClient, err := newFakeClient("testdata/fake_client_basic_fixture.json")
require.NoError(t, err)

meshDB, err := meshdb.NewMeshDB("/tmp/leveldb_testing/" + uuid.New().String())
meshDB, err := meshdb.New("/tmp/leveldb_testing/" + uuid.New().String())
require.NoError(t, err)
defer meshDB.Close()
// Add block number 5 as the last block seen by BlockWatcher
Expand Down Expand Up @@ -371,8 +371,9 @@ func TestFilterLogsRecursively(t *testing.T) {
},
}

meshDB, err := meshdb.NewMeshDB("/tmp/leveldb_testing/" + uuid.New().String())
meshDB, err := meshdb.New("/tmp/leveldb_testing/" + uuid.New().String())
require.NoError(t, err)
defer meshDB.Close()
config.MeshDB = meshDB

for _, testCase := range testCases {
Expand Down Expand Up @@ -476,7 +477,7 @@ func TestGetLogsInBlockRange(t *testing.T) {
},
}

meshDB, err := meshdb.NewMeshDB("/tmp/leveldb_testing/" + uuid.New().String())
meshDB, err := meshdb.New("/tmp/leveldb_testing/" + uuid.New().String())
require.NoError(t, err)
defer meshDB.Close()
config.MeshDB = meshDB
Expand Down
4 changes: 2 additions & 2 deletions meshdb/meshdb.go
Expand Up @@ -83,8 +83,8 @@ type MetadataCollection struct {
*db.Collection
}

// NewMeshDB instantiates a new MeshDB instance
func NewMeshDB(path string) (*MeshDB, error) {
// New instantiates a new MeshDB instance
func New(path string) (*MeshDB, error) {
database, err := db.Open(path)
if err != nil {
return nil, err
Expand Down
3 changes: 2 additions & 1 deletion meshdb/meshdb_test.go
Expand Up @@ -16,8 +16,9 @@ import (
)

func TestOrderCRUDOperations(t *testing.T) {
meshDB, err := NewMeshDB("/tmp/meshdb_testing/" + uuid.New().String())
meshDB, err := New("/tmp/meshdb_testing/" + uuid.New().String())
require.NoError(t, err)
defer meshDB.Close()

contractAddresses, err := ethereum.GetContractAddressesForNetworkID(constants.TestNetworkID)
require.NoError(t, err)
Expand Down