diff --git a/code/go/0chain.net/blobbercore/datastore/mock_store.go b/code/go/0chain.net/blobbercore/datastore/mock_store.go new file mode 100644 index 000000000..1fa3c4ef3 --- /dev/null +++ b/code/go/0chain.net/blobbercore/datastore/mock_store.go @@ -0,0 +1,32 @@ +package datastore + +import ( + "database/sql" + "github.com/DATA-DOG/go-sqlmock" + "github.com/stretchr/testify/require" + "gorm.io/driver/postgres" + "gorm.io/gorm" + "testing" +) + +func MockTheStore(t *testing.T) sqlmock.Sqlmock { + var db *sql.DB + var mock sqlmock.Sqlmock + var err error + db, mock, err = sqlmock.New() + require.NoError(t, err) + + var dialector = postgres.New(postgres.Config{ + DSN: "sqlmock_db_0", + DriverName: "postgres", + Conn: db, + PreferSimpleProtocol: true, + }) + var gdb *gorm.DB + gdb, err = gorm.Open(dialector, &gorm.Config{}) + require.NoError(t, err) + + setDB(gdb) + + return mock +} diff --git a/code/go/0chain.net/blobbercore/datastore/store.go b/code/go/0chain.net/blobbercore/datastore/store.go index 358ee50fc..6f4de4f3f 100644 --- a/code/go/0chain.net/blobbercore/datastore/store.go +++ b/code/go/0chain.net/blobbercore/datastore/store.go @@ -24,7 +24,7 @@ type Store struct { var store Store -func SetDB(db *gorm.DB) { +func setDB(db *gorm.DB) { store.db = db } diff --git a/code/go/0chain.net/blobbercore/handler/grpc_handler_test.go b/code/go/0chain.net/blobbercore/handler/grpc_handler_test.go index cf5aeeef1..f75fa93ee 100644 --- a/code/go/0chain.net/blobbercore/handler/grpc_handler_test.go +++ b/code/go/0chain.net/blobbercore/handler/grpc_handler_test.go @@ -27,7 +27,6 @@ import ( "google.golang.org/grpc/codes" "google.golang.org/grpc/status" "google.golang.org/grpc/test/bufconn" - "gorm.io/driver/postgres" "gorm.io/gorm" ) @@ -103,23 +102,6 @@ func setupServers(t *testing.T) (serverUr string) { return server.URL } -func setupDB() sqlmock.Sqlmock { - mDB, mock, _ := sqlmock.New() - dialector := postgres.New(postgres.Config{ - DSN: "sqlmock_db_0", - DriverName: "postgres", - Conn: mDB, - PreferSimpleProtocol: true, - }) - db, err := gorm.Open(dialector, &gorm.Config{}) - if err != nil { - panic(err) - } - datastore.SetDB(db) - - return mock -} - func makeTestClient() (blobbergrpc.BlobberClient, *grpc.ClientConn, error) { var ( ctx = context.Background() @@ -316,7 +298,7 @@ func Test_GetAllocation(t *testing.T) { for _, test := range tests { t.Run(test.name, func(t *testing.T) { - mock := setupDB() + var mock = datastore.MockTheStore(t) test.mockSetup(mock) if test.expectCommit { mock.ExpectCommit()