github.com/goravel/framework@v1.13.9/testing/docker/docker_test.go (about) 1 package docker 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/suite" 7 8 configmocks "github.com/goravel/framework/contracts/config/mocks" 9 foundationmocks "github.com/goravel/framework/contracts/foundation/mocks" 10 ) 11 12 type DockerTestSuite struct { 13 suite.Suite 14 mockApp *foundationmocks.Application 15 docker *Docker 16 } 17 18 func TestDockerTestSuite(t *testing.T) { 19 suite.Run(t, new(DockerTestSuite)) 20 } 21 22 func (s *DockerTestSuite) SetupTest() { 23 s.mockApp = &foundationmocks.Application{} 24 s.docker = NewDocker(s.mockApp) 25 } 26 27 func (s *DockerTestSuite) TestDatabase() { 28 mockConfig := &configmocks.Config{} 29 mockConfig.On("GetString", "database.default").Return("mysql").Once() 30 mockConfig.On("GetString", "database.connections.mysql.driver").Return("mysql").Once() 31 s.mockApp.On("MakeConfig").Return(mockConfig).Once() 32 33 database, err := s.docker.Database() 34 s.Nil(err) 35 s.NotNil(database) 36 databaseImpl := database.(*Database) 37 s.Equal("mysql", databaseImpl.connection) 38 39 mockConfig = &configmocks.Config{} 40 mockConfig.On("GetString", "database.connections.postgresql.driver").Return("postgresql").Once() 41 s.mockApp.On("MakeConfig").Return(mockConfig).Once() 42 43 database, err = s.docker.Database("postgresql") 44 s.Nil(err) 45 s.NotNil(database) 46 databaseImpl = database.(*Database) 47 s.Equal("postgresql", databaseImpl.connection) 48 }