refactor to improve database operability
This commit is contained in:
@@ -18,7 +18,7 @@ func TestCreateGenerator_Success_NoDB(t *testing.T) {
|
||||
DB: nil,
|
||||
DBType: DatabaseType{Type: DatabasePostgreSQL, Version: "15"},
|
||||
TableConfig: DefaultTableConfig(),
|
||||
})
|
||||
}, nil)
|
||||
|
||||
require.NoError(t, err)
|
||||
require.NotNil(t, gen)
|
||||
@@ -33,6 +33,10 @@ func TestCreateGenerator_Success_WithDB(t *testing.T) {
|
||||
config.AutoCreate = false
|
||||
config.EnableAutoCleanup = false
|
||||
|
||||
txGetter := func(ctx context.Context) (DBTransaction, error) {
|
||||
return db.Begin()
|
||||
}
|
||||
|
||||
gen, err := CreateGenerator(GeneratorConfig{
|
||||
AccessExpireAfter: 15,
|
||||
RefreshExpireAfter: 60,
|
||||
@@ -42,7 +46,7 @@ func TestCreateGenerator_Success_WithDB(t *testing.T) {
|
||||
DB: db,
|
||||
DBType: DatabaseType{Type: DatabasePostgreSQL, Version: "15"},
|
||||
TableConfig: config,
|
||||
})
|
||||
}, txGetter)
|
||||
|
||||
require.NoError(t, err)
|
||||
require.NotNil(t, gen)
|
||||
@@ -67,6 +71,10 @@ func TestCreateGenerator_WithDB_AutoCreate(t *testing.T) {
|
||||
mock.ExpectExec("CREATE OR REPLACE FUNCTION cleanup_jwtblacklist").
|
||||
WillReturnResult(sqlmock.NewResult(0, 0))
|
||||
|
||||
txGetter := func(ctx context.Context) (DBTransaction, error) {
|
||||
return db.Begin()
|
||||
}
|
||||
|
||||
gen, err := CreateGenerator(GeneratorConfig{
|
||||
AccessExpireAfter: 15,
|
||||
RefreshExpireAfter: 60,
|
||||
@@ -76,7 +84,7 @@ func TestCreateGenerator_WithDB_AutoCreate(t *testing.T) {
|
||||
DB: db,
|
||||
DBType: DatabaseType{Type: DatabasePostgreSQL, Version: "15"},
|
||||
TableConfig: DefaultTableConfig(),
|
||||
})
|
||||
}, txGetter)
|
||||
|
||||
require.NoError(t, err)
|
||||
require.NotNil(t, gen)
|
||||
@@ -142,7 +150,7 @@ func TestCreateGenerator_InvalidInputs(t *testing.T) {
|
||||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
_, err := CreateGenerator(tt.config)
|
||||
_, err := CreateGenerator(tt.config, nil)
|
||||
require.Error(t, err)
|
||||
})
|
||||
}
|
||||
@@ -158,7 +166,7 @@ func TestCleanup_NoDB(t *testing.T) {
|
||||
DB: nil,
|
||||
DBType: DatabaseType{Type: DatabasePostgreSQL, Version: "15"},
|
||||
TableConfig: DefaultTableConfig(),
|
||||
})
|
||||
}, nil)
|
||||
require.NoError(t, err)
|
||||
|
||||
err = gen.Cleanup(context.Background())
|
||||
@@ -175,6 +183,10 @@ func TestCleanup_Success(t *testing.T) {
|
||||
config.AutoCreate = false
|
||||
config.EnableAutoCleanup = false
|
||||
|
||||
txGetter := func(ctx context.Context) (DBTransaction, error) {
|
||||
return db.Begin()
|
||||
}
|
||||
|
||||
gen, err := CreateGenerator(GeneratorConfig{
|
||||
AccessExpireAfter: 15,
|
||||
RefreshExpireAfter: 60,
|
||||
@@ -184,10 +196,11 @@ func TestCleanup_Success(t *testing.T) {
|
||||
DB: db,
|
||||
DBType: DatabaseType{Type: DatabasePostgreSQL, Version: "15"},
|
||||
TableConfig: config,
|
||||
})
|
||||
}, txGetter)
|
||||
require.NoError(t, err)
|
||||
|
||||
// Mock DELETE query
|
||||
// Mock transaction begin and DELETE query
|
||||
mock.ExpectBegin()
|
||||
mock.ExpectExec("DELETE FROM jwtblacklist WHERE exp").
|
||||
WillReturnResult(sqlmock.NewResult(0, 5))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user