wrapper for dbasserts (#94)
This commit is contained in:
5 files changed
+238
-3
No files matched your search
@@ -0,0 +1,122 @@
|
||||
package dbassert
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
dbassert "github.com/hashicorp/dbassert"
|
||||
gormAssert "github.com/hashicorp/dbassert/gorm"
|
||||
|
||||
"github.com/hashicorp/watchtower/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)
|
||||
}
|
||||
Reference in new issue
Block a user