Skip to content

Commit

Permalink
refactor: merge some .go files (#131)
Browse files Browse the repository at this point in the history
  • Loading branch information
miyamo2 committed Jun 22, 2024
1 parent 5ccb4f0 commit f1bacd7
Show file tree
Hide file tree
Showing 13 changed files with 586 additions and 649 deletions.
12 changes: 0 additions & 12 deletions callbacks_registerer.go

This file was deleted.

22 changes: 0 additions & 22 deletions db_opener.go

This file was deleted.

38 changes: 38 additions & 0 deletions dynmgrm.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@ package dynmgrm

import (
"database/sql"
"errors"
"fmt"
"github.com/btnguyen2k/godynamo"
"gorm.io/gorm/migrator"
"strconv"
"strings"
Expand Down Expand Up @@ -278,3 +280,39 @@ func (dialector Dialector) Migrator(db *gorm.DB) gorm.Migrator {
},
}
}

// Translate it will translate the error to native gorm errors.
func (dialector Dialector) Translate(err error) error {
switch {
case errors.Is(err, godynamo.ErrTxCommitting),
errors.Is(err, godynamo.ErrTxRollingBack),
errors.Is(err, godynamo.ErrInTx),
errors.Is(err, godynamo.ErrInvalidTxStage),
errors.Is(err, godynamo.ErrNoTx):
return gorm.ErrInvalidTransaction
}
return err
}

type dbOpener struct {
dsn string
driverName string
}

func (o dbOpener) DSN() string {
return o.dsn
}

func (o dbOpener) DriverName() string {
return o.driverName
}

func (o dbOpener) Apply() (*sql.DB, error) {
return sql.Open(o.DriverName(), o.DSN())
}

type callbacksRegisterer struct{}

func (c *callbacksRegisterer) Register(db *gorm.DB, config *callbacks.Config) {
callbacks.RegisterDefaultCallbacks(db, config)
}
48 changes: 48 additions & 0 deletions dynmgrm_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package dynmgrm
import (
"database/sql"
"errors"
"github.com/btnguyen2k/godynamo"
"github.com/miyamo2/dynmgrm/internal/mocks"
"go.uber.org/mock/gomock"
"reflect"
Expand Down Expand Up @@ -484,3 +485,50 @@ func TestDialector_Initialize(t *testing.T) {
})
}
}

func TestDialector_Translate(t *testing.T) {
type test struct {
args error
want error
}
errOther := errors.New("other")
tests := map[string]test{
"happy_path/ErrTxCommitting": {
args: godynamo.ErrInTx,
want: gorm.ErrInvalidTransaction,
},
"happy_path/ErrTxRollingBack": {
args: godynamo.ErrTxRollingBack,
want: gorm.ErrInvalidTransaction,
},
"happy_path/ErrInTx": {
args: godynamo.ErrInTx,
want: gorm.ErrInvalidTransaction,
},
"happy_path/ErrInvalidTxStage": {
args: godynamo.ErrInvalidTxStage,
want: gorm.ErrInvalidTransaction,
},
"happy_path/ErrNoTx": {
args: godynamo.ErrNoTx,
want: gorm.ErrInvalidTransaction,
},
"happy_path/other": {
args: errOther,
want: errOther,
},
"happy_path/nil": {
args: nil,
want: nil,
},
}
for name, tt := range tests {
t.Run(name, func(t *testing.T) {
dialector := Dialector{}
err := dialector.Translate(tt.args)
if !errors.Is(err, tt.want) {
t.Errorf("Translate() error = %v, want %v", err, tt.want)
}
})
}
}
22 changes: 0 additions & 22 deletions error_translator.go

This file was deleted.

56 changes: 0 additions & 56 deletions error_translator_test.go

This file was deleted.

9 changes: 0 additions & 9 deletions errors.go

This file was deleted.

113 changes: 0 additions & 113 deletions list_type.go

This file was deleted.

Loading

0 comments on commit f1bacd7

Please sign in to comment.