github.com/status-im/status-go@v1.1.0/protocol/storenodes/dbhelper_test.go (about)

     1  package storenodes
     2  
     3  import (
     4  	"database/sql"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/require"
     8  
     9  	"github.com/status-im/status-go/appdatabase"
    10  	"github.com/status-im/status-go/eth-node/types"
    11  	"github.com/status-im/status-go/protocol/sqlite"
    12  	"github.com/status-im/status-go/t/helpers"
    13  )
    14  
    15  func setupTestDB(t *testing.T, communityIDs ...types.HexBytes) (*Database, func()) {
    16  	db, cleanup, err := helpers.SetupTestSQLDB(appdatabase.DbInitializer{}, "storenodes-tests-")
    17  	require.NoError(t, err)
    18  
    19  	err = sqlite.Migrate(db)
    20  	require.NoError(t, err)
    21  
    22  	for _, communityID := range communityIDs {
    23  		err = saveTestCommunity(db, communityID)
    24  		require.NoError(t, err)
    25  	}
    26  
    27  	return NewDB(db), func() { require.NoError(t, cleanup()) }
    28  }
    29  
    30  func saveTestCommunity(db *sql.DB, communityID types.HexBytes) error {
    31  	_, err := db.Exec(
    32  		`INSERT INTO communities_communities ("id", "private_key", "description", "joined", "verified", "synced_at", "muted") VALUES (?, ?, ?, ?, ?, ?, ?)`,
    33  		communityID,
    34  		[]byte("private_key"),
    35  		[]byte("description"),
    36  		true,
    37  		true,
    38  		0,
    39  		false,
    40  	)
    41  	return err
    42  }