Skip to content

Commit

Permalink
chore: optimzie interface
Browse files Browse the repository at this point in the history
  • Loading branch information
hwbrzzl committed Feb 7, 2025
1 parent df4e513 commit 94f4255
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 27 deletions.
15 changes: 8 additions & 7 deletions docker.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"fmt"
"time"

"github.com/goravel/framework/contracts/testing"
contractsdocker "github.com/goravel/framework/contracts/testing/docker"
"github.com/goravel/framework/support/color"
"github.com/goravel/framework/support/docker"
"github.com/goravel/framework/support/process"
Expand All @@ -18,7 +18,7 @@ type Docker struct {
containerID string
database string
host string
image *testing.Image
image *contractsdocker.Image
password string
username string
port int
Expand All @@ -40,7 +40,7 @@ func NewDocker(config contracts.ConfigBuilder, database, username, password stri
host: "127.0.0.1",
username: username,
password: password,
image: &testing.Image{
image: &contractsdocker.Image{
Repository: "mysql",
Tag: "latest",
Env: env,
Expand All @@ -65,9 +65,10 @@ func (r *Docker) Build() error {
return nil
}

func (r *Docker) Config() testing.DatabaseConfig {
return testing.DatabaseConfig{
func (r *Docker) Config() contractsdocker.DatabaseConfig {
return contractsdocker.DatabaseConfig{
ContainerID: r.containerID,
Driver: Name,
Host: r.host,
Port: r.port,
Database: r.database,
Expand All @@ -76,7 +77,7 @@ func (r *Docker) Config() testing.DatabaseConfig {
}
}

func (r *Docker) Database(name string) (testing.DatabaseDriver, error) {
func (r *Docker) Database(name string) (contractsdocker.DatabaseDriver, error) {
go func() {
instance, err := r.connect("root")
if err != nil {
Expand Down Expand Up @@ -146,7 +147,7 @@ func (r *Docker) Fresh() error {
return r.close(instance)
}

func (r *Docker) Image(image testing.Image) {
func (r *Docker) Image(image contractsdocker.Image) {
r.image = &image
}

Expand Down
4 changes: 2 additions & 2 deletions docker_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"fmt"
"testing"

contractstesting "github.com/goravel/framework/contracts/testing"
"github.com/goravel/framework/contracts/testing/docker"
"github.com/goravel/framework/mocks/config"
"github.com/goravel/mysql/contracts"
"github.com/stretchr/testify/suite"
Expand Down Expand Up @@ -99,7 +99,7 @@ func (s *DockerTestSuite) TestDatabase() {
}

func (s *DockerTestSuite) TestImage() {
image := contractstesting.Image{
image := docker.Image{
Repository: "mysql",
}
s.docker.Image(image)
Expand Down
9 changes: 4 additions & 5 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ go 1.22.7
toolchain go1.23.4

require (
github.com/goravel/framework v1.15.2-0.20250202111117-cbb806d1e8de
github.com/goravel/framework v1.15.2-0.20250207105840-b8242bc2a853
github.com/spf13/cast v1.7.1
github.com/stretchr/testify v1.10.0
gorm.io/driver/mysql v1.5.7
Expand Down Expand Up @@ -35,19 +35,18 @@ require (
github.com/pterm/pterm v0.12.80 // indirect
github.com/redis/go-redis/v9 v9.7.0 // indirect
github.com/rivo/uniseg v0.4.7 // indirect
github.com/rogpeppe/go-internal v1.13.1 // indirect
github.com/samber/lo v1.49.1 // indirect
github.com/sirupsen/logrus v1.9.3 // indirect
github.com/stretchr/objx v0.5.2 // indirect
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
golang.org/x/exp v0.0.0-20250128182459-e0ece0dbea4c // indirect
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
golang.org/x/exp v0.0.0-20250207012021-f9890c6ad9f3 // indirect
golang.org/x/net v0.34.0 // indirect
golang.org/x/sys v0.29.0 // indirect
golang.org/x/term v0.28.0 // indirect
golang.org/x/text v0.21.0 // indirect
golang.org/x/text v0.22.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250127172529-29210b9bc287 // indirect
google.golang.org/grpc v1.70.0 // indirect
google.golang.org/protobuf v1.36.4 // indirect
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
21 changes: 10 additions & 11 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,8 @@ github.com/gookit/color v1.4.2/go.mod h1:fqRyamkC1W8uxl+lxCQxOT09l/vYfZ+QeiX3rKQ
github.com/gookit/color v1.5.0/go.mod h1:43aQb+Zerm/BWh2GnrgOQm7ffz7tvQXEKV6BFMl7wAo=
github.com/gookit/color v1.5.4 h1:FZmqs7XOyGgCAxmWyPslpiok1k05wmY3SJTytgvYFs0=
github.com/gookit/color v1.5.4/go.mod h1:pZJOeOS8DM43rXbp4AZo1n9zCU2qjpcRko0b6/QJi9w=
github.com/goravel/framework v1.15.2-0.20250202111117-cbb806d1e8de h1:U8dX7nxF+NeB7xgSeYiWMsgy76Qj2ngE79eg+JU6dNA=
github.com/goravel/framework v1.15.2-0.20250202111117-cbb806d1e8de/go.mod h1:2p1D3MvyV+Ft+iC627iQMxzjMDwHGckgy8B+EgtCbqA=
github.com/goravel/framework v1.15.2-0.20250207105840-b8242bc2a853 h1:YXeM98oAluTN83+/7TsYUawTf54cyrVpoEhdo1NqSr8=
github.com/goravel/framework v1.15.2-0.20250207105840-b8242bc2a853/go.mod h1:5Il8ODw11sGkktLaEi1cKHIoI9P//wdcLSGjHGUsK58=
github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E=
github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ=
Expand All @@ -70,7 +70,6 @@ github.com/klauspost/cpuid/v2 v2.0.12/go.mod h1:g2LTdtYhdyuGPqyWyv7qRAmj1WBqxuOb
github.com/klauspost/cpuid/v2 v2.2.9 h1:66ze0taIn2H33fBvCkXuv9BmCwDfafmiIVpKV9kKGuY=
github.com/klauspost/cpuid/v2 v2.2.9/go.mod h1:rqkxqrZ1EhYM9G+hXH7YdowN5R5RGN6NK4QwQ3WMXF8=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
Expand Down Expand Up @@ -125,18 +124,18 @@ go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJyS
go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A=
go.opentelemetry.io/otel v1.33.0 h1:/FerN9bax5LoK51X/sI0SVYrjSE0/yUL7DpxW4K3FWw=
go.opentelemetry.io/otel v1.33.0/go.mod h1:SUUkR6csvUQl+yjReHu5uM3EtVV7MBm5FHKRlNx4I8I=
go.opentelemetry.io/otel/metric v1.33.0 h1:r+JOocAyeRVXD8lZpjdQjzMadVZp2M4WmQ+5WtEnklQ=
go.opentelemetry.io/otel/metric v1.33.0/go.mod h1:L9+Fyctbp6HFTddIxClbQkjtubW6O9QS3Ann/M82u6M=
go.opentelemetry.io/otel/metric v1.32.0 h1:xV2umtmNcThh2/a/aCP+h64Xx5wsj8qqnkYZktzNa0M=
go.opentelemetry.io/otel/metric v1.32.0/go.mod h1:jH7CIbbK6SH2V2wE16W05BHCtIDzauciCRLoc/SyMv8=
go.opentelemetry.io/otel/sdk v1.32.0 h1:RNxepc9vK59A8XsgZQouW8ue8Gkb4jpWtJm9ge5lEG4=
go.opentelemetry.io/otel/sdk v1.32.0/go.mod h1:LqgegDBjKMmb2GC6/PrTnteJG39I8/vJCAP9LlJXEjU=
go.opentelemetry.io/otel/sdk/metric v1.32.0 h1:rZvFnvmvawYb0alrYkjraqJq0Z4ZUJAiyYCU9snn1CU=
go.opentelemetry.io/otel/sdk/metric v1.32.0/go.mod h1:PWeZlq0zt9YkYAp3gjKZ0eicRYvOh1Gd+X99x6GHpCQ=
go.opentelemetry.io/otel/trace v1.33.0 h1:cCJuF7LRjUFso9LPnEAHJDB2pqzp+hbO8eu1qqW2d/s=
go.opentelemetry.io/otel/trace v1.33.0/go.mod h1:uIcdVUZMpTAmz0tI1z04GoVSezK37CbGV4fr1f2nBck=
go.opentelemetry.io/otel/trace v1.32.0 h1:WIC9mYrXf8TmY/EXuULKc8hR17vE+Hjv2cssQDe03fM=
go.opentelemetry.io/otel/trace v1.32.0/go.mod h1:+i4rkvCraA+tG6AzwloGaCtkx53Fa+L+V8e9a7YvhT8=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/exp v0.0.0-20250128182459-e0ece0dbea4c h1:KL/ZBHXgKGVmuZBZ01Lt57yE5ws8ZPSkkihmEyq7FXc=
golang.org/x/exp v0.0.0-20250128182459-e0ece0dbea4c/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU=
golang.org/x/exp v0.0.0-20250207012021-f9890c6ad9f3 h1:qNgPs5exUA+G0C96DrPwNrvLSj7GT/9D+3WMWUcUg34=
golang.org/x/exp v0.0.0-20250207012021-f9890c6ad9f3/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
Expand Down Expand Up @@ -175,8 +174,8 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM=
golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
Expand Down
4 changes: 2 additions & 2 deletions mysql.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import (
"github.com/goravel/framework/contracts/database/driver"
contractsschema "github.com/goravel/framework/contracts/database/schema"
"github.com/goravel/framework/contracts/log"
"github.com/goravel/framework/contracts/testing"
"github.com/goravel/framework/contracts/testing/docker"
"github.com/goravel/framework/errors"
"github.com/goravel/framework/support/str"
"gorm.io/gorm"
Expand Down Expand Up @@ -52,7 +52,7 @@ func (r *Mysql) Config() database.Config {
}
}

func (r *Mysql) Docker() (testing.DatabaseDriver, error) {
func (r *Mysql) Docker() (docker.DatabaseDriver, error) {
writers := r.config.Writes()
if len(writers) == 0 {
return nil, errors.OrmDatabaseConfigNotFound
Expand Down

0 comments on commit 94f4255

Please sign in to comment.