123 lines
2.7 KiB
Go
123 lines
2.7 KiB
Go
package dbassert
|
|
|
|
import (
|
|
"testing"
|
|
|
|
dbassert "github.com/hashicorp/dbassert"
|
|
gormAssert "github.com/hashicorp/dbassert/gorm"
|
|
|
|
"github.com/hashicorp/boundary/internal/db"
|
|
"github.com/jinzhu/gorm"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func Test_FieldDomain(t *testing.T) {
|
|
t.Parallel()
|
|
cleanup, conn, _ := dbassert.TestSetup(t, "postgres")
|
|
defer func() {
|
|
if err := cleanup(); err != nil {
|
|
t.Error(err)
|
|
}
|
|
if err := conn.Close(); err != nil {
|
|
t.Error(err)
|
|
}
|
|
}()
|
|
assert := assert.New(t)
|
|
gormDb, err := gorm.Open("postgres", conn)
|
|
assert.NoError(err)
|
|
r := db.New(gormDb)
|
|
mockery := new(dbassert.MockTesting)
|
|
dbassert := New(mockery, r)
|
|
|
|
dbassert.Domain(&gormAssert.TestModel{}, "PublicId", "dbasserts_public_id")
|
|
mockery.AssertNoError(t)
|
|
|
|
mockery.Reset()
|
|
dbassert.Domain(&gormAssert.TestModel{}, "nullable", "dbasserts_public_id")
|
|
mockery.AssertError(t)
|
|
}
|
|
|
|
func Test_FieldNullable(t *testing.T) {
|
|
t.Parallel()
|
|
cleanup, conn, _ := dbassert.TestSetup(t, "postgres")
|
|
defer func() {
|
|
if err := cleanup(); err != nil {
|
|
t.Error(err)
|
|
}
|
|
if err := conn.Close(); err != nil {
|
|
t.Error(err)
|
|
}
|
|
}()
|
|
assert := assert.New(t)
|
|
gormDb, err := gorm.Open("postgres", conn)
|
|
assert.NoError(err)
|
|
r := db.New(gormDb)
|
|
mockery := new(dbassert.MockTesting)
|
|
dbassert := New(mockery, r)
|
|
|
|
dbassert.Nullable(&gormAssert.TestModel{}, "Nullable")
|
|
mockery.AssertNoError(t)
|
|
|
|
mockery.Reset()
|
|
dbassert.Nullable(&gormAssert.TestModel{}, "PublicId")
|
|
mockery.AssertError(t)
|
|
}
|
|
|
|
func Test_FieldIsNull(t *testing.T) {
|
|
t.Parallel()
|
|
cleanup, conn, _ := dbassert.TestSetup(t, "postgres")
|
|
defer func() {
|
|
if err := cleanup(); err != nil {
|
|
t.Error(err)
|
|
}
|
|
if err := conn.Close(); err != nil {
|
|
t.Error(err)
|
|
}
|
|
}()
|
|
assert := assert.New(t)
|
|
gormDb, err := gorm.Open("postgres", conn)
|
|
assert.NoError(err)
|
|
r := db.New(gormDb)
|
|
mockery := new(dbassert.MockTesting)
|
|
dbassert := New(mockery, r)
|
|
|
|
v := 1
|
|
m := gormAssert.CreateTestModel(t, gormDb, nil, &v)
|
|
|
|
dbassert.IsNull(&m, "Nullable")
|
|
mockery.AssertNoError(t)
|
|
|
|
mockery.Reset()
|
|
dbassert.IsNull(&m, "typeint")
|
|
mockery.AssertError(t)
|
|
}
|
|
|
|
func Test_FieldNotNull(t *testing.T) {
|
|
t.Parallel()
|
|
cleanup, conn, _ := dbassert.TestSetup(t, "postgres")
|
|
defer func() {
|
|
if err := cleanup(); err != nil {
|
|
t.Error(err)
|
|
}
|
|
if err := conn.Close(); err != nil {
|
|
t.Error(err)
|
|
}
|
|
}()
|
|
assert := assert.New(t)
|
|
gormDb, err := gorm.Open("postgres", conn)
|
|
assert.NoError(err)
|
|
r := db.New(gormDb)
|
|
mockery := new(dbassert.MockTesting)
|
|
dbassert := New(mockery, r)
|
|
|
|
v := 1
|
|
m := gormAssert.CreateTestModel(t, gormDb, nil, &v)
|
|
|
|
dbassert.NotNull(&m, "Nullable")
|
|
mockery.AssertError(t)
|
|
|
|
mockery.Reset()
|
|
dbassert.NotNull(&m, "typeint")
|
|
mockery.AssertNoError(t)
|
|
}
|