Use testify/require instead of testify/assert for tests.
This commit is contained in:
parent
ebcbadef24
commit
5d742837f1
32 changed files with 581 additions and 589 deletions
16
internal/3rdparty/snaker/snaker_test.go
vendored
16
internal/3rdparty/snaker/snaker_test.go
vendored
|
|
@ -1,16 +1,16 @@
|
||||||
package snaker
|
package snaker
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/require"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestSnakeToCamel(t *testing.T) {
|
func TestSnakeToCamel(t *testing.T) {
|
||||||
assert.Equal(t, SnakeToCamel(""), "")
|
require.Equal(t, SnakeToCamel(""), "")
|
||||||
assert.Equal(t, SnakeToCamel("potato_"), "Potato")
|
require.Equal(t, SnakeToCamel("potato_"), "Potato")
|
||||||
assert.Equal(t, SnakeToCamel("this_has_to_be_uppercased"), "ThisHasToBeUppercased")
|
require.Equal(t, SnakeToCamel("this_has_to_be_uppercased"), "ThisHasToBeUppercased")
|
||||||
assert.Equal(t, SnakeToCamel("this_is_an_id"), "ThisIsAnID")
|
require.Equal(t, SnakeToCamel("this_is_an_id"), "ThisIsAnID")
|
||||||
assert.Equal(t, SnakeToCamel("this_is_an_identifier"), "ThisIsAnIdentifier")
|
require.Equal(t, SnakeToCamel("this_is_an_identifier"), "ThisIsAnIdentifier")
|
||||||
assert.Equal(t, SnakeToCamel("id"), "ID")
|
require.Equal(t, SnakeToCamel("id"), "ID")
|
||||||
assert.Equal(t, SnakeToCamel("oauth_client"), "OAuthClient")
|
require.Equal(t, SnakeToCamel("oauth_client"), "OAuthClient")
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,14 @@
|
||||||
package jet
|
package jet
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/require"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestClauseSelect_Serialize(t *testing.T) {
|
func TestClauseSelect_Serialize(t *testing.T) {
|
||||||
defer func() {
|
defer func() {
|
||||||
r := recover()
|
r := recover()
|
||||||
assert.Equal(t, r, "jet: SELECT clause has to have at least one projection")
|
require.Equal(t, r, "jet: SELECT clause has to have at least one projection")
|
||||||
}()
|
}()
|
||||||
|
|
||||||
selectClause := &ClauseSelect{}
|
selectClause := &ClauseSelect{}
|
||||||
|
|
|
||||||
|
|
@ -2,40 +2,40 @@ package jet
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/google/uuid"
|
"github.com/google/uuid"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/require"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestArgToString(t *testing.T) {
|
func TestArgToString(t *testing.T) {
|
||||||
assert.Equal(t, argToString(true), "TRUE")
|
require.Equal(t, argToString(true), "TRUE")
|
||||||
assert.Equal(t, argToString(false), "FALSE")
|
require.Equal(t, argToString(false), "FALSE")
|
||||||
|
|
||||||
assert.Equal(t, argToString(int(-32)), "-32")
|
require.Equal(t, argToString(int(-32)), "-32")
|
||||||
assert.Equal(t, argToString(uint(32)), "32")
|
require.Equal(t, argToString(uint(32)), "32")
|
||||||
assert.Equal(t, argToString(int8(-43)), "-43")
|
require.Equal(t, argToString(int8(-43)), "-43")
|
||||||
assert.Equal(t, argToString(uint8(43)), "43")
|
require.Equal(t, argToString(uint8(43)), "43")
|
||||||
assert.Equal(t, argToString(int16(-54)), "-54")
|
require.Equal(t, argToString(int16(-54)), "-54")
|
||||||
assert.Equal(t, argToString(uint16(54)), "54")
|
require.Equal(t, argToString(uint16(54)), "54")
|
||||||
assert.Equal(t, argToString(int32(-65)), "-65")
|
require.Equal(t, argToString(int32(-65)), "-65")
|
||||||
assert.Equal(t, argToString(uint32(65)), "65")
|
require.Equal(t, argToString(uint32(65)), "65")
|
||||||
assert.Equal(t, argToString(int64(-64)), "-64")
|
require.Equal(t, argToString(int64(-64)), "-64")
|
||||||
assert.Equal(t, argToString(uint64(64)), "64")
|
require.Equal(t, argToString(uint64(64)), "64")
|
||||||
assert.Equal(t, argToString(float32(2.0)), "2")
|
require.Equal(t, argToString(float32(2.0)), "2")
|
||||||
assert.Equal(t, argToString(float64(1.11)), "1.11")
|
require.Equal(t, argToString(float64(1.11)), "1.11")
|
||||||
|
|
||||||
assert.Equal(t, argToString("john"), "'john'")
|
require.Equal(t, argToString("john"), "'john'")
|
||||||
assert.Equal(t, argToString("It's text"), "'It''s text'")
|
require.Equal(t, argToString("It's text"), "'It''s text'")
|
||||||
assert.Equal(t, argToString([]byte("john")), "'john'")
|
require.Equal(t, argToString([]byte("john")), "'john'")
|
||||||
assert.Equal(t, argToString(uuid.MustParse("b68dbff4-a87d-11e9-a7f2-98ded00c39c6")), "'b68dbff4-a87d-11e9-a7f2-98ded00c39c6'")
|
require.Equal(t, argToString(uuid.MustParse("b68dbff4-a87d-11e9-a7f2-98ded00c39c6")), "'b68dbff4-a87d-11e9-a7f2-98ded00c39c6'")
|
||||||
|
|
||||||
time, err := time.Parse("Mon Jan 2 15:04:05 -0700 MST 2006", "Mon Jan 2 15:04:05 -0700 MST 2006")
|
time, err := time.Parse("Mon Jan 2 15:04:05 -0700 MST 2006", "Mon Jan 2 15:04:05 -0700 MST 2006")
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, argToString(time), "'2006-01-02 15:04:05-07:00'")
|
require.Equal(t, argToString(time), "'2006-01-02 15:04:05-07:00'")
|
||||||
|
|
||||||
func() {
|
func() {
|
||||||
defer func() {
|
defer func() {
|
||||||
assert.Equal(t, recover().(string), "jet: map[string]bool type can not be used as SQL query parameter")
|
require.Equal(t, recover().(string), "jet: map[string]bool type can not be used as SQL query parameter")
|
||||||
}()
|
}()
|
||||||
|
|
||||||
argToString(map[string]bool{})
|
argToString(map[string]bool{})
|
||||||
|
|
@ -43,7 +43,7 @@ func TestArgToString(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestFallTrough(t *testing.T) {
|
func TestFallTrough(t *testing.T) {
|
||||||
assert.Equal(t, FallTrough([]SerializeOption{ShortName}), []SerializeOption{ShortName})
|
require.Equal(t, FallTrough([]SerializeOption{ShortName}), []SerializeOption{ShortName})
|
||||||
assert.Equal(t, FallTrough([]SerializeOption{SkipNewLine}), []SerializeOption(nil))
|
require.Equal(t, FallTrough([]SerializeOption{SkipNewLine}), []SerializeOption(nil))
|
||||||
assert.Equal(t, FallTrough([]SerializeOption{ShortName, SkipNewLine}), []SerializeOption{ShortName})
|
require.Equal(t, FallTrough([]SerializeOption{ShortName, SkipNewLine}), []SerializeOption{ShortName})
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,18 @@
|
||||||
package jet
|
package jet
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/require"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestNewTable(t *testing.T) {
|
func TestNewTable(t *testing.T) {
|
||||||
newTable := NewTable("schema", "table", IntegerColumn("intCol"))
|
newTable := NewTable("schema", "table", IntegerColumn("intCol"))
|
||||||
|
|
||||||
assert.Equal(t, newTable.SchemaName(), "schema")
|
require.Equal(t, newTable.SchemaName(), "schema")
|
||||||
assert.Equal(t, newTable.TableName(), "table")
|
require.Equal(t, newTable.TableName(), "table")
|
||||||
|
|
||||||
assert.Equal(t, len(newTable.columns()), 1)
|
require.Equal(t, len(newTable.columns()), 1)
|
||||||
assert.Equal(t, newTable.columns()[0].Name(), "intCol")
|
require.Equal(t, newTable.columns()[0].Name(), "intCol")
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestNewJoinTable(t *testing.T) {
|
func TestNewJoinTable(t *testing.T) {
|
||||||
|
|
@ -24,10 +24,10 @@ func TestNewJoinTable(t *testing.T) {
|
||||||
assertClauseSerialize(t, joinTable, `schema.table
|
assertClauseSerialize(t, joinTable, `schema.table
|
||||||
INNER JOIN schema.table2 ON ("intCol1" = "intCol2")`)
|
INNER JOIN schema.table2 ON ("intCol1" = "intCol2")`)
|
||||||
|
|
||||||
assert.Equal(t, joinTable.SchemaName(), "schema")
|
require.Equal(t, joinTable.SchemaName(), "schema")
|
||||||
assert.Equal(t, joinTable.TableName(), "")
|
require.Equal(t, joinTable.TableName(), "")
|
||||||
|
|
||||||
assert.Equal(t, len(joinTable.columns()), 2)
|
require.Equal(t, len(joinTable.columns()), 2)
|
||||||
assert.Equal(t, joinTable.columns()[0].Name(), "intCol1")
|
require.Equal(t, joinTable.columns()[0].Name(), "intCol1")
|
||||||
assert.Equal(t, joinTable.columns()[1].Name(), "intCol2")
|
require.Equal(t, joinTable.columns()[1].Name(), "intCol2")
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package jet
|
package jet
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/require"
|
||||||
"strconv"
|
"strconv"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
@ -56,14 +56,14 @@ func assertClauseSerialize(t *testing.T, clause Serializer, query string, args .
|
||||||
|
|
||||||
//fmt.Println(out.Buff.String())
|
//fmt.Println(out.Buff.String())
|
||||||
|
|
||||||
assert.Equal(t, out.Buff.String(), query)
|
require.Equal(t, out.Buff.String(), query)
|
||||||
assert.Equal(t, out.Args, args)
|
require.Equal(t, out.Args, args)
|
||||||
}
|
}
|
||||||
|
|
||||||
func assertClauseSerializeErr(t *testing.T, clause Serializer, errString string) {
|
func assertClauseSerializeErr(t *testing.T, clause Serializer, errString string) {
|
||||||
defer func() {
|
defer func() {
|
||||||
r := recover()
|
r := recover()
|
||||||
assert.Equal(t, r, errString)
|
require.Equal(t, r, errString)
|
||||||
}()
|
}()
|
||||||
|
|
||||||
out := SQLBuilder{Dialect: defaultDialect}
|
out := SQLBuilder{Dialect: defaultDialect}
|
||||||
|
|
@ -76,14 +76,14 @@ func assertClauseDebugSerialize(t *testing.T, clause Serializer, query string, a
|
||||||
|
|
||||||
//fmt.Println(out.Buff.String())
|
//fmt.Println(out.Buff.String())
|
||||||
|
|
||||||
assert.Equal(t, out.Buff.String(), query)
|
require.Equal(t, out.Buff.String(), query)
|
||||||
assert.Equal(t, out.Args, args)
|
require.Equal(t, out.Args, args)
|
||||||
}
|
}
|
||||||
|
|
||||||
func assertProjectionSerialize(t *testing.T, projection Projection, query string, args ...interface{}) {
|
func assertProjectionSerialize(t *testing.T, projection Projection, query string, args ...interface{}) {
|
||||||
out := SQLBuilder{Dialect: defaultDialect}
|
out := SQLBuilder{Dialect: defaultDialect}
|
||||||
projection.serializeForProjection(SelectStatementType, &out)
|
projection.serializeForProjection(SelectStatementType, &out)
|
||||||
|
|
||||||
assert.Equal(t, out.Buff.String(), query)
|
require.Equal(t, out.Buff.String(), query)
|
||||||
assert.Equal(t, out.Args, args)
|
require.Equal(t, out.Args, args)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,19 @@
|
||||||
package jet
|
package jet
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/require"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestOptionalOrDefaultString(t *testing.T) {
|
func TestOptionalOrDefaultString(t *testing.T) {
|
||||||
assert.Equal(t, OptionalOrDefaultString("default"), "default")
|
require.Equal(t, OptionalOrDefaultString("default"), "default")
|
||||||
assert.Equal(t, OptionalOrDefaultString("default", "optional"), "optional")
|
require.Equal(t, OptionalOrDefaultString("default", "optional"), "optional")
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestOptionalOrDefaultExpression(t *testing.T) {
|
func TestOptionalOrDefaultExpression(t *testing.T) {
|
||||||
defaultExpression := table2ColFloat
|
defaultExpression := table2ColFloat
|
||||||
optionalExpression := table1Col1
|
optionalExpression := table1Col1
|
||||||
|
|
||||||
assert.Equal(t, OptionalOrDefaultExpression(defaultExpression), defaultExpression)
|
require.Equal(t, OptionalOrDefaultExpression(defaultExpression), defaultExpression)
|
||||||
assert.Equal(t, OptionalOrDefaultExpression(defaultExpression, optionalExpression), optionalExpression)
|
require.Equal(t, OptionalOrDefaultExpression(defaultExpression, optionalExpression), optionalExpression)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,6 @@ import (
|
||||||
"github.com/go-jet/jet/internal/utils"
|
"github.com/go-jet/jet/internal/utils"
|
||||||
"github.com/go-jet/jet/qrm"
|
"github.com/go-jet/jet/qrm"
|
||||||
"github.com/google/uuid"
|
"github.com/google/uuid"
|
||||||
"github.com/stretchr/testify/assert"
|
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"os"
|
"os"
|
||||||
|
|
@ -37,7 +36,7 @@ func AssertExec(t *testing.T, stmt jet.Statement, db qrm.DB, rowsAffected ...int
|
||||||
func AssertExecErr(t *testing.T, stmt jet.Statement, db qrm.DB, errorStr string) {
|
func AssertExecErr(t *testing.T, stmt jet.Statement, db qrm.DB, errorStr string) {
|
||||||
_, err := stmt.Exec(db)
|
_, err := stmt.Exec(db)
|
||||||
|
|
||||||
assert.Error(t, err, errorStr)
|
require.Error(t, err, errorStr)
|
||||||
}
|
}
|
||||||
|
|
||||||
func getFullPath(relativePath string) string {
|
func getFullPath(relativePath string) string {
|
||||||
|
|
@ -54,9 +53,9 @@ func PrintJson(v interface{}) {
|
||||||
// AssertJSON check if data json output is the same as expectedJSON
|
// AssertJSON check if data json output is the same as expectedJSON
|
||||||
func AssertJSON(t *testing.T, data interface{}, expectedJSON string) {
|
func AssertJSON(t *testing.T, data interface{}, expectedJSON string) {
|
||||||
jsonData, err := json.MarshalIndent(data, "", "\t")
|
jsonData, err := json.MarshalIndent(data, "", "\t")
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
assert.Equal(t, "\n"+string(jsonData)+"\n", expectedJSON)
|
require.Equal(t, "\n"+string(jsonData)+"\n", expectedJSON)
|
||||||
}
|
}
|
||||||
|
|
||||||
// SaveJSONFile saves v as json at testRelativePath
|
// SaveJSONFile saves v as json at testRelativePath
|
||||||
|
|
@ -74,23 +73,23 @@ func AssertJSONFile(t *testing.T, data interface{}, testRelativePath string) {
|
||||||
|
|
||||||
filePath := getFullPath(testRelativePath)
|
filePath := getFullPath(testRelativePath)
|
||||||
fileJSONData, err := ioutil.ReadFile(filePath)
|
fileJSONData, err := ioutil.ReadFile(filePath)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
if runtime.GOOS == "windows" {
|
if runtime.GOOS == "windows" {
|
||||||
fileJSONData = bytes.Replace(fileJSONData, []byte("\r\n"), []byte("\n"), -1)
|
fileJSONData = bytes.Replace(fileJSONData, []byte("\r\n"), []byte("\n"), -1)
|
||||||
}
|
}
|
||||||
|
|
||||||
jsonData, err := json.MarshalIndent(data, "", "\t")
|
jsonData, err := json.MarshalIndent(data, "", "\t")
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
assert.True(t, string(fileJSONData) == string(jsonData))
|
require.True(t, string(fileJSONData) == string(jsonData))
|
||||||
//AssertDeepEqual(t, string(fileJSONData), string(jsonData))
|
//AssertDeepEqual(t, string(fileJSONData), string(jsonData))
|
||||||
}
|
}
|
||||||
|
|
||||||
// AssertStatementSql check if statement Sql() is the same as expectedQuery and expectedArgs
|
// AssertStatementSql check if statement Sql() is the same as expectedQuery and expectedArgs
|
||||||
func AssertStatementSql(t *testing.T, query jet.Statement, expectedQuery string, expectedArgs ...interface{}) {
|
func AssertStatementSql(t *testing.T, query jet.Statement, expectedQuery string, expectedArgs ...interface{}) {
|
||||||
queryStr, args := query.Sql()
|
queryStr, args := query.Sql()
|
||||||
assert.Equal(t, queryStr, expectedQuery)
|
require.Equal(t, queryStr, expectedQuery)
|
||||||
|
|
||||||
if len(expectedArgs) == 0 {
|
if len(expectedArgs) == 0 {
|
||||||
return
|
return
|
||||||
|
|
@ -102,7 +101,7 @@ func AssertStatementSql(t *testing.T, query jet.Statement, expectedQuery string,
|
||||||
func AssertStatementSqlErr(t *testing.T, stmt jet.Statement, errorStr string) {
|
func AssertStatementSqlErr(t *testing.T, stmt jet.Statement, errorStr string) {
|
||||||
defer func() {
|
defer func() {
|
||||||
r := recover()
|
r := recover()
|
||||||
assert.Equal(t, r, errorStr)
|
require.Equal(t, r, errorStr)
|
||||||
}()
|
}()
|
||||||
|
|
||||||
stmt.Sql()
|
stmt.Sql()
|
||||||
|
|
@ -162,7 +161,7 @@ func AssertDebugSerialize(t *testing.T, dialect jet.Dialect, clause jet.Serializ
|
||||||
func AssertPanicErr(t *testing.T, fun func(), errorStr string) {
|
func AssertPanicErr(t *testing.T, fun func(), errorStr string) {
|
||||||
defer func() {
|
defer func() {
|
||||||
r := recover()
|
r := recover()
|
||||||
assert.Equal(t, r, errorStr)
|
require.Equal(t, r, errorStr)
|
||||||
}()
|
}()
|
||||||
|
|
||||||
fun()
|
fun()
|
||||||
|
|
@ -172,7 +171,7 @@ func AssertPanicErr(t *testing.T, fun func(), errorStr string) {
|
||||||
func AssertSerializeErr(t *testing.T, dialect jet.Dialect, clause jet.Serializer, errString string) {
|
func AssertSerializeErr(t *testing.T, dialect jet.Dialect, clause jet.Serializer, errString string) {
|
||||||
defer func() {
|
defer func() {
|
||||||
r := recover()
|
r := recover()
|
||||||
assert.Equal(t, r, errString)
|
require.Equal(t, r, errString)
|
||||||
}()
|
}()
|
||||||
|
|
||||||
out := jet.SQLBuilder{Dialect: dialect}
|
out := jet.SQLBuilder{Dialect: dialect}
|
||||||
|
|
@ -192,7 +191,7 @@ func AssertProjectionSerialize(t *testing.T, dialect jet.Dialect, projection jet
|
||||||
func AssertQueryPanicErr(t *testing.T, stmt jet.Statement, db qrm.DB, dest interface{}, errString string) {
|
func AssertQueryPanicErr(t *testing.T, stmt jet.Statement, db qrm.DB, dest interface{}, errString string) {
|
||||||
defer func() {
|
defer func() {
|
||||||
r := recover()
|
r := recover()
|
||||||
assert.Equal(t, r, errString)
|
require.Equal(t, r, errString)
|
||||||
}()
|
}()
|
||||||
|
|
||||||
stmt.Query(db, dest)
|
stmt.Query(db, dest)
|
||||||
|
|
@ -209,7 +208,7 @@ func AssertFileContent(t *testing.T, filePath string, expectedContent string) {
|
||||||
|
|
||||||
// AssertFileNamesEqual check if all filesInfos are contained in fileNames
|
// AssertFileNamesEqual check if all filesInfos are contained in fileNames
|
||||||
func AssertFileNamesEqual(t *testing.T, fileInfos []os.FileInfo, fileNames ...string) {
|
func AssertFileNamesEqual(t *testing.T, fileInfos []os.FileInfo, fileNames ...string) {
|
||||||
assert.Equal(t, len(fileInfos), len(fileNames))
|
require.Equal(t, len(fileInfos), len(fileNames))
|
||||||
|
|
||||||
fileNamesMap := map[string]bool{}
|
fileNamesMap := map[string]bool{}
|
||||||
|
|
||||||
|
|
@ -218,7 +217,7 @@ func AssertFileNamesEqual(t *testing.T, fileInfos []os.FileInfo, fileNames ...st
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, fileName := range fileNames {
|
for _, fileName := range fileNames {
|
||||||
assert.True(t, fileNamesMap[fileName], fileName+" does not exist.")
|
require.True(t, fileNamesMap[fileName], fileName+" does not exist.")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,32 +2,32 @@ package utils
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/require"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestToGoIdentifier(t *testing.T) {
|
func TestToGoIdentifier(t *testing.T) {
|
||||||
assert.Equal(t, ToGoIdentifier(""), "")
|
require.Equal(t, ToGoIdentifier(""), "")
|
||||||
assert.Equal(t, ToGoIdentifier("uuid"), "UUID")
|
require.Equal(t, ToGoIdentifier("uuid"), "UUID")
|
||||||
assert.Equal(t, ToGoIdentifier("col1"), "Col1")
|
require.Equal(t, ToGoIdentifier("col1"), "Col1")
|
||||||
assert.Equal(t, ToGoIdentifier("PG-13"), "Pg13")
|
require.Equal(t, ToGoIdentifier("PG-13"), "Pg13")
|
||||||
assert.Equal(t, ToGoIdentifier("13_pg"), "13Pg")
|
require.Equal(t, ToGoIdentifier("13_pg"), "13Pg")
|
||||||
|
|
||||||
assert.Equal(t, ToGoIdentifier("mytable"), "Mytable")
|
require.Equal(t, ToGoIdentifier("mytable"), "Mytable")
|
||||||
assert.Equal(t, ToGoIdentifier("MYTABLE"), "Mytable")
|
require.Equal(t, ToGoIdentifier("MYTABLE"), "Mytable")
|
||||||
assert.Equal(t, ToGoIdentifier("MyTaBlE"), "MyTaBlE")
|
require.Equal(t, ToGoIdentifier("MyTaBlE"), "MyTaBlE")
|
||||||
assert.Equal(t, ToGoIdentifier("myTaBlE"), "MyTaBlE")
|
require.Equal(t, ToGoIdentifier("myTaBlE"), "MyTaBlE")
|
||||||
|
|
||||||
assert.Equal(t, ToGoIdentifier("my_table"), "MyTable")
|
require.Equal(t, ToGoIdentifier("my_table"), "MyTable")
|
||||||
assert.Equal(t, ToGoIdentifier("MY_TABLE"), "MyTable")
|
require.Equal(t, ToGoIdentifier("MY_TABLE"), "MyTable")
|
||||||
assert.Equal(t, ToGoIdentifier("My_Table"), "MyTable")
|
require.Equal(t, ToGoIdentifier("My_Table"), "MyTable")
|
||||||
assert.Equal(t, ToGoIdentifier("My Table"), "MyTable")
|
require.Equal(t, ToGoIdentifier("My Table"), "MyTable")
|
||||||
assert.Equal(t, ToGoIdentifier("My-Table"), "MyTable")
|
require.Equal(t, ToGoIdentifier("My-Table"), "MyTable")
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestToGoEnumValueIdentifier(t *testing.T) {
|
func TestToGoEnumValueIdentifier(t *testing.T) {
|
||||||
assert.Equal(t, ToGoEnumValueIdentifier("enum_name", "enum_value"), "EnumValue")
|
require.Equal(t, ToGoEnumValueIdentifier("enum_name", "enum_value"), "EnumValue")
|
||||||
assert.Equal(t, ToGoEnumValueIdentifier("NumEnum", "100"), "NumEnum100")
|
require.Equal(t, ToGoEnumValueIdentifier("NumEnum", "100"), "NumEnum100")
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestErrorCatchErr(t *testing.T) {
|
func TestErrorCatchErr(t *testing.T) {
|
||||||
|
|
@ -39,7 +39,7 @@ func TestErrorCatchErr(t *testing.T) {
|
||||||
panic(fmt.Errorf("newError"))
|
panic(fmt.Errorf("newError"))
|
||||||
}()
|
}()
|
||||||
|
|
||||||
assert.Error(t, err, "newError")
|
require.Error(t, err, "newError")
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestErrorCatchNonErr(t *testing.T) {
|
func TestErrorCatchNonErr(t *testing.T) {
|
||||||
|
|
@ -51,5 +51,5 @@ func TestErrorCatchNonErr(t *testing.T) {
|
||||||
panic(11)
|
panic(11)
|
||||||
}()
|
}()
|
||||||
|
|
||||||
assert.Error(t, err, "11")
|
require.Error(t, err, "11")
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package mysql
|
package mysql
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/require"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
@ -95,7 +95,7 @@ VALUES (?, ?),
|
||||||
func TestInsertValuesFromModelColumnMismatch(t *testing.T) {
|
func TestInsertValuesFromModelColumnMismatch(t *testing.T) {
|
||||||
defer func() {
|
defer func() {
|
||||||
r := recover()
|
r := recover()
|
||||||
assert.Equal(t, r, "missing struct field for column : col1")
|
require.Equal(t, r, "missing struct field for column : col1")
|
||||||
}()
|
}()
|
||||||
type Table1Model struct {
|
type Table1Model struct {
|
||||||
Col1Prim int
|
Col1Prim int
|
||||||
|
|
@ -116,7 +116,7 @@ func TestInsertFromNonStructModel(t *testing.T) {
|
||||||
|
|
||||||
defer func() {
|
defer func() {
|
||||||
r := recover()
|
r := recover()
|
||||||
assert.Equal(t, r, "jet: data has to be a struct")
|
require.Equal(t, r, "jet: data has to be a struct")
|
||||||
}()
|
}()
|
||||||
|
|
||||||
table2.INSERT(table2ColInt).MODEL([]int{})
|
table2.INSERT(table2ColInt).MODEL([]int{})
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package postgres
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/go-jet/jet/internal/jet"
|
"github.com/go-jet/jet/internal/jet"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/require"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
@ -94,7 +94,7 @@ VALUES ($1, $2),
|
||||||
func TestInsertValuesFromModelColumnMismatch(t *testing.T) {
|
func TestInsertValuesFromModelColumnMismatch(t *testing.T) {
|
||||||
defer func() {
|
defer func() {
|
||||||
r := recover()
|
r := recover()
|
||||||
assert.Equal(t, r, "missing struct field for column : col1")
|
require.Equal(t, r, "missing struct field for column : col1")
|
||||||
}()
|
}()
|
||||||
type Table1Model struct {
|
type Table1Model struct {
|
||||||
Col1Prim int
|
Col1Prim int
|
||||||
|
|
@ -115,7 +115,7 @@ func TestInsertFromNonStructModel(t *testing.T) {
|
||||||
|
|
||||||
defer func() {
|
defer func() {
|
||||||
r := recover()
|
r := recover()
|
||||||
assert.Equal(t, r, "jet: data has to be a struct")
|
require.Equal(t, r, "jet: data has to be a struct")
|
||||||
}()
|
}()
|
||||||
|
|
||||||
table2.INSERT(table2ColInt).MODEL([]int{})
|
table2.INSERT(table2ColInt).MODEL([]int{})
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package internal
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/require"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
@ -10,138 +10,138 @@ import (
|
||||||
func TestNullByteArray(t *testing.T) {
|
func TestNullByteArray(t *testing.T) {
|
||||||
var array NullByteArray
|
var array NullByteArray
|
||||||
|
|
||||||
assert.NoError(t, array.Scan(nil))
|
require.NoError(t, array.Scan(nil))
|
||||||
assert.Equal(t, array.Valid, false)
|
require.Equal(t, array.Valid, false)
|
||||||
|
|
||||||
assert.NoError(t, array.Scan([]byte("bytea")))
|
require.NoError(t, array.Scan([]byte("bytea")))
|
||||||
assert.Equal(t, array.Valid, true)
|
require.Equal(t, array.Valid, true)
|
||||||
assert.Equal(t, string(array.ByteArray), string([]byte("bytea")))
|
require.Equal(t, string(array.ByteArray), string([]byte("bytea")))
|
||||||
|
|
||||||
assert.Error(t, array.Scan(12), "can't scan []byte from 12")
|
require.Error(t, array.Scan(12), "can't scan []byte from 12")
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestNullTime(t *testing.T) {
|
func TestNullTime(t *testing.T) {
|
||||||
var array NullTime
|
var array NullTime
|
||||||
|
|
||||||
assert.NoError(t, array.Scan(nil))
|
require.NoError(t, array.Scan(nil))
|
||||||
assert.Equal(t, array.Valid, false)
|
require.Equal(t, array.Valid, false)
|
||||||
|
|
||||||
time := time.Now()
|
time := time.Now()
|
||||||
assert.NoError(t, array.Scan(time))
|
require.NoError(t, array.Scan(time))
|
||||||
assert.Equal(t, array.Valid, true)
|
require.Equal(t, array.Valid, true)
|
||||||
value, _ := array.Value()
|
value, _ := array.Value()
|
||||||
assert.Equal(t, value, time)
|
require.Equal(t, value, time)
|
||||||
|
|
||||||
assert.NoError(t, array.Scan([]byte("13:10:11")))
|
require.NoError(t, array.Scan([]byte("13:10:11")))
|
||||||
assert.Equal(t, array.Valid, true)
|
require.Equal(t, array.Valid, true)
|
||||||
value, _ = array.Value()
|
value, _ = array.Value()
|
||||||
assert.Equal(t, fmt.Sprintf("%v", value), "0000-01-01 13:10:11 +0000 UTC")
|
require.Equal(t, fmt.Sprintf("%v", value), "0000-01-01 13:10:11 +0000 UTC")
|
||||||
|
|
||||||
assert.NoError(t, array.Scan("13:10:11"))
|
require.NoError(t, array.Scan("13:10:11"))
|
||||||
assert.Equal(t, array.Valid, true)
|
require.Equal(t, array.Valid, true)
|
||||||
value, _ = array.Value()
|
value, _ = array.Value()
|
||||||
assert.Equal(t, fmt.Sprintf("%v", value), "0000-01-01 13:10:11 +0000 UTC")
|
require.Equal(t, fmt.Sprintf("%v", value), "0000-01-01 13:10:11 +0000 UTC")
|
||||||
|
|
||||||
assert.Error(t, array.Scan(12), "can't scan time.Time from 12")
|
require.Error(t, array.Scan(12), "can't scan time.Time from 12")
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestNullInt8(t *testing.T) {
|
func TestNullInt8(t *testing.T) {
|
||||||
var array NullInt8
|
var array NullInt8
|
||||||
|
|
||||||
assert.NoError(t, array.Scan(nil))
|
require.NoError(t, array.Scan(nil))
|
||||||
assert.Equal(t, array.Valid, false)
|
require.Equal(t, array.Valid, false)
|
||||||
|
|
||||||
assert.NoError(t, array.Scan(int64(11)))
|
require.NoError(t, array.Scan(int64(11)))
|
||||||
assert.Equal(t, array.Valid, true)
|
require.Equal(t, array.Valid, true)
|
||||||
value, _ := array.Value()
|
value, _ := array.Value()
|
||||||
assert.Equal(t, value, int8(11))
|
require.Equal(t, value, int8(11))
|
||||||
|
|
||||||
assert.Error(t, array.Scan("text"), "can't scan int8 from text")
|
require.Error(t, array.Scan("text"), "can't scan int8 from text")
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestNullInt16(t *testing.T) {
|
func TestNullInt16(t *testing.T) {
|
||||||
var array NullInt16
|
var array NullInt16
|
||||||
|
|
||||||
assert.NoError(t, array.Scan(nil))
|
require.NoError(t, array.Scan(nil))
|
||||||
assert.Equal(t, array.Valid, false)
|
require.Equal(t, array.Valid, false)
|
||||||
|
|
||||||
assert.NoError(t, array.Scan(int64(11)))
|
require.NoError(t, array.Scan(int64(11)))
|
||||||
assert.Equal(t, array.Valid, true)
|
require.Equal(t, array.Valid, true)
|
||||||
value, _ := array.Value()
|
value, _ := array.Value()
|
||||||
assert.Equal(t, value, int16(11))
|
require.Equal(t, value, int16(11))
|
||||||
|
|
||||||
assert.NoError(t, array.Scan(int16(20)))
|
require.NoError(t, array.Scan(int16(20)))
|
||||||
assert.Equal(t, array.Valid, true)
|
require.Equal(t, array.Valid, true)
|
||||||
value, _ = array.Value()
|
value, _ = array.Value()
|
||||||
assert.Equal(t, value, int16(20))
|
require.Equal(t, value, int16(20))
|
||||||
|
|
||||||
assert.NoError(t, array.Scan(int8(30)))
|
require.NoError(t, array.Scan(int8(30)))
|
||||||
assert.Equal(t, array.Valid, true)
|
require.Equal(t, array.Valid, true)
|
||||||
value, _ = array.Value()
|
value, _ = array.Value()
|
||||||
assert.Equal(t, value, int16(30))
|
require.Equal(t, value, int16(30))
|
||||||
|
|
||||||
assert.NoError(t, array.Scan(uint8(30)))
|
require.NoError(t, array.Scan(uint8(30)))
|
||||||
assert.Equal(t, array.Valid, true)
|
require.Equal(t, array.Valid, true)
|
||||||
value, _ = array.Value()
|
value, _ = array.Value()
|
||||||
assert.Equal(t, value, int16(30))
|
require.Equal(t, value, int16(30))
|
||||||
|
|
||||||
assert.Error(t, array.Scan("text"), "can't scan int16 from text")
|
require.Error(t, array.Scan("text"), "can't scan int16 from text")
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestNullInt32(t *testing.T) {
|
func TestNullInt32(t *testing.T) {
|
||||||
var array NullInt32
|
var array NullInt32
|
||||||
|
|
||||||
assert.NoError(t, array.Scan(nil))
|
require.NoError(t, array.Scan(nil))
|
||||||
assert.Equal(t, array.Valid, false)
|
require.Equal(t, array.Valid, false)
|
||||||
|
|
||||||
assert.NoError(t, array.Scan(int64(11)))
|
require.NoError(t, array.Scan(int64(11)))
|
||||||
assert.Equal(t, array.Valid, true)
|
require.Equal(t, array.Valid, true)
|
||||||
value, _ := array.Value()
|
value, _ := array.Value()
|
||||||
assert.Equal(t, value, int32(11))
|
require.Equal(t, value, int32(11))
|
||||||
|
|
||||||
assert.NoError(t, array.Scan(int32(32)))
|
require.NoError(t, array.Scan(int32(32)))
|
||||||
assert.Equal(t, array.Valid, true)
|
require.Equal(t, array.Valid, true)
|
||||||
value, _ = array.Value()
|
value, _ = array.Value()
|
||||||
assert.Equal(t, value, int32(32))
|
require.Equal(t, value, int32(32))
|
||||||
|
|
||||||
assert.NoError(t, array.Scan(int16(20)))
|
require.NoError(t, array.Scan(int16(20)))
|
||||||
assert.Equal(t, array.Valid, true)
|
require.Equal(t, array.Valid, true)
|
||||||
value, _ = array.Value()
|
value, _ = array.Value()
|
||||||
assert.Equal(t, value, int32(20))
|
require.Equal(t, value, int32(20))
|
||||||
|
|
||||||
assert.NoError(t, array.Scan(uint16(16)))
|
require.NoError(t, array.Scan(uint16(16)))
|
||||||
assert.Equal(t, array.Valid, true)
|
require.Equal(t, array.Valid, true)
|
||||||
value, _ = array.Value()
|
value, _ = array.Value()
|
||||||
assert.Equal(t, value, int32(16))
|
require.Equal(t, value, int32(16))
|
||||||
|
|
||||||
assert.NoError(t, array.Scan(int8(30)))
|
require.NoError(t, array.Scan(int8(30)))
|
||||||
assert.Equal(t, array.Valid, true)
|
require.Equal(t, array.Valid, true)
|
||||||
value, _ = array.Value()
|
value, _ = array.Value()
|
||||||
assert.Equal(t, value, int32(30))
|
require.Equal(t, value, int32(30))
|
||||||
|
|
||||||
assert.NoError(t, array.Scan(uint8(30)))
|
require.NoError(t, array.Scan(uint8(30)))
|
||||||
assert.Equal(t, array.Valid, true)
|
require.Equal(t, array.Valid, true)
|
||||||
value, _ = array.Value()
|
value, _ = array.Value()
|
||||||
assert.Equal(t, value, int32(30))
|
require.Equal(t, value, int32(30))
|
||||||
|
|
||||||
assert.Error(t, array.Scan("text"), "can't scan int32 from text")
|
require.Error(t, array.Scan("text"), "can't scan int32 from text")
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestNullFloat32(t *testing.T) {
|
func TestNullFloat32(t *testing.T) {
|
||||||
var array NullFloat32
|
var array NullFloat32
|
||||||
|
|
||||||
assert.NoError(t, array.Scan(nil))
|
require.NoError(t, array.Scan(nil))
|
||||||
assert.Equal(t, array.Valid, false)
|
require.Equal(t, array.Valid, false)
|
||||||
|
|
||||||
assert.NoError(t, array.Scan(float64(64)))
|
require.NoError(t, array.Scan(float64(64)))
|
||||||
assert.Equal(t, array.Valid, true)
|
require.Equal(t, array.Valid, true)
|
||||||
value, _ := array.Value()
|
value, _ := array.Value()
|
||||||
assert.Equal(t, value, float32(64))
|
require.Equal(t, value, float32(64))
|
||||||
|
|
||||||
assert.NoError(t, array.Scan(float32(32)))
|
require.NoError(t, array.Scan(float32(32)))
|
||||||
assert.Equal(t, array.Valid, true)
|
require.Equal(t, array.Valid, true)
|
||||||
value, _ = array.Value()
|
value, _ = array.Value()
|
||||||
assert.Equal(t, value, float32(32))
|
require.Equal(t, value, float32(32))
|
||||||
|
|
||||||
assert.Error(t, array.Scan(12), "can't scan float32 from 12")
|
require.Error(t, array.Scan(12), "can't scan float32 from 12")
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,36 +2,36 @@ package qrm
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/google/uuid"
|
"github.com/google/uuid"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/require"
|
||||||
"reflect"
|
"reflect"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestIsSimpleModelType(t *testing.T) {
|
func TestIsSimpleModelType(t *testing.T) {
|
||||||
assert.True(t, isSimpleModelType(reflect.TypeOf(int8(11))))
|
require.True(t, isSimpleModelType(reflect.TypeOf(int8(11))))
|
||||||
assert.True(t, isSimpleModelType(reflect.TypeOf(int16(11))))
|
require.True(t, isSimpleModelType(reflect.TypeOf(int16(11))))
|
||||||
assert.True(t, isSimpleModelType(reflect.TypeOf(int32(11))))
|
require.True(t, isSimpleModelType(reflect.TypeOf(int32(11))))
|
||||||
assert.True(t, isSimpleModelType(reflect.TypeOf(int64(11))))
|
require.True(t, isSimpleModelType(reflect.TypeOf(int64(11))))
|
||||||
assert.True(t, isSimpleModelType(reflect.TypeOf(uint8(11))))
|
require.True(t, isSimpleModelType(reflect.TypeOf(uint8(11))))
|
||||||
assert.True(t, isSimpleModelType(reflect.TypeOf(uint16(11))))
|
require.True(t, isSimpleModelType(reflect.TypeOf(uint16(11))))
|
||||||
assert.True(t, isSimpleModelType(reflect.TypeOf(uint32(11))))
|
require.True(t, isSimpleModelType(reflect.TypeOf(uint32(11))))
|
||||||
assert.True(t, isSimpleModelType(reflect.TypeOf(uint64(11))))
|
require.True(t, isSimpleModelType(reflect.TypeOf(uint64(11))))
|
||||||
|
|
||||||
assert.True(t, isSimpleModelType(reflect.TypeOf(float32(123.46))))
|
require.True(t, isSimpleModelType(reflect.TypeOf(float32(123.46))))
|
||||||
assert.True(t, isSimpleModelType(reflect.TypeOf(float64(123.46))))
|
require.True(t, isSimpleModelType(reflect.TypeOf(float64(123.46))))
|
||||||
|
|
||||||
assert.True(t, isSimpleModelType(reflect.TypeOf([]byte("Text"))))
|
require.True(t, isSimpleModelType(reflect.TypeOf([]byte("Text"))))
|
||||||
assert.True(t, isSimpleModelType(reflect.TypeOf(time.Now())))
|
require.True(t, isSimpleModelType(reflect.TypeOf(time.Now())))
|
||||||
assert.True(t, isSimpleModelType(reflect.TypeOf(uuid.New())))
|
require.True(t, isSimpleModelType(reflect.TypeOf(uuid.New())))
|
||||||
|
|
||||||
complexModelType := struct {
|
complexModelType := struct {
|
||||||
Field1 string
|
Field1 string
|
||||||
Field2 string
|
Field2 string
|
||||||
}{}
|
}{}
|
||||||
|
|
||||||
assert.Equal(t, isSimpleModelType(reflect.TypeOf(complexModelType)), false)
|
require.Equal(t, isSimpleModelType(reflect.TypeOf(complexModelType)), false)
|
||||||
assert.Equal(t, isSimpleModelType(reflect.TypeOf(&complexModelType)), false)
|
require.Equal(t, isSimpleModelType(reflect.TypeOf(&complexModelType)), false)
|
||||||
assert.Equal(t, isSimpleModelType(reflect.TypeOf([]string{"str"})), false)
|
require.Equal(t, isSimpleModelType(reflect.TypeOf([]string{"str"})), false)
|
||||||
assert.Equal(t, isSimpleModelType(reflect.TypeOf([]int{1, 2})), false)
|
require.Equal(t, isSimpleModelType(reflect.TypeOf([]int{1, 2})), false)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,8 +16,6 @@ import (
|
||||||
"github.com/go-jet/jet/tests/testdata/results/common"
|
"github.com/go-jet/jet/tests/testdata/results/common"
|
||||||
|
|
||||||
. "github.com/go-jet/jet/mysql"
|
. "github.com/go-jet/jet/mysql"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestAllTypes(t *testing.T) {
|
func TestAllTypes(t *testing.T) {
|
||||||
|
|
@ -29,9 +27,9 @@ func TestAllTypes(t *testing.T) {
|
||||||
LIMIT(2).
|
LIMIT(2).
|
||||||
Query(db, &dest)
|
Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
assert.Equal(t, len(dest), 2)
|
require.Equal(t, len(dest), 2)
|
||||||
|
|
||||||
if sourceIsMariaDB() { // MariaDB saves current timestamp in a case of NULL value insert
|
if sourceIsMariaDB() { // MariaDB saves current timestamp in a case of NULL value insert
|
||||||
return
|
return
|
||||||
|
|
@ -48,8 +46,8 @@ func TestAllTypesViewSelect(t *testing.T) {
|
||||||
dest := []AllTypesView{}
|
dest := []AllTypesView{}
|
||||||
|
|
||||||
err := view.AllTypesView.SELECT(view.AllTypesView.AllColumns).Query(db, &dest)
|
err := view.AllTypesView.SELECT(view.AllTypesView.AllColumns).Query(db, &dest)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(dest), 2)
|
require.Equal(t, len(dest), 2)
|
||||||
|
|
||||||
if sourceIsMariaDB() { // MariaDB saves current timestamp in a case of NULL value insert
|
if sourceIsMariaDB() { // MariaDB saves current timestamp in a case of NULL value insert
|
||||||
return
|
return
|
||||||
|
|
@ -77,11 +75,11 @@ func TestUUID(t *testing.T) {
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.True(t, dest.StrUUID != nil)
|
require.True(t, dest.StrUUID != nil)
|
||||||
assert.True(t, dest.UUID.String() != uuid.UUID{}.String())
|
require.True(t, dest.UUID.String() != uuid.UUID{}.String())
|
||||||
assert.True(t, dest.StrUUID.String() != uuid.UUID{}.String())
|
require.True(t, dest.StrUUID.String() != uuid.UUID{}.String())
|
||||||
assert.Equal(t, dest.StrUUID.String(), dest.BinUUID.String())
|
require.Equal(t, dest.StrUUID.String(), dest.BinUUID.String())
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestExpressionOperators(t *testing.T) {
|
func TestExpressionOperators(t *testing.T) {
|
||||||
|
|
@ -122,7 +120,7 @@ LIMIT ?;
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
//testutils.PrintJson(dest)
|
//testutils.PrintJson(dest)
|
||||||
|
|
||||||
|
|
@ -213,7 +211,7 @@ FROM test_sample.all_types;
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
testutils.AssertJSONFile(t, dest, "./testdata/results/common/bool_operators.json")
|
testutils.AssertJSONFile(t, dest, "./testdata/results/common/bool_operators.json")
|
||||||
}
|
}
|
||||||
|
|
@ -266,7 +264,7 @@ func TestFloatOperators(t *testing.T) {
|
||||||
|
|
||||||
//fmt.Println(queryStr)
|
//fmt.Println(queryStr)
|
||||||
|
|
||||||
assert.Equal(t, queryStr, strings.Replace(`
|
require.Equal(t, queryStr, strings.Replace(`
|
||||||
SELECT (all_types.'numeric' = all_types.'numeric') AS "eq1",
|
SELECT (all_types.'numeric' = all_types.'numeric') AS "eq1",
|
||||||
(all_types.'decimal' = ?) AS "eq2",
|
(all_types.'decimal' = ?) AS "eq2",
|
||||||
(all_types.'real' = ?) AS "eq3",
|
(all_types.'real' = ?) AS "eq3",
|
||||||
|
|
@ -312,7 +310,7 @@ LIMIT ?;
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
testutils.AssertJSONFile(t, dest, "./testdata/results/common/float_operators.json")
|
testutils.AssertJSONFile(t, dest, "./testdata/results/common/float_operators.json")
|
||||||
}
|
}
|
||||||
|
|
@ -449,7 +447,7 @@ LIMIT ?;
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
//testutils.PrintJson(dest)
|
//testutils.PrintJson(dest)
|
||||||
|
|
||||||
|
|
@ -521,7 +519,7 @@ func TestStringOperators(t *testing.T) {
|
||||||
dest := []struct{}{}
|
dest := []struct{}{}
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
var timeT = time.Date(2009, 11, 17, 20, 34, 58, 651387237, time.UTC)
|
var timeT = time.Date(2009, 11, 17, 20, 34, 58, 651387237, time.UTC)
|
||||||
|
|
@ -609,7 +607,7 @@ FROM test_sample.all_types;
|
||||||
dest := []struct{}{}
|
dest := []struct{}{}
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestDateExpressions(t *testing.T) {
|
func TestDateExpressions(t *testing.T) {
|
||||||
|
|
@ -684,7 +682,7 @@ FROM test_sample.all_types;
|
||||||
dest := []struct{}{}
|
dest := []struct{}{}
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestDateTimeExpressions(t *testing.T) {
|
func TestDateTimeExpressions(t *testing.T) {
|
||||||
|
|
@ -761,7 +759,7 @@ FROM test_sample.all_types;
|
||||||
dest := []struct{}{}
|
dest := []struct{}{}
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestTimestampExpressions(t *testing.T) {
|
func TestTimestampExpressions(t *testing.T) {
|
||||||
|
|
@ -837,13 +835,13 @@ FROM test_sample.all_types;
|
||||||
dest := []struct{}{}
|
dest := []struct{}{}
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestTimeLiterals(t *testing.T) {
|
func TestTimeLiterals(t *testing.T) {
|
||||||
|
|
||||||
loc, err := time.LoadLocation("Europe/Berlin")
|
loc, err := time.LoadLocation("Europe/Berlin")
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
var timeT = time.Date(2009, 11, 17, 20, 34, 58, 351387237, loc)
|
var timeT = time.Date(2009, 11, 17, 20, 34, 58, 351387237, loc)
|
||||||
|
|
||||||
|
|
@ -882,7 +880,7 @@ LIMIT ?;
|
||||||
}
|
}
|
||||||
|
|
||||||
err = query.Query(db, &dest)
|
err = query.Query(db, &dest)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
//testutils.PrintJson(dest)
|
//testutils.PrintJson(dest)
|
||||||
|
|
||||||
|
|
@ -965,7 +963,7 @@ func TestINTERVAL(t *testing.T) {
|
||||||
//fmt.Println(query.DebugSql())
|
//fmt.Println(query.DebugSql())
|
||||||
|
|
||||||
err := query.Query(db, &struct{}{})
|
err := query.Query(db, &struct{}{})
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestAllTypesInsert(t *testing.T) {
|
func TestAllTypesInsert(t *testing.T) {
|
||||||
|
|
@ -1032,7 +1030,7 @@ func TestAllTypesInsertOnDuplicateKeyUpdate(t *testing.T) {
|
||||||
fmt.Println(stmt.DebugSql())
|
fmt.Println(stmt.DebugSql())
|
||||||
|
|
||||||
_, err = stmt.Exec(tx)
|
_, err = stmt.Exec(tx)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
err = tx.Rollback()
|
err = tx.Rollback()
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
@ -1256,7 +1254,7 @@ FROM test_sample.user;
|
||||||
|
|
||||||
var dest []model.User
|
var dest []model.User
|
||||||
err := stmt.Query(db, &dest)
|
err := stmt.Query(db, &dest)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
testutils.PrintJson(dest)
|
testutils.PrintJson(dest)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import (
|
||||||
"github.com/go-jet/jet/internal/testutils"
|
"github.com/go-jet/jet/internal/testutils"
|
||||||
. "github.com/go-jet/jet/mysql"
|
. "github.com/go-jet/jet/mysql"
|
||||||
. "github.com/go-jet/jet/tests/.gentestdata/mysql/test_sample/table"
|
. "github.com/go-jet/jet/tests/.gentestdata/mysql/test_sample/table"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/require"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
@ -55,7 +55,7 @@ FROM test_sample.all_types;
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
testutils.AssertDeepEqual(t, dest, Result{
|
testutils.AssertDeepEqual(t, dest, Result{
|
||||||
As1: "test",
|
As1: "test",
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import (
|
||||||
. "github.com/go-jet/jet/mysql"
|
. "github.com/go-jet/jet/mysql"
|
||||||
"github.com/go-jet/jet/tests/.gentestdata/mysql/test_sample/model"
|
"github.com/go-jet/jet/tests/.gentestdata/mysql/test_sample/model"
|
||||||
. "github.com/go-jet/jet/tests/.gentestdata/mysql/test_sample/table"
|
. "github.com/go-jet/jet/tests/.gentestdata/mysql/test_sample/table"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/require"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
@ -60,7 +60,7 @@ func TestDeleteQueryContext(t *testing.T) {
|
||||||
dest := []model.Link{}
|
dest := []model.Link{}
|
||||||
err := deleteStmt.QueryContext(ctx, db, &dest)
|
err := deleteStmt.QueryContext(ctx, db, &dest)
|
||||||
|
|
||||||
assert.Error(t, err, "context deadline exceeded")
|
require.Error(t, err, "context deadline exceeded")
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestDeleteExecContext(t *testing.T) {
|
func TestDeleteExecContext(t *testing.T) {
|
||||||
|
|
@ -77,7 +77,7 @@ func TestDeleteExecContext(t *testing.T) {
|
||||||
|
|
||||||
_, err := deleteStmt.ExecContext(ctx, db)
|
_, err := deleteStmt.ExecContext(ctx, db)
|
||||||
|
|
||||||
assert.Error(t, err, "context deadline exceeded")
|
require.Error(t, err, "context deadline exceeded")
|
||||||
}
|
}
|
||||||
|
|
||||||
func initForDeleteTest(t *testing.T) {
|
func initForDeleteTest(t *testing.T) {
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import (
|
||||||
"github.com/go-jet/jet/generator/mysql"
|
"github.com/go-jet/jet/generator/mysql"
|
||||||
"github.com/go-jet/jet/internal/testutils"
|
"github.com/go-jet/jet/internal/testutils"
|
||||||
"github.com/go-jet/jet/tests/dbconfig"
|
"github.com/go-jet/jet/tests/dbconfig"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/require"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
|
|
@ -25,23 +25,23 @@ func TestGenerator(t *testing.T) {
|
||||||
DBName: "dvds",
|
DBName: "dvds",
|
||||||
})
|
})
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
assertGeneratedFiles(t)
|
assertGeneratedFiles(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
err := os.RemoveAll(genTestDirRoot)
|
err := os.RemoveAll(genTestDirRoot)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestCmdGenerator(t *testing.T) {
|
func TestCmdGenerator(t *testing.T) {
|
||||||
goInstallJet := exec.Command("sh", "-c", "go install github.com/go-jet/jet/cmd/jet")
|
goInstallJet := exec.Command("sh", "-c", "go install github.com/go-jet/jet/cmd/jet")
|
||||||
goInstallJet.Stderr = os.Stderr
|
goInstallJet.Stderr = os.Stderr
|
||||||
err := goInstallJet.Run()
|
err := goInstallJet.Run()
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
err = os.RemoveAll(genTestDir3)
|
err = os.RemoveAll(genTestDir3)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
cmd := exec.Command("jet", "-source=MySQL", "-dbname=dvds", "-host=localhost", "-port=3306",
|
cmd := exec.Command("jet", "-source=MySQL", "-dbname=dvds", "-host=localhost", "-port=3306",
|
||||||
"-user=jet", "-password=jet", "-path="+genTestDir3)
|
"-user=jet", "-password=jet", "-path="+genTestDir3)
|
||||||
|
|
@ -50,18 +50,18 @@ func TestCmdGenerator(t *testing.T) {
|
||||||
cmd.Stdout = os.Stdout
|
cmd.Stdout = os.Stdout
|
||||||
|
|
||||||
err = cmd.Run()
|
err = cmd.Run()
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
assertGeneratedFiles(t)
|
assertGeneratedFiles(t)
|
||||||
|
|
||||||
err = os.RemoveAll(genTestDirRoot)
|
err = os.RemoveAll(genTestDirRoot)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func assertGeneratedFiles(t *testing.T) {
|
func assertGeneratedFiles(t *testing.T) {
|
||||||
// Table SQL Builder files
|
// Table SQL Builder files
|
||||||
tableSQLBuilderFiles, err := ioutil.ReadDir(genTestDir3 + "/dvds/table")
|
tableSQLBuilderFiles, err := ioutil.ReadDir(genTestDir3 + "/dvds/table")
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
testutils.AssertFileNamesEqual(t, tableSQLBuilderFiles, "actor.go", "address.go", "category.go", "city.go", "country.go",
|
testutils.AssertFileNamesEqual(t, tableSQLBuilderFiles, "actor.go", "address.go", "category.go", "city.go", "country.go",
|
||||||
"customer.go", "film.go", "film_actor.go", "film_category.go", "film_text.go", "inventory.go", "language.go",
|
"customer.go", "film.go", "film_actor.go", "film_category.go", "film_text.go", "inventory.go", "language.go",
|
||||||
|
|
@ -71,7 +71,7 @@ func assertGeneratedFiles(t *testing.T) {
|
||||||
|
|
||||||
// View SQL Builder files
|
// View SQL Builder files
|
||||||
viewSQLBuilderFiles, err := ioutil.ReadDir(genTestDir3 + "/dvds/view")
|
viewSQLBuilderFiles, err := ioutil.ReadDir(genTestDir3 + "/dvds/view")
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
testutils.AssertFileNamesEqual(t, viewSQLBuilderFiles, "actor_info.go", "film_list.go", "nicer_but_slower_film_list.go",
|
testutils.AssertFileNamesEqual(t, viewSQLBuilderFiles, "actor_info.go", "film_list.go", "nicer_but_slower_film_list.go",
|
||||||
"sales_by_film_category.go", "customer_list.go", "sales_by_store.go", "staff_list.go")
|
"sales_by_film_category.go", "customer_list.go", "sales_by_store.go", "staff_list.go")
|
||||||
|
|
@ -80,14 +80,14 @@ func assertGeneratedFiles(t *testing.T) {
|
||||||
|
|
||||||
// Enums SQL Builder files
|
// Enums SQL Builder files
|
||||||
enumFiles, err := ioutil.ReadDir(genTestDir3 + "/dvds/enum")
|
enumFiles, err := ioutil.ReadDir(genTestDir3 + "/dvds/enum")
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
testutils.AssertFileNamesEqual(t, enumFiles, "film_rating.go", "film_list_rating.go", "nicer_but_slower_film_list_rating.go")
|
testutils.AssertFileNamesEqual(t, enumFiles, "film_rating.go", "film_list_rating.go", "nicer_but_slower_film_list_rating.go")
|
||||||
testutils.AssertFileContent(t, genTestDir3+"/dvds/enum/film_rating.go", mpaaRatingEnumFile)
|
testutils.AssertFileContent(t, genTestDir3+"/dvds/enum/film_rating.go", mpaaRatingEnumFile)
|
||||||
|
|
||||||
// Model files
|
// Model files
|
||||||
modelFiles, err := ioutil.ReadDir(genTestDir3 + "/dvds/model")
|
modelFiles, err := ioutil.ReadDir(genTestDir3 + "/dvds/model")
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
testutils.AssertFileNamesEqual(t, modelFiles, "actor.go", "address.go", "category.go", "city.go", "country.go",
|
testutils.AssertFileNamesEqual(t, modelFiles, "actor.go", "address.go", "category.go", "city.go", "country.go",
|
||||||
"customer.go", "film.go", "film_actor.go", "film_category.go", "film_text.go", "inventory.go", "language.go",
|
"customer.go", "film.go", "film_actor.go", "film_category.go", "film_text.go", "inventory.go", "language.go",
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@ import (
|
||||||
. "github.com/go-jet/jet/mysql"
|
. "github.com/go-jet/jet/mysql"
|
||||||
"github.com/go-jet/jet/tests/.gentestdata/mysql/test_sample/model"
|
"github.com/go-jet/jet/tests/.gentestdata/mysql/test_sample/model"
|
||||||
. "github.com/go-jet/jet/tests/.gentestdata/mysql/test_sample/table"
|
. "github.com/go-jet/jet/tests/.gentestdata/mysql/test_sample/table"
|
||||||
"github.com/stretchr/testify/assert"
|
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
"math/rand"
|
"math/rand"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
@ -34,7 +33,7 @@ VALUES (100, 'http://www.postgresqltutorial.com', 'PostgreSQL Tutorial', DEFAULT
|
||||||
102, "http://www.yahoo.com", "Yahoo", nil)
|
102, "http://www.yahoo.com", "Yahoo", nil)
|
||||||
|
|
||||||
_, err := insertQuery.Exec(db)
|
_, err := insertQuery.Exec(db)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
insertedLinks := []model.Link{}
|
insertedLinks := []model.Link{}
|
||||||
|
|
||||||
|
|
@ -43,8 +42,8 @@ VALUES (100, 'http://www.postgresqltutorial.com', 'PostgreSQL Tutorial', DEFAULT
|
||||||
ORDER_BY(Link.ID).
|
ORDER_BY(Link.ID).
|
||||||
Query(db, &insertedLinks)
|
Query(db, &insertedLinks)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(insertedLinks), 3)
|
require.Equal(t, len(insertedLinks), 3)
|
||||||
|
|
||||||
testutils.AssertDeepEqual(t, insertedLinks[0], postgreTutorial)
|
testutils.AssertDeepEqual(t, insertedLinks[0], postgreTutorial)
|
||||||
|
|
||||||
|
|
@ -82,7 +81,7 @@ VALUES (100, 'http://www.postgresqltutorial.com', 'PostgreSQL Tutorial', DEFAULT
|
||||||
100, "http://www.postgresqltutorial.com", "PostgreSQL Tutorial")
|
100, "http://www.postgresqltutorial.com", "PostgreSQL Tutorial")
|
||||||
|
|
||||||
_, err := stmt.Exec(db)
|
_, err := stmt.Exec(db)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
insertedLinks := []model.Link{}
|
insertedLinks := []model.Link{}
|
||||||
|
|
||||||
|
|
@ -91,8 +90,8 @@ VALUES (100, 'http://www.postgresqltutorial.com', 'PostgreSQL Tutorial', DEFAULT
|
||||||
ORDER_BY(Link.ID).
|
ORDER_BY(Link.ID).
|
||||||
Query(db, &insertedLinks)
|
Query(db, &insertedLinks)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(insertedLinks), 1)
|
require.Equal(t, len(insertedLinks), 1)
|
||||||
testutils.AssertDeepEqual(t, insertedLinks[0], postgreTutorial)
|
testutils.AssertDeepEqual(t, insertedLinks[0], postgreTutorial)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -115,7 +114,7 @@ VALUES ('http://www.duckduckgo.com', 'Duck Duck go');
|
||||||
testutils.AssertDebugStatementSql(t, query, expectedSQL, "http://www.duckduckgo.com", "Duck Duck go")
|
testutils.AssertDebugStatementSql(t, query, expectedSQL, "http://www.duckduckgo.com", "Duck Duck go")
|
||||||
|
|
||||||
_, err := query.Exec(db)
|
_, err := query.Exec(db)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestInsertModelObjectEmptyColumnList(t *testing.T) {
|
func TestInsertModelObjectEmptyColumnList(t *testing.T) {
|
||||||
|
|
@ -138,7 +137,7 @@ VALUES (1000, 'http://www.duckduckgo.com', 'Duck Duck go', NULL);
|
||||||
testutils.AssertDebugStatementSql(t, query, expectedSQL, int32(1000), "http://www.duckduckgo.com", "Duck Duck go", nil)
|
testutils.AssertDebugStatementSql(t, query, expectedSQL, int32(1000), "http://www.duckduckgo.com", "Duck Duck go", nil)
|
||||||
|
|
||||||
_, err := query.Exec(db)
|
_, err := query.Exec(db)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestInsertModelsObject(t *testing.T) {
|
func TestInsertModelsObject(t *testing.T) {
|
||||||
|
|
@ -174,7 +173,7 @@ VALUES ('http://www.postgresqltutorial.com', 'PostgreSQL Tutorial'),
|
||||||
"http://www.yahoo.com", "Yahoo")
|
"http://www.yahoo.com", "Yahoo")
|
||||||
|
|
||||||
_, err := query.Exec(db)
|
_, err := query.Exec(db)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestInsertUsingMutableColumns(t *testing.T) {
|
func TestInsertUsingMutableColumns(t *testing.T) {
|
||||||
|
|
@ -209,14 +208,14 @@ VALUES ('http://www.postgresqltutorial.com', 'PostgreSQL Tutorial', DEFAULT),
|
||||||
"http://www.yahoo.com", "Yahoo", nil)
|
"http://www.yahoo.com", "Yahoo", nil)
|
||||||
|
|
||||||
_, err := stmt.Exec(db)
|
_, err := stmt.Exec(db)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestInsertQuery(t *testing.T) {
|
func TestInsertQuery(t *testing.T) {
|
||||||
_, err := Link.DELETE().
|
_, err := Link.DELETE().
|
||||||
WHERE(Link.ID.NOT_EQ(Int(1)).AND(Link.Name.EQ(String("Youtube")))).
|
WHERE(Link.ID.NOT_EQ(Int(1)).AND(Link.Name.EQ(String("Youtube")))).
|
||||||
Exec(db)
|
Exec(db)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
var expectedSQL = `
|
var expectedSQL = `
|
||||||
INSERT INTO test_sample.link (url, name) (
|
INSERT INTO test_sample.link (url, name) (
|
||||||
|
|
@ -238,7 +237,7 @@ INSERT INTO test_sample.link (url, name) (
|
||||||
testutils.AssertDebugStatementSql(t, query, expectedSQL, int64(1))
|
testutils.AssertDebugStatementSql(t, query, expectedSQL, int64(1))
|
||||||
|
|
||||||
_, err = query.Exec(db)
|
_, err = query.Exec(db)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
youtubeLinks := []model.Link{}
|
youtubeLinks := []model.Link{}
|
||||||
err = Link.
|
err = Link.
|
||||||
|
|
@ -246,8 +245,8 @@ INSERT INTO test_sample.link (url, name) (
|
||||||
WHERE(Link.Name.EQ(String("Youtube"))).
|
WHERE(Link.Name.EQ(String("Youtube"))).
|
||||||
Query(db, &youtubeLinks)
|
Query(db, &youtubeLinks)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(youtubeLinks), 2)
|
require.Equal(t, len(youtubeLinks), 2)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestInsertOnDuplicateKey(t *testing.T) {
|
func TestInsertOnDuplicateKey(t *testing.T) {
|
||||||
|
|
@ -304,7 +303,7 @@ func TestInsertWithQueryContext(t *testing.T) {
|
||||||
dest := []model.Link{}
|
dest := []model.Link{}
|
||||||
err := stmt.QueryContext(ctx, db, &dest)
|
err := stmt.QueryContext(ctx, db, &dest)
|
||||||
|
|
||||||
assert.Error(t, err, "context deadline exceeded")
|
require.Error(t, err, "context deadline exceeded")
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestInsertWithExecContext(t *testing.T) {
|
func TestInsertWithExecContext(t *testing.T) {
|
||||||
|
|
@ -320,10 +319,10 @@ func TestInsertWithExecContext(t *testing.T) {
|
||||||
|
|
||||||
_, err := stmt.ExecContext(ctx, db)
|
_, err := stmt.ExecContext(ctx, db)
|
||||||
|
|
||||||
assert.Error(t, err, "context deadline exceeded")
|
require.Error(t, err, "context deadline exceeded")
|
||||||
}
|
}
|
||||||
|
|
||||||
func cleanUpLinkTable(t *testing.T) {
|
func cleanUpLinkTable(t *testing.T) {
|
||||||
_, err := Link.DELETE().WHERE(Link.ID.GT(Int(1))).Exec(db)
|
_, err := Link.DELETE().WHERE(Link.ID.GT(Int(1))).Exec(db)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import (
|
||||||
"github.com/go-jet/jet/internal/testutils"
|
"github.com/go-jet/jet/internal/testutils"
|
||||||
. "github.com/go-jet/jet/mysql"
|
. "github.com/go-jet/jet/mysql"
|
||||||
. "github.com/go-jet/jet/tests/.gentestdata/mysql/dvds/table"
|
. "github.com/go-jet/jet/tests/.gentestdata/mysql/dvds/table"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/require"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -16,7 +16,7 @@ LOCK TABLES dvds.customer READ;
|
||||||
`)
|
`)
|
||||||
|
|
||||||
_, err := query.Exec(db)
|
_, err := query.Exec(db)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestLockWrite(t *testing.T) {
|
func TestLockWrite(t *testing.T) {
|
||||||
|
|
@ -27,7 +27,7 @@ LOCK TABLES dvds.customer WRITE;
|
||||||
`)
|
`)
|
||||||
|
|
||||||
_, err := query.Exec(db)
|
_, err := query.Exec(db)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestUnlockTables(t *testing.T) {
|
func TestUnlockTables(t *testing.T) {
|
||||||
|
|
@ -38,5 +38,5 @@ UNLOCK TABLES;
|
||||||
`)
|
`)
|
||||||
|
|
||||||
_, err := query.Exec(db)
|
_, err := query.Exec(db)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ import (
|
||||||
"github.com/go-jet/jet/tests/.gentestdata/mysql/dvds/model"
|
"github.com/go-jet/jet/tests/.gentestdata/mysql/dvds/model"
|
||||||
. "github.com/go-jet/jet/tests/.gentestdata/mysql/dvds/table"
|
. "github.com/go-jet/jet/tests/.gentestdata/mysql/dvds/table"
|
||||||
"github.com/go-jet/jet/tests/.gentestdata/mysql/dvds/view"
|
"github.com/go-jet/jet/tests/.gentestdata/mysql/dvds/view"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/require"
|
||||||
|
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
@ -30,7 +30,7 @@ WHERE actor.actor_id = ?;
|
||||||
actor := model.Actor{}
|
actor := model.Actor{}
|
||||||
err := query.Query(db, &actor)
|
err := query.Query(db, &actor)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
testutils.AssertDeepEqual(t, actor, actor2)
|
testutils.AssertDeepEqual(t, actor, actor2)
|
||||||
}
|
}
|
||||||
|
|
@ -59,9 +59,9 @@ ORDER BY actor.actor_id;
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
assert.Equal(t, len(dest), 200)
|
require.Equal(t, len(dest), 200)
|
||||||
testutils.AssertDeepEqual(t, dest[1], actor2)
|
testutils.AssertDeepEqual(t, dest[1], actor2)
|
||||||
|
|
||||||
//testutils.PrintJson(dest)
|
//testutils.PrintJson(dest)
|
||||||
|
|
@ -136,11 +136,11 @@ ORDER BY payment.customer_id, SUM(payment.amount) ASC;
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
//testutils.PrintJson(dest)
|
//testutils.PrintJson(dest)
|
||||||
|
|
||||||
assert.Equal(t, len(dest), 174)
|
require.Equal(t, len(dest), 174)
|
||||||
|
|
||||||
//testutils.SaveJsonFile(dest, "mysql/testdata/customer_payment_sum.json")
|
//testutils.SaveJsonFile(dest, "mysql/testdata/customer_payment_sum.json")
|
||||||
testutils.AssertJSONFile(t, dest, "./testdata/results/mysql/customer_payment_sum.json")
|
testutils.AssertJSONFile(t, dest, "./testdata/results/mysql/customer_payment_sum.json")
|
||||||
|
|
@ -176,7 +176,7 @@ func TestSubQuery(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
//testutils.SaveJsonFile(dest, "mysql/testdata/r_rating_films.json")
|
//testutils.SaveJsonFile(dest, "mysql/testdata/r_rating_films.json")
|
||||||
testutils.AssertJSONFile(t, dest, "./testdata/results/mysql/r_rating_films.json")
|
testutils.AssertJSONFile(t, dest, "./testdata/results/mysql/r_rating_films.json")
|
||||||
|
|
@ -229,7 +229,7 @@ LIMIT ?;
|
||||||
|
|
||||||
dest := []struct{}{}
|
dest := []struct{}{}
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestSelectUNION(t *testing.T) {
|
func TestSelectUNION(t *testing.T) {
|
||||||
|
|
@ -265,7 +265,7 @@ LIMIT ?;
|
||||||
|
|
||||||
dest := []struct{}{}
|
dest := []struct{}{}
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestSelectUNION_ALL(t *testing.T) {
|
func TestSelectUNION_ALL(t *testing.T) {
|
||||||
|
|
@ -308,7 +308,7 @@ OFFSET ?;
|
||||||
|
|
||||||
dest := []struct{}{}
|
dest := []struct{}{}
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestJoinQueryStruct(t *testing.T) {
|
func TestJoinQueryStruct(t *testing.T) {
|
||||||
|
|
@ -406,10 +406,10 @@ LIMIT ?;
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
//assert.Equal(t, len(dest), 1)
|
//require.Equal(t, len(dest), 1)
|
||||||
//assert.Equal(t, len(dest[0].Films), 10)
|
//require.Equal(t, len(dest[0].Films), 10)
|
||||||
//assert.Equal(t, len(dest[0].Films[0].Actors), 10)
|
//require.Equal(t, len(dest[0].Films[0].Actors), 10)
|
||||||
|
|
||||||
//testutils.SaveJsonFile(dest, "./mysql/testdata/lang_film_actor_inventory_rental.json")
|
//testutils.SaveJsonFile(dest, "./mysql/testdata/lang_film_actor_inventory_rental.json")
|
||||||
|
|
||||||
|
|
@ -450,10 +450,10 @@ FOR`
|
||||||
tx, _ := db.Begin()
|
tx, _ := db.Begin()
|
||||||
|
|
||||||
_, err := query.Exec(tx)
|
_, err := query.Exec(tx)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
err = tx.Rollback()
|
err = tx.Rollback()
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
for lockType, lockTypeStr := range getRowLockTestData() {
|
for lockType, lockTypeStr := range getRowLockTestData() {
|
||||||
|
|
@ -464,10 +464,10 @@ FOR`
|
||||||
tx, _ := db.Begin()
|
tx, _ := db.Begin()
|
||||||
|
|
||||||
_, err := query.Exec(tx)
|
_, err := query.Exec(tx)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
err = tx.Rollback()
|
err = tx.Rollback()
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if sourceIsMariaDB() {
|
if sourceIsMariaDB() {
|
||||||
|
|
@ -482,10 +482,10 @@ FOR`
|
||||||
tx, _ := db.Begin()
|
tx, _ := db.Begin()
|
||||||
|
|
||||||
_, err := query.Exec(tx)
|
_, err := query.Exec(tx)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
err = tx.Rollback()
|
err = tx.Rollback()
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -514,7 +514,7 @@ SELECT true,
|
||||||
|
|
||||||
dest := []struct{}{}
|
dest := []struct{}{}
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestLockInShareMode(t *testing.T) {
|
func TestLockInShareMode(t *testing.T) {
|
||||||
|
|
@ -535,7 +535,7 @@ LOCK IN SHARE MODE;
|
||||||
|
|
||||||
dest := []struct{}{}
|
dest := []struct{}{}
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestWindowFunction(t *testing.T) {
|
func TestWindowFunction(t *testing.T) {
|
||||||
|
|
@ -612,7 +612,7 @@ GROUP BY payment.amount, payment.customer_id, payment.payment_date;
|
||||||
|
|
||||||
dest := []struct{}{}
|
dest := []struct{}{}
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestWindowClause(t *testing.T) {
|
func TestWindowClause(t *testing.T) {
|
||||||
|
|
@ -649,7 +649,7 @@ ORDER BY payment.customer_id;
|
||||||
dest := []struct{}{}
|
dest := []struct{}{}
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestSimpleView(t *testing.T) {
|
func TestSimpleView(t *testing.T) {
|
||||||
|
|
@ -670,9 +670,9 @@ func TestSimpleView(t *testing.T) {
|
||||||
var dest []ActorInfo
|
var dest []ActorInfo
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
assert.Equal(t, len(dest), 10)
|
require.Equal(t, len(dest), 10)
|
||||||
testutils.AssertJSON(t, dest[1:2], `
|
testutils.AssertJSON(t, dest[1:2], `
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
|
|
@ -702,11 +702,11 @@ func TestJoinViewWithTable(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
assert.Equal(t, len(dest), 2)
|
require.Equal(t, len(dest), 2)
|
||||||
assert.Equal(t, len(dest[0].Rentals), 32)
|
require.Equal(t, len(dest[0].Rentals), 32)
|
||||||
assert.Equal(t, len(dest[1].Rentals), 27)
|
require.Equal(t, len(dest[1].Rentals), 27)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestConditionalProjectionList(t *testing.T) {
|
func TestConditionalProjectionList(t *testing.T) {
|
||||||
|
|
@ -737,7 +737,7 @@ LIMIT 3;
|
||||||
`)
|
`)
|
||||||
var dest []model.Customer
|
var dest []model.Customer
|
||||||
err := stmt.Query(db, &dest)
|
err := stmt.Query(db, &dest)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
assert.Equal(t, len(dest), 3)
|
require.Equal(t, len(dest), 3)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import (
|
||||||
"github.com/go-jet/jet/tests/.gentestdata/mysql/dvds/table"
|
"github.com/go-jet/jet/tests/.gentestdata/mysql/dvds/table"
|
||||||
"github.com/go-jet/jet/tests/.gentestdata/mysql/test_sample/model"
|
"github.com/go-jet/jet/tests/.gentestdata/mysql/test_sample/model"
|
||||||
. "github.com/go-jet/jet/tests/.gentestdata/mysql/test_sample/table"
|
. "github.com/go-jet/jet/tests/.gentestdata/mysql/test_sample/table"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/require"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
@ -51,8 +51,8 @@ WHERE link.name = 'Bing';
|
||||||
WHERE(Link.Name.EQ(String("Bong"))).
|
WHERE(Link.Name.EQ(String("Bong"))).
|
||||||
Query(db, &links)
|
Query(db, &links)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(links), 1)
|
require.Equal(t, len(links), 1)
|
||||||
testutils.AssertDeepEqual(t, links[0], model.Link{
|
testutils.AssertDeepEqual(t, links[0], model.Link{
|
||||||
ID: 204,
|
ID: 204,
|
||||||
URL: "http://bong.com",
|
URL: "http://bong.com",
|
||||||
|
|
@ -198,7 +198,7 @@ WHERE link.id = 201;
|
||||||
func TestUpdateWithInvalidModelData(t *testing.T) {
|
func TestUpdateWithInvalidModelData(t *testing.T) {
|
||||||
defer func() {
|
defer func() {
|
||||||
r := recover()
|
r := recover()
|
||||||
assert.Equal(t, r, "missing struct field for column : id")
|
require.Equal(t, r, "missing struct field for column : id")
|
||||||
}()
|
}()
|
||||||
|
|
||||||
setupLinkTableForUpdateTest(t)
|
setupLinkTableForUpdateTest(t)
|
||||||
|
|
@ -239,7 +239,7 @@ func TestUpdateQueryContext(t *testing.T) {
|
||||||
dest := []model.Link{}
|
dest := []model.Link{}
|
||||||
err := updateStmt.QueryContext(ctx, db, &dest)
|
err := updateStmt.QueryContext(ctx, db, &dest)
|
||||||
|
|
||||||
assert.Error(t, err, "context deadline exceeded")
|
require.Error(t, err, "context deadline exceeded")
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestUpdateExecContext(t *testing.T) {
|
func TestUpdateExecContext(t *testing.T) {
|
||||||
|
|
@ -257,7 +257,7 @@ func TestUpdateExecContext(t *testing.T) {
|
||||||
|
|
||||||
_, err := updateStmt.ExecContext(ctx, db)
|
_, err := updateStmt.ExecContext(ctx, db)
|
||||||
|
|
||||||
assert.Error(t, err, "context deadline exceeded")
|
require.Error(t, err, "context deadline exceeded")
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestUpdateWithJoin(t *testing.T) {
|
func TestUpdateWithJoin(t *testing.T) {
|
||||||
|
|
@ -270,7 +270,7 @@ func TestUpdateWithJoin(t *testing.T) {
|
||||||
//fmt.Println(query.DebugSql())
|
//fmt.Println(query.DebugSql())
|
||||||
|
|
||||||
_, err := query.Exec(db)
|
_, err := query.Exec(db)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func setupLinkTableForUpdateTest(t *testing.T) {
|
func setupLinkTableForUpdateTest(t *testing.T) {
|
||||||
|
|
@ -285,5 +285,5 @@ func setupLinkTableForUpdateTest(t *testing.T) {
|
||||||
VALUES(204, "http://www.bing.com", "Bing", DEFAULT).
|
VALUES(204, "http://www.bing.com", "Bing", DEFAULT).
|
||||||
Exec(db)
|
Exec(db)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,25 +1,24 @@
|
||||||
package postgres
|
package postgres
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/google/uuid"
|
|
||||||
"github.com/stretchr/testify/assert"
|
|
||||||
|
|
||||||
"github.com/go-jet/jet/internal/testutils"
|
"github.com/go-jet/jet/internal/testutils"
|
||||||
. "github.com/go-jet/jet/postgres"
|
. "github.com/go-jet/jet/postgres"
|
||||||
"github.com/go-jet/jet/tests/.gentestdata/jetdb/test_sample/model"
|
"github.com/go-jet/jet/tests/.gentestdata/jetdb/test_sample/model"
|
||||||
. "github.com/go-jet/jet/tests/.gentestdata/jetdb/test_sample/table"
|
. "github.com/go-jet/jet/tests/.gentestdata/jetdb/test_sample/table"
|
||||||
"github.com/go-jet/jet/tests/.gentestdata/jetdb/test_sample/view"
|
"github.com/go-jet/jet/tests/.gentestdata/jetdb/test_sample/view"
|
||||||
"github.com/go-jet/jet/tests/testdata/results/common"
|
"github.com/go-jet/jet/tests/testdata/results/common"
|
||||||
|
"github.com/google/uuid"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestAllTypesSelect(t *testing.T) {
|
func TestAllTypesSelect(t *testing.T) {
|
||||||
dest := []model.AllTypes{}
|
dest := []model.AllTypes{}
|
||||||
|
|
||||||
err := AllTypes.SELECT(AllTypes.AllColumns).Query(db, &dest)
|
err := AllTypes.SELECT(AllTypes.AllColumns).Query(db, &dest)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
testutils.AssertDeepEqual(t, dest[0], allTypesRow0)
|
testutils.AssertDeepEqual(t, dest[0], allTypesRow0)
|
||||||
testutils.AssertDeepEqual(t, dest[1], allTypesRow1)
|
testutils.AssertDeepEqual(t, dest[1], allTypesRow1)
|
||||||
|
|
@ -31,7 +30,7 @@ func TestAllTypesViewSelect(t *testing.T) {
|
||||||
dest := []AllTypesView{}
|
dest := []AllTypesView{}
|
||||||
|
|
||||||
err := view.AllTypesView.SELECT(view.AllTypesView.AllColumns).Query(db, &dest)
|
err := view.AllTypesView.SELECT(view.AllTypesView.AllColumns).Query(db, &dest)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
testutils.AssertDeepEqual(t, dest[0], AllTypesView(allTypesRow0))
|
testutils.AssertDeepEqual(t, dest[0], AllTypesView(allTypesRow0))
|
||||||
testutils.AssertDeepEqual(t, dest[1], AllTypesView(allTypesRow1))
|
testutils.AssertDeepEqual(t, dest[1], AllTypesView(allTypesRow1))
|
||||||
|
|
@ -45,9 +44,9 @@ func TestAllTypesInsertModel(t *testing.T) {
|
||||||
|
|
||||||
dest := []model.AllTypes{}
|
dest := []model.AllTypes{}
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
assert.Equal(t, len(dest), 2)
|
require.Equal(t, len(dest), 2)
|
||||||
testutils.AssertDeepEqual(t, dest[0], allTypesRow0)
|
testutils.AssertDeepEqual(t, dest[0], allTypesRow0)
|
||||||
testutils.AssertDeepEqual(t, dest[1], allTypesRow1)
|
testutils.AssertDeepEqual(t, dest[1], allTypesRow1)
|
||||||
}
|
}
|
||||||
|
|
@ -64,8 +63,8 @@ func TestAllTypesInsertQuery(t *testing.T) {
|
||||||
dest := []model.AllTypes{}
|
dest := []model.AllTypes{}
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(dest), 2)
|
require.Equal(t, len(dest), 2)
|
||||||
testutils.AssertDeepEqual(t, dest[0], allTypesRow0)
|
testutils.AssertDeepEqual(t, dest[0], allTypesRow0)
|
||||||
testutils.AssertDeepEqual(t, dest[1], allTypesRow1)
|
testutils.AssertDeepEqual(t, dest[1], allTypesRow1)
|
||||||
}
|
}
|
||||||
|
|
@ -80,7 +79,7 @@ func TestAllTypesFromSubQuery(t *testing.T) {
|
||||||
FROM(subQuery).
|
FROM(subQuery).
|
||||||
LIMIT(2)
|
LIMIT(2)
|
||||||
|
|
||||||
assert.Equal(t, mainQuery.DebugSql(), `
|
require.Equal(t, mainQuery.DebugSql(), `
|
||||||
SELECT "allTypesSubQuery"."all_types.small_int_ptr" AS "all_types.small_int_ptr",
|
SELECT "allTypesSubQuery"."all_types.small_int_ptr" AS "all_types.small_int_ptr",
|
||||||
"allTypesSubQuery"."all_types.small_int" AS "all_types.small_int",
|
"allTypesSubQuery"."all_types.small_int" AS "all_types.small_int",
|
||||||
"allTypesSubQuery"."all_types.integer_ptr" AS "all_types.integer_ptr",
|
"allTypesSubQuery"."all_types.integer_ptr" AS "all_types.integer_ptr",
|
||||||
|
|
@ -212,8 +211,8 @@ LIMIT 2;
|
||||||
dest := []model.AllTypes{}
|
dest := []model.AllTypes{}
|
||||||
err := mainQuery.Query(db, &dest)
|
err := mainQuery.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(dest), 2)
|
require.Equal(t, len(dest), 2)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestExpressionOperators(t *testing.T) {
|
func TestExpressionOperators(t *testing.T) {
|
||||||
|
|
@ -251,7 +250,7 @@ LIMIT $5;
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
//testutils.PrintJson(dest)
|
//testutils.PrintJson(dest)
|
||||||
|
|
||||||
|
|
@ -320,7 +319,7 @@ func TestExpressionCast(t *testing.T) {
|
||||||
dest := []struct{}{}
|
dest := []struct{}{}
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestStringOperators(t *testing.T) {
|
func TestStringOperators(t *testing.T) {
|
||||||
|
|
@ -400,7 +399,7 @@ func TestStringOperators(t *testing.T) {
|
||||||
dest := []struct{}{}
|
dest := []struct{}{}
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestBoolOperators(t *testing.T) {
|
func TestBoolOperators(t *testing.T) {
|
||||||
|
|
@ -469,7 +468,7 @@ LIMIT $5;
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
testutils.AssertJSONFile(t, dest, "./testdata/results/common/bool_operators.json")
|
testutils.AssertJSONFile(t, dest, "./testdata/results/common/bool_operators.json")
|
||||||
}
|
}
|
||||||
|
|
@ -519,7 +518,7 @@ func TestFloatOperators(t *testing.T) {
|
||||||
|
|
||||||
queryStr, _ := query.Sql()
|
queryStr, _ := query.Sql()
|
||||||
|
|
||||||
assert.Equal(t, queryStr, `
|
require.Equal(t, queryStr, `
|
||||||
SELECT (all_types.numeric = all_types.numeric) AS "eq1",
|
SELECT (all_types.numeric = all_types.numeric) AS "eq1",
|
||||||
(all_types.decimal = $1) AS "eq2",
|
(all_types.decimal = $1) AS "eq2",
|
||||||
(all_types.real = $2) AS "eq3",
|
(all_types.real = $2) AS "eq3",
|
||||||
|
|
@ -565,7 +564,7 @@ LIMIT $35;
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
//testutils.PrintJson(dest)
|
//testutils.PrintJson(dest)
|
||||||
|
|
||||||
|
|
@ -704,7 +703,7 @@ LIMIT $23;
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
//testutils.SaveJsonFile("./testdata/common/int_operators.json", dest)
|
//testutils.SaveJsonFile("./testdata/common/int_operators.json", dest)
|
||||||
//testutils.PrintJson(dest)
|
//testutils.PrintJson(dest)
|
||||||
|
|
@ -783,7 +782,7 @@ func TestTimeExpression(t *testing.T) {
|
||||||
dest := []struct{}{}
|
dest := []struct{}{}
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestInterval(t *testing.T) {
|
func TestInterval(t *testing.T) {
|
||||||
|
|
@ -834,7 +833,7 @@ func TestInterval(t *testing.T) {
|
||||||
//fmt.Println(stmt.DebugSql())
|
//fmt.Println(stmt.DebugSql())
|
||||||
|
|
||||||
err := stmt.Query(db, &struct{}{})
|
err := stmt.Query(db, &struct{}{})
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestSubQueryColumnReference(t *testing.T) {
|
func TestSubQueryColumnReference(t *testing.T) {
|
||||||
|
|
@ -986,12 +985,12 @@ FROM`
|
||||||
|
|
||||||
dest1 := []model.AllTypes{}
|
dest1 := []model.AllTypes{}
|
||||||
err := stmt1.Query(db, &dest1)
|
err := stmt1.Query(db, &dest1)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(dest1), 2)
|
require.Equal(t, len(dest1), 2)
|
||||||
assert.Equal(t, dest1[0].Boolean, allTypesRow0.Boolean)
|
require.Equal(t, dest1[0].Boolean, allTypesRow0.Boolean)
|
||||||
assert.Equal(t, dest1[0].Integer, allTypesRow0.Integer)
|
require.Equal(t, dest1[0].Integer, allTypesRow0.Integer)
|
||||||
assert.Equal(t, dest1[0].Real, allTypesRow0.Real)
|
require.Equal(t, dest1[0].Real, allTypesRow0.Real)
|
||||||
assert.Equal(t, dest1[0].Text, allTypesRow0.Text)
|
require.Equal(t, dest1[0].Text, allTypesRow0.Text)
|
||||||
testutils.AssertDeepEqual(t, dest1[0].Time, allTypesRow0.Time)
|
testutils.AssertDeepEqual(t, dest1[0].Time, allTypesRow0.Time)
|
||||||
testutils.AssertDeepEqual(t, dest1[0].Timez, allTypesRow0.Timez)
|
testutils.AssertDeepEqual(t, dest1[0].Timez, allTypesRow0.Timez)
|
||||||
testutils.AssertDeepEqual(t, dest1[0].Timestamp, allTypesRow0.Timestamp)
|
testutils.AssertDeepEqual(t, dest1[0].Timestamp, allTypesRow0.Timestamp)
|
||||||
|
|
@ -1008,7 +1007,7 @@ FROM`
|
||||||
dest2 := []model.AllTypes{}
|
dest2 := []model.AllTypes{}
|
||||||
err = stmt2.Query(db, &dest2)
|
err = stmt2.Query(db, &dest2)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
testutils.AssertDeepEqual(t, dest1, dest2)
|
testutils.AssertDeepEqual(t, dest1, dest2)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1016,7 +1015,7 @@ FROM`
|
||||||
func TestTimeLiterals(t *testing.T) {
|
func TestTimeLiterals(t *testing.T) {
|
||||||
|
|
||||||
loc, err := time.LoadLocation("Europe/Berlin")
|
loc, err := time.LoadLocation("Europe/Berlin")
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
var timeT = time.Date(2009, 11, 17, 20, 34, 58, 651387237, loc)
|
var timeT = time.Date(2009, 11, 17, 20, 34, 58, 651387237, loc)
|
||||||
|
|
||||||
|
|
@ -1051,7 +1050,7 @@ LIMIT $6;
|
||||||
|
|
||||||
err = query.Query(db, &dest)
|
err = query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
//testutils.PrintJson(dest)
|
//testutils.PrintJson(dest)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ import (
|
||||||
. "github.com/go-jet/jet/postgres"
|
. "github.com/go-jet/jet/postgres"
|
||||||
"github.com/go-jet/jet/tests/.gentestdata/jetdb/chinook/model"
|
"github.com/go-jet/jet/tests/.gentestdata/jetdb/chinook/model"
|
||||||
. "github.com/go-jet/jet/tests/.gentestdata/jetdb/chinook/table"
|
. "github.com/go-jet/jet/tests/.gentestdata/jetdb/chinook/table"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/require"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
@ -30,8 +30,8 @@ ORDER BY "Album"."AlbumId" ASC;
|
||||||
|
|
||||||
err := stmt.Query(db, &dest)
|
err := stmt.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(dest), 347)
|
require.Equal(t, len(dest), 347)
|
||||||
testutils.AssertDeepEqual(t, dest[0], album1)
|
testutils.AssertDeepEqual(t, dest[0], album1)
|
||||||
testutils.AssertDeepEqual(t, dest[1], album2)
|
testutils.AssertDeepEqual(t, dest[1], album2)
|
||||||
testutils.AssertDeepEqual(t, dest[len(dest)-1], album347)
|
testutils.AssertDeepEqual(t, dest[len(dest)-1], album347)
|
||||||
|
|
@ -103,8 +103,8 @@ func TestJoinEverything(t *testing.T) {
|
||||||
|
|
||||||
err := stmt.Query(db, &dest)
|
err := stmt.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(dest), 275)
|
require.Equal(t, len(dest), 275)
|
||||||
testutils.AssertJSONFile(t, dest, "./testdata/results/postgres/joined_everything.json")
|
testutils.AssertJSONFile(t, dest, "./testdata/results/postgres/joined_everything.json")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -143,8 +143,8 @@ ORDER BY "Employee"."EmployeeId";
|
||||||
|
|
||||||
err := stmt.Query(db, &dest)
|
err := stmt.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(dest), 8)
|
require.Equal(t, len(dest), 8)
|
||||||
testutils.AssertJSON(t, dest[0:2], `
|
testutils.AssertJSON(t, dest[0:2], `
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
|
|
@ -236,9 +236,9 @@ ORDER BY "Album.AlbumId";
|
||||||
|
|
||||||
err := stmt.Query(db, &dest)
|
err := stmt.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
assert.Equal(t, len(dest), 2)
|
require.Equal(t, len(dest), 2)
|
||||||
testutils.AssertDeepEqual(t, dest[0], album1)
|
testutils.AssertDeepEqual(t, dest[0], album1)
|
||||||
testutils.AssertDeepEqual(t, dest[1], album2)
|
testutils.AssertDeepEqual(t, dest[1], album2)
|
||||||
}
|
}
|
||||||
|
|
@ -256,7 +256,7 @@ func TestQueryWithContext(t *testing.T) {
|
||||||
SELECT(Album.AllColumns, Track.AllColumns, InvoiceLine.AllColumns).
|
SELECT(Album.AllColumns, Track.AllColumns, InvoiceLine.AllColumns).
|
||||||
QueryContext(ctx, db, &dest)
|
QueryContext(ctx, db, &dest)
|
||||||
|
|
||||||
assert.Error(t, err, "context deadline exceeded")
|
require.Error(t, err, "context deadline exceeded")
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestExecWithContext(t *testing.T) {
|
func TestExecWithContext(t *testing.T) {
|
||||||
|
|
@ -270,7 +270,7 @@ func TestExecWithContext(t *testing.T) {
|
||||||
SELECT(Album.AllColumns, Track.AllColumns, InvoiceLine.AllColumns).
|
SELECT(Album.AllColumns, Track.AllColumns, InvoiceLine.AllColumns).
|
||||||
ExecContext(ctx, db)
|
ExecContext(ctx, db)
|
||||||
|
|
||||||
assert.Error(t, err, "pq: canceling statement due to user request")
|
require.Error(t, err, "pq: canceling statement due to user request")
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestSubQueriesForQuotedNames(t *testing.T) {
|
func TestSubQueriesForQuotedNames(t *testing.T) {
|
||||||
|
|
@ -327,7 +327,7 @@ ORDER BY "first10Artist"."Artist.ArtistId";
|
||||||
|
|
||||||
err := stmt.Query(db, &dest)
|
err := stmt.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
//spew.Dump(dest)
|
//spew.Dump(dest)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import (
|
||||||
. "github.com/go-jet/jet/postgres"
|
. "github.com/go-jet/jet/postgres"
|
||||||
"github.com/go-jet/jet/tests/.gentestdata/jetdb/test_sample/model"
|
"github.com/go-jet/jet/tests/.gentestdata/jetdb/test_sample/model"
|
||||||
. "github.com/go-jet/jet/tests/.gentestdata/jetdb/test_sample/table"
|
. "github.com/go-jet/jet/tests/.gentestdata/jetdb/test_sample/table"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/require"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
@ -48,9 +48,9 @@ RETURNING link.id AS "link.id",
|
||||||
|
|
||||||
err := deleteStmt.Query(db, &dest)
|
err := deleteStmt.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
assert.Equal(t, len(dest), 2)
|
require.Equal(t, len(dest), 2)
|
||||||
testutils.AssertDeepEqual(t, dest[0].Name, "Gmail")
|
testutils.AssertDeepEqual(t, dest[0].Name, "Gmail")
|
||||||
testutils.AssertDeepEqual(t, dest[1].Name, "Outlook")
|
testutils.AssertDeepEqual(t, dest[1].Name, "Outlook")
|
||||||
}
|
}
|
||||||
|
|
@ -79,7 +79,7 @@ func TestDeleteQueryContext(t *testing.T) {
|
||||||
dest := []model.Link{}
|
dest := []model.Link{}
|
||||||
err := deleteStmt.QueryContext(ctx, db, &dest)
|
err := deleteStmt.QueryContext(ctx, db, &dest)
|
||||||
|
|
||||||
assert.Error(t, err, "context deadline exceeded")
|
require.Error(t, err, "context deadline exceeded")
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestDeleteExecContext(t *testing.T) {
|
func TestDeleteExecContext(t *testing.T) {
|
||||||
|
|
@ -98,5 +98,5 @@ func TestDeleteExecContext(t *testing.T) {
|
||||||
|
|
||||||
_, err := deleteStmt.ExecContext(ctx, db)
|
_, err := deleteStmt.ExecContext(ctx, db)
|
||||||
|
|
||||||
assert.Error(t, err, "context deadline exceeded")
|
require.Error(t, err, "context deadline exceeded")
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import (
|
||||||
"github.com/go-jet/jet/generator/postgres"
|
"github.com/go-jet/jet/generator/postgres"
|
||||||
"github.com/go-jet/jet/internal/testutils"
|
"github.com/go-jet/jet/internal/testutils"
|
||||||
"github.com/go-jet/jet/tests/dbconfig"
|
"github.com/go-jet/jet/tests/dbconfig"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/require"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
|
|
@ -17,30 +17,30 @@ import (
|
||||||
func TestGeneratedModel(t *testing.T) {
|
func TestGeneratedModel(t *testing.T) {
|
||||||
actor := model.Actor{}
|
actor := model.Actor{}
|
||||||
|
|
||||||
assert.Equal(t, reflect.TypeOf(actor.ActorID).String(), "int32")
|
require.Equal(t, reflect.TypeOf(actor.ActorID).String(), "int32")
|
||||||
actorIDField, ok := reflect.TypeOf(actor).FieldByName("ActorID")
|
actorIDField, ok := reflect.TypeOf(actor).FieldByName("ActorID")
|
||||||
assert.True(t, ok)
|
require.True(t, ok)
|
||||||
assert.Equal(t, actorIDField.Tag.Get("sql"), "primary_key")
|
require.Equal(t, actorIDField.Tag.Get("sql"), "primary_key")
|
||||||
assert.Equal(t, reflect.TypeOf(actor.FirstName).String(), "string")
|
require.Equal(t, reflect.TypeOf(actor.FirstName).String(), "string")
|
||||||
assert.Equal(t, reflect.TypeOf(actor.LastName).String(), "string")
|
require.Equal(t, reflect.TypeOf(actor.LastName).String(), "string")
|
||||||
assert.Equal(t, reflect.TypeOf(actor.LastUpdate).String(), "time.Time")
|
require.Equal(t, reflect.TypeOf(actor.LastUpdate).String(), "time.Time")
|
||||||
|
|
||||||
filmActor := model.FilmActor{}
|
filmActor := model.FilmActor{}
|
||||||
|
|
||||||
assert.Equal(t, reflect.TypeOf(filmActor.FilmID).String(), "int16")
|
require.Equal(t, reflect.TypeOf(filmActor.FilmID).String(), "int16")
|
||||||
filmIDField, ok := reflect.TypeOf(filmActor).FieldByName("FilmID")
|
filmIDField, ok := reflect.TypeOf(filmActor).FieldByName("FilmID")
|
||||||
assert.True(t, ok)
|
require.True(t, ok)
|
||||||
assert.Equal(t, filmIDField.Tag.Get("sql"), "primary_key")
|
require.Equal(t, filmIDField.Tag.Get("sql"), "primary_key")
|
||||||
|
|
||||||
assert.Equal(t, reflect.TypeOf(filmActor.ActorID).String(), "int16")
|
require.Equal(t, reflect.TypeOf(filmActor.ActorID).String(), "int16")
|
||||||
actorIDField, ok = reflect.TypeOf(filmActor).FieldByName("ActorID")
|
actorIDField, ok = reflect.TypeOf(filmActor).FieldByName("ActorID")
|
||||||
assert.True(t, ok)
|
require.True(t, ok)
|
||||||
assert.Equal(t, filmIDField.Tag.Get("sql"), "primary_key")
|
require.Equal(t, filmIDField.Tag.Get("sql"), "primary_key")
|
||||||
|
|
||||||
staff := model.Staff{}
|
staff := model.Staff{}
|
||||||
|
|
||||||
assert.Equal(t, reflect.TypeOf(staff.Email).String(), "*string")
|
require.Equal(t, reflect.TypeOf(staff.Email).String(), "*string")
|
||||||
assert.Equal(t, reflect.TypeOf(staff.Picture).String(), "*[]uint8")
|
require.Equal(t, reflect.TypeOf(staff.Picture).String(), "*[]uint8")
|
||||||
}
|
}
|
||||||
|
|
||||||
const genTestDir2 = "./.gentestdata2"
|
const genTestDir2 = "./.gentestdata2"
|
||||||
|
|
@ -49,10 +49,10 @@ func TestCmdGenerator(t *testing.T) {
|
||||||
goInstallJet := exec.Command("sh", "-c", "go install github.com/go-jet/jet/cmd/jet")
|
goInstallJet := exec.Command("sh", "-c", "go install github.com/go-jet/jet/cmd/jet")
|
||||||
goInstallJet.Stderr = os.Stderr
|
goInstallJet.Stderr = os.Stderr
|
||||||
err := goInstallJet.Run()
|
err := goInstallJet.Run()
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
err = os.RemoveAll(genTestDir2)
|
err = os.RemoveAll(genTestDir2)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
cmd := exec.Command("jet", "-source=PostgreSQL", "-dbname=jetdb", "-host=localhost", "-port=5432",
|
cmd := exec.Command("jet", "-source=PostgreSQL", "-dbname=jetdb", "-host=localhost", "-port=5432",
|
||||||
"-user=jet", "-password=jet", "-schema=dvds", "-path="+genTestDir2)
|
"-user=jet", "-password=jet", "-schema=dvds", "-path="+genTestDir2)
|
||||||
|
|
@ -60,12 +60,12 @@ func TestCmdGenerator(t *testing.T) {
|
||||||
cmd.Stdout = os.Stdout
|
cmd.Stdout = os.Stdout
|
||||||
|
|
||||||
err = cmd.Run()
|
err = cmd.Run()
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
assertGeneratedFiles(t)
|
assertGeneratedFiles(t)
|
||||||
|
|
||||||
err = os.RemoveAll(genTestDir2)
|
err = os.RemoveAll(genTestDir2)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGenerator(t *testing.T) {
|
func TestGenerator(t *testing.T) {
|
||||||
|
|
@ -83,19 +83,19 @@ func TestGenerator(t *testing.T) {
|
||||||
SchemaName: "dvds",
|
SchemaName: "dvds",
|
||||||
})
|
})
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
assertGeneratedFiles(t)
|
assertGeneratedFiles(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
err := os.RemoveAll(genTestDir2)
|
err := os.RemoveAll(genTestDir2)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func assertGeneratedFiles(t *testing.T) {
|
func assertGeneratedFiles(t *testing.T) {
|
||||||
// Table SQL Builder files
|
// Table SQL Builder files
|
||||||
tableSQLBuilderFiles, err := ioutil.ReadDir("./.gentestdata2/jetdb/dvds/table")
|
tableSQLBuilderFiles, err := ioutil.ReadDir("./.gentestdata2/jetdb/dvds/table")
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
testutils.AssertFileNamesEqual(t, tableSQLBuilderFiles, "actor.go", "address.go", "category.go", "city.go", "country.go",
|
testutils.AssertFileNamesEqual(t, tableSQLBuilderFiles, "actor.go", "address.go", "category.go", "city.go", "country.go",
|
||||||
"customer.go", "film.go", "film_actor.go", "film_category.go", "inventory.go", "language.go",
|
"customer.go", "film.go", "film_actor.go", "film_category.go", "inventory.go", "language.go",
|
||||||
|
|
@ -105,7 +105,7 @@ func assertGeneratedFiles(t *testing.T) {
|
||||||
|
|
||||||
// View SQL Builder files
|
// View SQL Builder files
|
||||||
viewSQLBuilderFiles, err := ioutil.ReadDir("./.gentestdata2/jetdb/dvds/view")
|
viewSQLBuilderFiles, err := ioutil.ReadDir("./.gentestdata2/jetdb/dvds/view")
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
testutils.AssertFileNamesEqual(t, viewSQLBuilderFiles, "actor_info.go", "film_list.go", "nicer_but_slower_film_list.go",
|
testutils.AssertFileNamesEqual(t, viewSQLBuilderFiles, "actor_info.go", "film_list.go", "nicer_but_slower_film_list.go",
|
||||||
"sales_by_film_category.go", "customer_list.go", "sales_by_store.go", "staff_list.go")
|
"sales_by_film_category.go", "customer_list.go", "sales_by_store.go", "staff_list.go")
|
||||||
|
|
@ -114,14 +114,14 @@ func assertGeneratedFiles(t *testing.T) {
|
||||||
|
|
||||||
// Enums SQL Builder files
|
// Enums SQL Builder files
|
||||||
enumFiles, err := ioutil.ReadDir("./.gentestdata2/jetdb/dvds/enum")
|
enumFiles, err := ioutil.ReadDir("./.gentestdata2/jetdb/dvds/enum")
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
testutils.AssertFileNamesEqual(t, enumFiles, "mpaa_rating.go")
|
testutils.AssertFileNamesEqual(t, enumFiles, "mpaa_rating.go")
|
||||||
testutils.AssertFileContent(t, "./.gentestdata2/jetdb/dvds/enum/mpaa_rating.go", mpaaRatingEnumFile)
|
testutils.AssertFileContent(t, "./.gentestdata2/jetdb/dvds/enum/mpaa_rating.go", mpaaRatingEnumFile)
|
||||||
|
|
||||||
// Model files
|
// Model files
|
||||||
modelFiles, err := ioutil.ReadDir("./.gentestdata2/jetdb/dvds/model")
|
modelFiles, err := ioutil.ReadDir("./.gentestdata2/jetdb/dvds/model")
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
testutils.AssertFileNamesEqual(t, modelFiles, "actor.go", "address.go", "category.go", "city.go", "country.go",
|
testutils.AssertFileNamesEqual(t, modelFiles, "actor.go", "address.go", "category.go", "city.go", "country.go",
|
||||||
"customer.go", "film.go", "film_actor.go", "film_category.go", "inventory.go", "language.go",
|
"customer.go", "film.go", "film_actor.go", "film_category.go", "inventory.go", "language.go",
|
||||||
|
|
@ -335,14 +335,14 @@ func TestGeneratedAllTypesSQLBuilderFiles(t *testing.T) {
|
||||||
tableDir := testRoot + ".gentestdata/jetdb/test_sample/table/"
|
tableDir := testRoot + ".gentestdata/jetdb/test_sample/table/"
|
||||||
|
|
||||||
enumFiles, err := ioutil.ReadDir(enumDir)
|
enumFiles, err := ioutil.ReadDir(enumDir)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
testutils.AssertFileNamesEqual(t, enumFiles, "mood.go", "level.go")
|
testutils.AssertFileNamesEqual(t, enumFiles, "mood.go", "level.go")
|
||||||
testutils.AssertFileContent(t, enumDir+"mood.go", moodEnumContent)
|
testutils.AssertFileContent(t, enumDir+"mood.go", moodEnumContent)
|
||||||
testutils.AssertFileContent(t, enumDir+"level.go", levelEnumContent)
|
testutils.AssertFileContent(t, enumDir+"level.go", levelEnumContent)
|
||||||
|
|
||||||
modelFiles, err := ioutil.ReadDir(modelDir)
|
modelFiles, err := ioutil.ReadDir(modelDir)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
testutils.AssertFileNamesEqual(t, modelFiles, "all_types.go", "all_types_view.go", "employee.go", "link.go",
|
testutils.AssertFileNamesEqual(t, modelFiles, "all_types.go", "all_types_view.go", "employee.go", "link.go",
|
||||||
"mood.go", "person.go", "person_phone.go", "weird_names_table.go", "level.go", "user.go")
|
"mood.go", "person.go", "person_phone.go", "weird_names_table.go", "level.go", "user.go")
|
||||||
|
|
@ -350,7 +350,7 @@ func TestGeneratedAllTypesSQLBuilderFiles(t *testing.T) {
|
||||||
testutils.AssertFileContent(t, modelDir+"all_types.go", allTypesModelContent)
|
testutils.AssertFileContent(t, modelDir+"all_types.go", allTypesModelContent)
|
||||||
|
|
||||||
tableFiles, err := ioutil.ReadDir(tableDir)
|
tableFiles, err := ioutil.ReadDir(tableDir)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
testutils.AssertFileNamesEqual(t, tableFiles, "all_types.go", "employee.go", "link.go",
|
testutils.AssertFileNamesEqual(t, tableFiles, "all_types.go", "employee.go", "link.go",
|
||||||
"person.go", "person_phone.go", "weird_names_table.go", "user.go")
|
"person.go", "person_phone.go", "weird_names_table.go", "user.go")
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import (
|
||||||
. "github.com/go-jet/jet/postgres"
|
. "github.com/go-jet/jet/postgres"
|
||||||
"github.com/go-jet/jet/tests/.gentestdata/jetdb/test_sample/model"
|
"github.com/go-jet/jet/tests/.gentestdata/jetdb/test_sample/model"
|
||||||
. "github.com/go-jet/jet/tests/.gentestdata/jetdb/test_sample/table"
|
. "github.com/go-jet/jet/tests/.gentestdata/jetdb/test_sample/table"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/require"
|
||||||
"math/rand"
|
"math/rand"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
@ -40,9 +40,9 @@ RETURNING link.id AS "link.id",
|
||||||
|
|
||||||
err := insertQuery.Query(db, &insertedLinks)
|
err := insertQuery.Query(db, &insertedLinks)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
assert.Equal(t, len(insertedLinks), 3)
|
require.Equal(t, len(insertedLinks), 3)
|
||||||
|
|
||||||
testutils.AssertDeepEqual(t, insertedLinks[0], model.Link{
|
testutils.AssertDeepEqual(t, insertedLinks[0], model.Link{
|
||||||
ID: 100,
|
ID: 100,
|
||||||
|
|
@ -69,7 +69,7 @@ RETURNING link.id AS "link.id",
|
||||||
ORDER_BY(Link.ID).
|
ORDER_BY(Link.ID).
|
||||||
Query(db, &allLinks)
|
Query(db, &allLinks)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
testutils.AssertDeepEqual(t, insertedLinks, allLinks)
|
testutils.AssertDeepEqual(t, insertedLinks, allLinks)
|
||||||
}
|
}
|
||||||
|
|
@ -332,7 +332,7 @@ func TestInsertQuery(t *testing.T) {
|
||||||
_, err := Link.DELETE().
|
_, err := Link.DELETE().
|
||||||
WHERE(Link.ID.NOT_EQ(Int(0)).AND(Link.Name.EQ(String("Youtube")))).
|
WHERE(Link.ID.NOT_EQ(Int(0)).AND(Link.Name.EQ(String("Youtube")))).
|
||||||
Exec(db)
|
Exec(db)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
var expectedSQL = `
|
var expectedSQL = `
|
||||||
INSERT INTO test_sample.link (url, name) (
|
INSERT INTO test_sample.link (url, name) (
|
||||||
|
|
@ -362,7 +362,7 @@ RETURNING link.id AS "link.id",
|
||||||
|
|
||||||
err = query.Query(db, &dest)
|
err = query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
youtubeLinks := []model.Link{}
|
youtubeLinks := []model.Link{}
|
||||||
err = Link.
|
err = Link.
|
||||||
|
|
@ -370,8 +370,8 @@ RETURNING link.id AS "link.id",
|
||||||
WHERE(Link.Name.EQ(String("Youtube"))).
|
WHERE(Link.Name.EQ(String("Youtube"))).
|
||||||
Query(db, &youtubeLinks)
|
Query(db, &youtubeLinks)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(youtubeLinks), 2)
|
require.Equal(t, len(youtubeLinks), 2)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestInsertWithQueryContext(t *testing.T) {
|
func TestInsertWithQueryContext(t *testing.T) {
|
||||||
|
|
@ -389,7 +389,7 @@ func TestInsertWithQueryContext(t *testing.T) {
|
||||||
dest := []model.Link{}
|
dest := []model.Link{}
|
||||||
err := stmt.QueryContext(ctx, db, &dest)
|
err := stmt.QueryContext(ctx, db, &dest)
|
||||||
|
|
||||||
assert.Error(t, err, "context deadline exceeded")
|
require.Error(t, err, "context deadline exceeded")
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestInsertWithExecContext(t *testing.T) {
|
func TestInsertWithExecContext(t *testing.T) {
|
||||||
|
|
@ -405,5 +405,5 @@ func TestInsertWithExecContext(t *testing.T) {
|
||||||
|
|
||||||
_, err := stmt.ExecContext(ctx, db)
|
_, err := stmt.ExecContext(ctx, db)
|
||||||
|
|
||||||
assert.Error(t, err, "context deadline exceeded")
|
require.Error(t, err, "context deadline exceeded")
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package postgres
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"github.com/go-jet/jet/internal/testutils"
|
"github.com/go-jet/jet/internal/testutils"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/require"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
|
@ -35,11 +35,11 @@ LOCK TABLE dvds.address IN`
|
||||||
|
|
||||||
_, err := query.Exec(tx)
|
_, err := query.Exec(tx)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
err = tx.Rollback()
|
err = tx.Rollback()
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, lockMode := range testData {
|
for _, lockMode := range testData {
|
||||||
|
|
@ -51,11 +51,11 @@ LOCK TABLE dvds.address IN`
|
||||||
|
|
||||||
_, err := query.Exec(tx)
|
_, err := query.Exec(tx)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
err = tx.Rollback()
|
err = tx.Rollback()
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -70,5 +70,5 @@ func TestLockExecContext(t *testing.T) {
|
||||||
|
|
||||||
_, err := Address.LOCK().IN(LOCK_ACCESS_SHARE).ExecContext(ctx, tx)
|
_, err := Address.LOCK().IN(LOCK_ACCESS_SHARE).ExecContext(ctx, tx)
|
||||||
|
|
||||||
assert.Error(t, err, "context deadline exceeded")
|
require.Error(t, err, "context deadline exceeded")
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import (
|
||||||
"github.com/go-jet/jet/internal/testutils"
|
"github.com/go-jet/jet/internal/testutils"
|
||||||
"github.com/go-jet/jet/tests/.gentestdata/jetdb/northwind/model"
|
"github.com/go-jet/jet/tests/.gentestdata/jetdb/northwind/model"
|
||||||
. "github.com/go-jet/jet/tests/.gentestdata/jetdb/northwind/table"
|
. "github.com/go-jet/jet/tests/.gentestdata/jetdb/northwind/table"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/require"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -59,7 +59,7 @@ func TestNorthwindJoinEverything(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
err := stmt.Query(db, &dest)
|
err := stmt.Query(db, &dest)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
//jsonSave("./testdata/northwind-all.json", dest)
|
//jsonSave("./testdata/northwind-all.json", dest)
|
||||||
testutils.AssertJSONFile(t, dest, "./testdata/results/postgres/northwind-all.json")
|
testutils.AssertJSONFile(t, dest, "./testdata/results/postgres/northwind-all.json")
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@ import (
|
||||||
"github.com/go-jet/jet/tests/.gentestdata/jetdb/test_sample/model"
|
"github.com/go-jet/jet/tests/.gentestdata/jetdb/test_sample/model"
|
||||||
. "github.com/go-jet/jet/tests/.gentestdata/jetdb/test_sample/table"
|
. "github.com/go-jet/jet/tests/.gentestdata/jetdb/test_sample/table"
|
||||||
"github.com/google/uuid"
|
"github.com/google/uuid"
|
||||||
"github.com/stretchr/testify/assert"
|
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
@ -26,8 +25,8 @@ WHERE all_types.uuid = 'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11';
|
||||||
result := model.AllTypes{}
|
result := model.AllTypes{}
|
||||||
|
|
||||||
err := query.Query(db, &result)
|
err := query.Query(db, &result)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, result.UUID, uuid.MustParse("a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11"))
|
require.Equal(t, result.UUID, uuid.MustParse("a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11"))
|
||||||
testutils.AssertDeepEqual(t, result.UUIDPtr, testutils.UUIDPtr("a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11"))
|
testutils.AssertDeepEqual(t, result.UUIDPtr, testutils.UUIDPtr("a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -47,8 +46,8 @@ func TestUUIDComplex(t *testing.T) {
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(dest), 2)
|
require.Equal(t, len(dest), 2)
|
||||||
testutils.AssertJSON(t, dest, `
|
testutils.AssertJSON(t, dest, `
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
|
|
@ -97,7 +96,7 @@ func TestUUIDComplex(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
err := singleQuery.Query(db, &dest)
|
err := singleQuery.Query(db, &dest)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
testutils.AssertJSON(t, dest, `
|
testutils.AssertJSON(t, dest, `
|
||||||
{
|
{
|
||||||
|
|
@ -133,7 +132,7 @@ func TestUUIDComplex(t *testing.T) {
|
||||||
}
|
}
|
||||||
err := leftQuery.Query(db, &dest)
|
err := leftQuery.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
testutils.AssertJSON(t, dest, `
|
testutils.AssertJSON(t, dest, `
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
|
|
@ -195,7 +194,7 @@ FROM test_sample.person;
|
||||||
|
|
||||||
err := query.Query(db, &result)
|
err := query.Query(db, &result)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
testutils.AssertJSON(t, result, `
|
testutils.AssertJSON(t, result, `
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
|
|
@ -263,8 +262,8 @@ ORDER BY employee.employee_id;
|
||||||
|
|
||||||
err = query.Query(db, &dest)
|
err = query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(dest), 8)
|
require.Equal(t, len(dest), 8)
|
||||||
testutils.AssertDeepEqual(t, dest[0].Employee, model.Employee{
|
testutils.AssertDeepEqual(t, dest[0].Employee, model.Employee{
|
||||||
EmployeeID: 1,
|
EmployeeID: 1,
|
||||||
FirstName: "Windy",
|
FirstName: "Windy",
|
||||||
|
|
@ -273,7 +272,7 @@ ORDER BY employee.employee_id;
|
||||||
ManagerID: nil,
|
ManagerID: nil,
|
||||||
})
|
})
|
||||||
|
|
||||||
assert.True(t, dest[0].Manager == nil)
|
require.True(t, dest[0].Manager == nil)
|
||||||
|
|
||||||
testutils.AssertDeepEqual(t, dest[7].Employee, model.Employee{
|
testutils.AssertDeepEqual(t, dest[7].Employee, model.Employee{
|
||||||
EmployeeID: 8,
|
EmployeeID: 8,
|
||||||
|
|
@ -311,9 +310,9 @@ FROM test_sample."WEIRD NAMES TABLE";
|
||||||
|
|
||||||
err := stmt.Query(db, &dest)
|
err := stmt.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
assert.Equal(t, len(dest), 1)
|
require.Equal(t, len(dest), 1)
|
||||||
testutils.AssertDeepEqual(t, dest[0], model.WeirdNamesTable{
|
testutils.AssertDeepEqual(t, dest[0], model.WeirdNamesTable{
|
||||||
WeirdColumnName1: "Doe",
|
WeirdColumnName1: "Doe",
|
||||||
WeirdColumnName2: "Doe",
|
WeirdColumnName2: "Doe",
|
||||||
|
|
@ -360,7 +359,7 @@ FROM test_sample."User";
|
||||||
var dest []model.User
|
var dest []model.User
|
||||||
|
|
||||||
err := stmt.Query(db, &dest)
|
err := stmt.Query(db, &dest)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
testutils.PrintJson(dest)
|
testutils.PrintJson(dest)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import (
|
||||||
"github.com/go-jet/jet/tests/.gentestdata/jetdb/dvds/model"
|
"github.com/go-jet/jet/tests/.gentestdata/jetdb/dvds/model"
|
||||||
. "github.com/go-jet/jet/tests/.gentestdata/jetdb/dvds/table"
|
. "github.com/go-jet/jet/tests/.gentestdata/jetdb/dvds/table"
|
||||||
"github.com/google/uuid"
|
"github.com/google/uuid"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/require"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -53,38 +53,38 @@ func TestScanToValidDestination(t *testing.T) {
|
||||||
dest := []struct{}{}
|
dest := []struct{}{}
|
||||||
err := oneInventoryQuery.Query(db, &dest)
|
err := oneInventoryQuery.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("global query function scan", func(t *testing.T) {
|
t.Run("global query function scan", func(t *testing.T) {
|
||||||
queryStr, args := oneInventoryQuery.Sql()
|
queryStr, args := oneInventoryQuery.Sql()
|
||||||
dest := []struct{}{}
|
dest := []struct{}{}
|
||||||
err := qrm.Query(nil, db, queryStr, args, &dest)
|
err := qrm.Query(nil, db, queryStr, args, &dest)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("pointer to slice", func(t *testing.T) {
|
t.Run("pointer to slice", func(t *testing.T) {
|
||||||
err := oneInventoryQuery.Query(db, &[]struct{}{})
|
err := oneInventoryQuery.Query(db, &[]struct{}{})
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("pointer to slice of pointer to structs", func(t *testing.T) {
|
t.Run("pointer to slice of pointer to structs", func(t *testing.T) {
|
||||||
err := oneInventoryQuery.Query(db, &[]*struct{}{})
|
err := oneInventoryQuery.Query(db, &[]*struct{}{})
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("pointer to slice of strings", func(t *testing.T) {
|
t.Run("pointer to slice of strings", func(t *testing.T) {
|
||||||
err := oneInventoryQuery.Query(db, &[]int32{})
|
err := oneInventoryQuery.Query(db, &[]int32{})
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("pointer to slice of strings", func(t *testing.T) {
|
t.Run("pointer to slice of strings", func(t *testing.T) {
|
||||||
err := oneInventoryQuery.Query(db, &[]*int32{})
|
err := oneInventoryQuery.Query(db, &[]*int32{})
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -99,7 +99,7 @@ func TestScanToStruct(t *testing.T) {
|
||||||
dest := model.Inventory{}
|
dest := model.Inventory{}
|
||||||
err := query.LIMIT(1).Query(db, &dest)
|
err := query.LIMIT(1).Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
testutils.AssertDeepEqual(t, inventory1, dest)
|
testutils.AssertDeepEqual(t, inventory1, dest)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
@ -107,7 +107,7 @@ func TestScanToStruct(t *testing.T) {
|
||||||
dest := model.Inventory{}
|
dest := model.Inventory{}
|
||||||
err := query.LIMIT(10).Query(db, &dest)
|
err := query.LIMIT(10).Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
testutils.AssertDeepEqual(t, inventory1, dest)
|
testutils.AssertDeepEqual(t, inventory1, dest)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
@ -117,7 +117,7 @@ func TestScanToStruct(t *testing.T) {
|
||||||
}{}
|
}{}
|
||||||
err := query.LIMIT(1).Query(db, &dest)
|
err := query.LIMIT(1).Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
testutils.AssertDeepEqual(t, inventory1, dest.Inventory)
|
testutils.AssertDeepEqual(t, inventory1, dest.Inventory)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
@ -127,7 +127,7 @@ func TestScanToStruct(t *testing.T) {
|
||||||
}{}
|
}{}
|
||||||
err := query.LIMIT(1).Query(db, &dest)
|
err := query.LIMIT(1).Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
testutils.AssertDeepEqual(t, inventory1, *dest.Inventory)
|
testutils.AssertDeepEqual(t, inventory1, *dest.Inventory)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
@ -158,11 +158,11 @@ func TestScanToStruct(t *testing.T) {
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
assert.Equal(t, *dest.InventoryID, int32(1))
|
require.Equal(t, *dest.InventoryID, int32(1))
|
||||||
assert.Equal(t, dest.FilmID, int16(1))
|
require.Equal(t, dest.FilmID, int16(1))
|
||||||
assert.Equal(t, *dest.StoreID, int16(1))
|
require.Equal(t, *dest.StoreID, int16(1))
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("type convert int32 to int", func(t *testing.T) {
|
t.Run("type convert int32 to int", func(t *testing.T) {
|
||||||
|
|
@ -175,7 +175,7 @@ func TestScanToStruct(t *testing.T) {
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("type mismatch scanner type", func(t *testing.T) {
|
t.Run("type mismatch scanner type", func(t *testing.T) {
|
||||||
|
|
@ -217,7 +217,7 @@ func TestScanToNestedStruct(t *testing.T) {
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
testutils.AssertDeepEqual(t, dest.Inventory, inventory1)
|
testutils.AssertDeepEqual(t, dest.Inventory, inventory1)
|
||||||
testutils.AssertDeepEqual(t, dest.Film, film1)
|
testutils.AssertDeepEqual(t, dest.Film, film1)
|
||||||
testutils.AssertDeepEqual(t, dest.Store, store1)
|
testutils.AssertDeepEqual(t, dest.Store, store1)
|
||||||
|
|
@ -232,7 +232,7 @@ func TestScanToNestedStruct(t *testing.T) {
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
testutils.AssertDeepEqual(t, *dest.Inventory, inventory1)
|
testutils.AssertDeepEqual(t, *dest.Inventory, inventory1)
|
||||||
testutils.AssertDeepEqual(t, *dest.Film, film1)
|
testutils.AssertDeepEqual(t, *dest.Film, film1)
|
||||||
testutils.AssertDeepEqual(t, *dest.Store, store1)
|
testutils.AssertDeepEqual(t, *dest.Store, store1)
|
||||||
|
|
@ -246,7 +246,7 @@ func TestScanToNestedStruct(t *testing.T) {
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
testutils.AssertDeepEqual(t, dest.Inventory, inventory1)
|
testutils.AssertDeepEqual(t, dest.Inventory, inventory1)
|
||||||
testutils.AssertDeepEqual(t, dest.Actor, model.Actor{})
|
testutils.AssertDeepEqual(t, dest.Actor, model.Actor{})
|
||||||
})
|
})
|
||||||
|
|
@ -259,7 +259,7 @@ func TestScanToNestedStruct(t *testing.T) {
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
testutils.AssertDeepEqual(t, dest.Inventory, inventory1)
|
testutils.AssertDeepEqual(t, dest.Inventory, inventory1)
|
||||||
testutils.AssertDeepEqual(t, dest.Actor, (*model.Actor)(nil))
|
testutils.AssertDeepEqual(t, dest.Actor, (*model.Actor)(nil))
|
||||||
})
|
})
|
||||||
|
|
@ -272,7 +272,7 @@ func TestScanToNestedStruct(t *testing.T) {
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
testutils.AssertDeepEqual(t, dest.Inventory, inventory1)
|
testutils.AssertDeepEqual(t, dest.Inventory, inventory1)
|
||||||
testutils.AssertDeepEqual(t, dest.Actor, (*model.Actor)(nil))
|
testutils.AssertDeepEqual(t, dest.Actor, (*model.Actor)(nil))
|
||||||
})
|
})
|
||||||
|
|
@ -291,9 +291,9 @@ func TestScanToNestedStruct(t *testing.T) {
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
testutils.AssertDeepEqual(t, dest.Inventory, inventory1)
|
testutils.AssertDeepEqual(t, dest.Inventory, inventory1)
|
||||||
assert.True(t, dest.Actor != nil)
|
require.True(t, dest.Actor != nil)
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("struct embedded unused pointer", func(t *testing.T) {
|
t.Run("struct embedded unused pointer", func(t *testing.T) {
|
||||||
|
|
@ -306,7 +306,7 @@ func TestScanToNestedStruct(t *testing.T) {
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
testutils.AssertDeepEqual(t, dest.Inventory, inventory1)
|
testutils.AssertDeepEqual(t, dest.Inventory, inventory1)
|
||||||
testutils.AssertDeepEqual(t, dest.Actor, (*struct{ model.Actor })(nil))
|
testutils.AssertDeepEqual(t, dest.Actor, (*struct{ model.Actor })(nil))
|
||||||
})
|
})
|
||||||
|
|
@ -322,7 +322,7 @@ func TestScanToNestedStruct(t *testing.T) {
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
testutils.AssertDeepEqual(t, dest.Inventory, inventory1)
|
testutils.AssertDeepEqual(t, dest.Inventory, inventory1)
|
||||||
testutils.AssertDeepEqual(t, dest.Actor, (*struct {
|
testutils.AssertDeepEqual(t, dest.Actor, (*struct {
|
||||||
model.Actor
|
model.Actor
|
||||||
|
|
@ -341,9 +341,9 @@ func TestScanToNestedStruct(t *testing.T) {
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
testutils.AssertDeepEqual(t, dest.Inventory, inventory1)
|
testutils.AssertDeepEqual(t, dest.Inventory, inventory1)
|
||||||
assert.True(t, dest.Actor != nil)
|
require.True(t, dest.Actor != nil)
|
||||||
testutils.AssertDeepEqual(t, dest.Actor.Actor, model.Actor{})
|
testutils.AssertDeepEqual(t, dest.Actor.Actor, model.Actor{})
|
||||||
testutils.AssertDeepEqual(t, dest.Actor.Film, film1)
|
testutils.AssertDeepEqual(t, dest.Actor.Film, film1)
|
||||||
})
|
})
|
||||||
|
|
@ -361,10 +361,10 @@ func TestScanToNestedStruct(t *testing.T) {
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
testutils.AssertDeepEqual(t, dest.Inventory, inventory1)
|
testutils.AssertDeepEqual(t, dest.Inventory, inventory1)
|
||||||
assert.True(t, dest.Actor != nil)
|
require.True(t, dest.Actor != nil)
|
||||||
assert.True(t, dest.Actor.Film != nil)
|
require.True(t, dest.Actor.Film != nil)
|
||||||
testutils.AssertDeepEqual(t, dest.Actor.Film.Film, &film1)
|
testutils.AssertDeepEqual(t, dest.Actor.Film.Film, &film1)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
@ -398,7 +398,7 @@ func TestScanToNestedStruct(t *testing.T) {
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
testutils.AssertDeepEqual(t, dest.Inventory, inventory1)
|
testutils.AssertDeepEqual(t, dest.Inventory, inventory1)
|
||||||
testutils.AssertDeepEqual(t, dest.Film.Film, film1)
|
testutils.AssertDeepEqual(t, dest.Film.Film, film1)
|
||||||
testutils.AssertDeepEqual(t, dest.Store, store1)
|
testutils.AssertDeepEqual(t, dest.Store, store1)
|
||||||
|
|
@ -423,8 +423,8 @@ func TestScanToSlice(t *testing.T) {
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(dest), 10)
|
require.Equal(t, len(dest), 10)
|
||||||
testutils.AssertDeepEqual(t, dest[0], inventory1)
|
testutils.AssertDeepEqual(t, dest[0], inventory1)
|
||||||
testutils.AssertDeepEqual(t, dest[1], inventory2)
|
testutils.AssertDeepEqual(t, dest[1], inventory2)
|
||||||
})
|
})
|
||||||
|
|
@ -433,7 +433,7 @@ func TestScanToSlice(t *testing.T) {
|
||||||
var dest []int32
|
var dest []int32
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
testutils.AssertDeepEqual(t, dest, []int32{1, 2, 3, 4, 5, 6, 7, 8, 9, 10})
|
testutils.AssertDeepEqual(t, dest, []int32{1, 2, 3, 4, 5, 6, 7, 8, 9, 10})
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
@ -442,14 +442,14 @@ func TestScanToSlice(t *testing.T) {
|
||||||
var dest []int
|
var dest []int
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("slice type mismatch", func(t *testing.T) {
|
t.Run("slice type mismatch", func(t *testing.T) {
|
||||||
var dest []bool
|
var dest []bool
|
||||||
|
|
||||||
testutils.AssertQueryPanicErr(t, query, db, &dest, `jet: can't append int32 to []bool slice`)
|
testutils.AssertQueryPanicErr(t, query, db, &dest, `jet: can't append int32 to []bool slice`)
|
||||||
//assert.Error(t, err, `jet: can't append int32 to []bool slice `)
|
//require.Error(t, err, `jet: can't append int32 to []bool slice `)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
@ -473,7 +473,7 @@ func TestScanToSlice(t *testing.T) {
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
testutils.AssertDeepEqual(t, dest.Film, film1)
|
testutils.AssertDeepEqual(t, dest.Film, film1)
|
||||||
testutils.AssertDeepEqual(t, dest.IDs, []int32{1, 2, 3, 4, 5, 6, 7, 8})
|
testutils.AssertDeepEqual(t, dest.IDs, []int32{1, 2, 3, 4, 5, 6, 7, 8})
|
||||||
})
|
})
|
||||||
|
|
@ -486,8 +486,8 @@ func TestScanToSlice(t *testing.T) {
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(dest), 2)
|
require.Equal(t, len(dest), 2)
|
||||||
testutils.AssertDeepEqual(t, dest[0].Film, film1)
|
testutils.AssertDeepEqual(t, dest[0].Film, film1)
|
||||||
testutils.AssertDeepEqual(t, dest[0].IDs, []int32{1, 2, 3, 4, 5, 6, 7, 8})
|
testutils.AssertDeepEqual(t, dest[0].IDs, []int32{1, 2, 3, 4, 5, 6, 7, 8})
|
||||||
testutils.AssertDeepEqual(t, dest[1].Film, film2)
|
testutils.AssertDeepEqual(t, dest[1].Film, film2)
|
||||||
|
|
@ -502,8 +502,8 @@ func TestScanToSlice(t *testing.T) {
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(dest), 2)
|
require.Equal(t, len(dest), 2)
|
||||||
testutils.AssertDeepEqual(t, dest[0].Film, film1)
|
testutils.AssertDeepEqual(t, dest[0].Film, film1)
|
||||||
testutils.AssertDeepEqual(t, dest[0].IDs, []*int32{testutils.Int32Ptr(1), testutils.Int32Ptr(2), testutils.Int32Ptr(3), testutils.Int32Ptr(4),
|
testutils.AssertDeepEqual(t, dest[0].IDs, []*int32{testutils.Int32Ptr(1), testutils.Int32Ptr(2), testutils.Int32Ptr(3), testutils.Int32Ptr(4),
|
||||||
testutils.Int32Ptr(5), testutils.Int32Ptr(6), testutils.Int32Ptr(7), testutils.Int32Ptr(8)})
|
testutils.Int32Ptr(5), testutils.Int32Ptr(6), testutils.Int32Ptr(7), testutils.Int32Ptr(8)})
|
||||||
|
|
@ -520,8 +520,8 @@ func TestScanToSlice(t *testing.T) {
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(dest), 10)
|
require.Equal(t, len(dest), 10)
|
||||||
testutils.AssertDeepEqual(t, dest[0].Inventory, inventory1)
|
testutils.AssertDeepEqual(t, dest[0].Inventory, inventory1)
|
||||||
testutils.AssertDeepEqual(t, dest[0].Film, film1)
|
testutils.AssertDeepEqual(t, dest[0].Film, film1)
|
||||||
testutils.AssertDeepEqual(t, dest[0].Store, store1)
|
testutils.AssertDeepEqual(t, dest[0].Store, store1)
|
||||||
|
|
@ -538,8 +538,8 @@ func TestScanToSlice(t *testing.T) {
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(dest), 10)
|
require.Equal(t, len(dest), 10)
|
||||||
testutils.AssertDeepEqual(t, dest[0].Inventory, &inventory1)
|
testutils.AssertDeepEqual(t, dest[0].Inventory, &inventory1)
|
||||||
testutils.AssertDeepEqual(t, dest[0].Film, film1)
|
testutils.AssertDeepEqual(t, dest[0].Film, film1)
|
||||||
testutils.AssertDeepEqual(t, dest[0].Store, &store1)
|
testutils.AssertDeepEqual(t, dest[0].Store, &store1)
|
||||||
|
|
@ -558,8 +558,8 @@ func TestScanToSlice(t *testing.T) {
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(dest), 10)
|
require.Equal(t, len(dest), 10)
|
||||||
testutils.AssertDeepEqual(t, dest[0].Inventory, inventory1)
|
testutils.AssertDeepEqual(t, dest[0].Inventory, inventory1)
|
||||||
testutils.AssertDeepEqual(t, dest[0].Film, &film1)
|
testutils.AssertDeepEqual(t, dest[0].Film, &film1)
|
||||||
testutils.AssertDeepEqual(t, dest[0].Store.Store, &store1)
|
testutils.AssertDeepEqual(t, dest[0].Store.Store, &store1)
|
||||||
|
|
@ -579,8 +579,8 @@ func TestScanToSlice(t *testing.T) {
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(dest), 2)
|
require.Equal(t, len(dest), 2)
|
||||||
testutils.AssertDeepEqual(t, dest[0].Film, film1)
|
testutils.AssertDeepEqual(t, dest[0].Film, film1)
|
||||||
testutils.AssertDeepEqual(t, len(dest[0].Inventories), 8)
|
testutils.AssertDeepEqual(t, len(dest[0].Inventories), 8)
|
||||||
testutils.AssertDeepEqual(t, dest[0].Inventories[0].Inventory, inventory1)
|
testutils.AssertDeepEqual(t, dest[0].Inventories[0].Inventory, inventory1)
|
||||||
|
|
@ -601,14 +601,14 @@ func TestScanToSlice(t *testing.T) {
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
assert.Equal(t, len(dest), 2)
|
require.Equal(t, len(dest), 2)
|
||||||
testutils.AssertDeepEqual(t, dest[0].Film, film1)
|
testutils.AssertDeepEqual(t, dest[0].Film, film1)
|
||||||
assert.Equal(t, len(dest[0].Inventories), 8)
|
require.Equal(t, len(dest[0].Inventories), 8)
|
||||||
testutils.AssertDeepEqual(t, dest[0].Inventories[0].Inventory, inventory1)
|
testutils.AssertDeepEqual(t, dest[0].Inventories[0].Inventory, inventory1)
|
||||||
assert.True(t, dest[0].Inventories[0].Rentals == nil)
|
require.True(t, dest[0].Inventories[0].Rentals == nil)
|
||||||
assert.True(t, dest[0].Inventories[0].Rentals2 == nil)
|
require.True(t, dest[0].Inventories[0].Rentals2 == nil)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
@ -638,12 +638,12 @@ func TestScanToSlice(t *testing.T) {
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(dest), 108)
|
require.Equal(t, len(dest), 108)
|
||||||
testutils.AssertDeepEqual(t, dest[100].Country, countryUk)
|
testutils.AssertDeepEqual(t, dest[100].Country, countryUk)
|
||||||
assert.Equal(t, len(dest[100].Cities), 8)
|
require.Equal(t, len(dest[100].Cities), 8)
|
||||||
testutils.AssertDeepEqual(t, dest[100].Cities[2].City, cityLondon)
|
testutils.AssertDeepEqual(t, dest[100].Cities[2].City, cityLondon)
|
||||||
assert.Equal(t, len(dest[100].Cities[2].Adresses), 2)
|
require.Equal(t, len(dest[100].Cities[2].Adresses), 2)
|
||||||
testutils.AssertDeepEqual(t, dest[100].Cities[2].Adresses[0].Address, address256)
|
testutils.AssertDeepEqual(t, dest[100].Cities[2].Adresses[0].Address, address256)
|
||||||
testutils.AssertDeepEqual(t, dest[100].Cities[2].Adresses[0].Customer, customer256)
|
testutils.AssertDeepEqual(t, dest[100].Cities[2].Adresses[0].Customer, customer256)
|
||||||
testutils.AssertDeepEqual(t, dest[100].Cities[2].Adresses[1].Address, addres517)
|
testutils.AssertDeepEqual(t, dest[100].Cities[2].Adresses[1].Address, addres517)
|
||||||
|
|
@ -667,12 +667,12 @@ func TestScanToSlice(t *testing.T) {
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(dest), 108)
|
require.Equal(t, len(dest), 108)
|
||||||
testutils.AssertDeepEqual(t, dest[100].Country, &countryUk)
|
testutils.AssertDeepEqual(t, dest[100].Country, &countryUk)
|
||||||
assert.Equal(t, len(dest[100].Cities), 8)
|
require.Equal(t, len(dest[100].Cities), 8)
|
||||||
testutils.AssertDeepEqual(t, dest[100].Cities[2].City, &cityLondon)
|
testutils.AssertDeepEqual(t, dest[100].Cities[2].City, &cityLondon)
|
||||||
assert.Equal(t, len(*dest[100].Cities[2].Adresses), 2)
|
require.Equal(t, len(*dest[100].Cities[2].Adresses), 2)
|
||||||
testutils.AssertDeepEqual(t, (*dest[100].Cities[2].Adresses)[0].Address, &address256)
|
testutils.AssertDeepEqual(t, (*dest[100].Cities[2].Adresses)[0].Address, &address256)
|
||||||
testutils.AssertDeepEqual(t, (*dest[100].Cities[2].Adresses)[0].Customer, &customer256)
|
testutils.AssertDeepEqual(t, (*dest[100].Cities[2].Adresses)[0].Customer, &customer256)
|
||||||
testutils.AssertDeepEqual(t, (*dest[100].Cities[2].Adresses)[1].Address, &addres517)
|
testutils.AssertDeepEqual(t, (*dest[100].Cities[2].Adresses)[1].Address, &addres517)
|
||||||
|
|
@ -703,7 +703,7 @@ func TestStructScanErrNoRows(t *testing.T) {
|
||||||
|
|
||||||
err := query.Query(db, &customer)
|
err := query.Query(db, &customer)
|
||||||
|
|
||||||
assert.Error(t, err, qrm.ErrNoRows.Error())
|
require.Error(t, err, qrm.ErrNoRows.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestStructScanAllNull(t *testing.T) {
|
func TestStructScanAllNull(t *testing.T) {
|
||||||
|
|
@ -716,7 +716,7 @@ func TestStructScanAllNull(t *testing.T) {
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
testutils.AssertDeepEqual(t, dest, struct {
|
testutils.AssertDeepEqual(t, dest, struct {
|
||||||
Null1 *int
|
Null1 *int
|
||||||
Null2 *int
|
Null2 *int
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import (
|
||||||
"github.com/go-jet/jet/tests/.gentestdata/jetdb/dvds/model"
|
"github.com/go-jet/jet/tests/.gentestdata/jetdb/dvds/model"
|
||||||
. "github.com/go-jet/jet/tests/.gentestdata/jetdb/dvds/table"
|
. "github.com/go-jet/jet/tests/.gentestdata/jetdb/dvds/table"
|
||||||
"github.com/go-jet/jet/tests/.gentestdata/jetdb/dvds/view"
|
"github.com/go-jet/jet/tests/.gentestdata/jetdb/dvds/view"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/require"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
@ -33,7 +33,7 @@ WHERE actor.actor_id = 2;
|
||||||
actor := model.Actor{}
|
actor := model.Actor{}
|
||||||
err := query.Query(db, &actor)
|
err := query.Query(db, &actor)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
expectedActor := model.Actor{
|
expectedActor := model.Actor{
|
||||||
ActorID: 2,
|
ActorID: 2,
|
||||||
|
|
@ -84,8 +84,8 @@ LIMIT 30;
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(dest), 30)
|
require.Equal(t, len(dest), 30)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestSelect_ScanToSlice(t *testing.T) {
|
func TestSelect_ScanToSlice(t *testing.T) {
|
||||||
|
|
@ -110,9 +110,9 @@ ORDER BY customer.customer_id ASC;
|
||||||
testutils.AssertDebugStatementSql(t, query, expectedSQL)
|
testutils.AssertDebugStatementSql(t, query, expectedSQL)
|
||||||
|
|
||||||
err := query.Query(db, &customers)
|
err := query.Query(db, &customers)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
assert.Equal(t, len(customers), 599)
|
require.Equal(t, len(customers), 599)
|
||||||
|
|
||||||
testutils.AssertDeepEqual(t, customer0, customers[0])
|
testutils.AssertDeepEqual(t, customer0, customers[0])
|
||||||
testutils.AssertDeepEqual(t, customer1, customers[1])
|
testutils.AssertDeepEqual(t, customer1, customers[1])
|
||||||
|
|
@ -164,7 +164,7 @@ LIMIT 12;
|
||||||
|
|
||||||
dest := []struct{}{}
|
dest := []struct{}{}
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestJoinQueryStruct(t *testing.T) {
|
func TestJoinQueryStruct(t *testing.T) {
|
||||||
|
|
@ -253,10 +253,10 @@ LIMIT 1000;
|
||||||
|
|
||||||
err := query.Query(db, &languageActorFilm)
|
err := query.Query(db, &languageActorFilm)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(languageActorFilm), 1)
|
require.Equal(t, len(languageActorFilm), 1)
|
||||||
assert.Equal(t, len(languageActorFilm[0].Films), 10)
|
require.Equal(t, len(languageActorFilm[0].Films), 10)
|
||||||
assert.Equal(t, len(languageActorFilm[0].Films[0].Actors), 10)
|
require.Equal(t, len(languageActorFilm[0].Films[0].Actors), 10)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -302,20 +302,20 @@ LIMIT 15;
|
||||||
|
|
||||||
err := query.Query(db, &filmsPerLanguage)
|
err := query.Query(db, &filmsPerLanguage)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(filmsPerLanguage), 1)
|
require.Equal(t, len(filmsPerLanguage), 1)
|
||||||
assert.Equal(t, len(filmsPerLanguage[0].Film), limit)
|
require.Equal(t, len(filmsPerLanguage[0].Film), limit)
|
||||||
|
|
||||||
englishFilms := filmsPerLanguage[0]
|
englishFilms := filmsPerLanguage[0]
|
||||||
|
|
||||||
assert.Equal(t, *englishFilms.Film[0].Rating, model.MpaaRating_Nc17)
|
require.Equal(t, *englishFilms.Film[0].Rating, model.MpaaRating_Nc17)
|
||||||
|
|
||||||
filmsPerLanguageWithPtrs := []*FilmsPerLanguage{}
|
filmsPerLanguageWithPtrs := []*FilmsPerLanguage{}
|
||||||
err = query.Query(db, &filmsPerLanguageWithPtrs)
|
err = query.Query(db, &filmsPerLanguageWithPtrs)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(filmsPerLanguage), 1)
|
require.Equal(t, len(filmsPerLanguage), 1)
|
||||||
assert.Equal(t, len(filmsPerLanguage[0].Film), limit)
|
require.Equal(t, len(filmsPerLanguage[0].Film), limit)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestExecution1(t *testing.T) {
|
func TestExecution1(t *testing.T) {
|
||||||
|
|
@ -359,14 +359,14 @@ ORDER BY city.city_id, address.address_id, customer.customer_id;
|
||||||
|
|
||||||
err := stmt.Query(db, &dest)
|
err := stmt.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
assert.Equal(t, len(dest), 2)
|
require.Equal(t, len(dest), 2)
|
||||||
assert.Equal(t, dest[0].City.City, "London")
|
require.Equal(t, dest[0].City.City, "London")
|
||||||
assert.Equal(t, dest[1].City.City, "York")
|
require.Equal(t, dest[1].City.City, "York")
|
||||||
assert.Equal(t, len(dest[0].Customers), 2)
|
require.Equal(t, len(dest[0].Customers), 2)
|
||||||
assert.Equal(t, dest[0].Customers[0].LastName, "Hoffman")
|
require.Equal(t, dest[0].Customers[0].LastName, "Hoffman")
|
||||||
assert.Equal(t, dest[0].Customers[1].LastName, "Vines")
|
require.Equal(t, dest[0].Customers[1].LastName, "Vines")
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -423,14 +423,14 @@ ORDER BY city.city_id, address.address_id, customer.customer_id;
|
||||||
|
|
||||||
err := stmt.Query(db, &dest)
|
err := stmt.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
assert.Equal(t, len(dest), 2)
|
require.Equal(t, len(dest), 2)
|
||||||
assert.Equal(t, dest[0].Name, "London")
|
require.Equal(t, dest[0].Name, "London")
|
||||||
assert.Equal(t, dest[1].Name, "York")
|
require.Equal(t, dest[1].Name, "York")
|
||||||
assert.Equal(t, len(dest[0].Customers), 2)
|
require.Equal(t, len(dest[0].Customers), 2)
|
||||||
assert.Equal(t, *dest[0].Customers[0].LastName, "Hoffman")
|
require.Equal(t, *dest[0].Customers[0].LastName, "Hoffman")
|
||||||
assert.Equal(t, *dest[0].Customers[1].LastName, "Vines")
|
require.Equal(t, *dest[0].Customers[1].LastName, "Vines")
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -481,14 +481,14 @@ ORDER BY city.city_id, address.address_id, customer.customer_id;
|
||||||
|
|
||||||
err := stmt.Query(db, &dest)
|
err := stmt.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
assert.Equal(t, len(dest), 2)
|
require.Equal(t, len(dest), 2)
|
||||||
assert.Equal(t, dest[0].CityName, "London")
|
require.Equal(t, dest[0].CityName, "London")
|
||||||
assert.Equal(t, dest[1].CityName, "York")
|
require.Equal(t, dest[1].CityName, "York")
|
||||||
assert.Equal(t, len(dest[0].Customers), 2)
|
require.Equal(t, len(dest[0].Customers), 2)
|
||||||
assert.Equal(t, *dest[0].Customers[0].LastName, "Hoffman")
|
require.Equal(t, *dest[0].Customers[0].LastName, "Hoffman")
|
||||||
assert.Equal(t, *dest[0].Customers[1].LastName, "Vines")
|
require.Equal(t, *dest[0].Customers[1].LastName, "Vines")
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestExecution4(t *testing.T) {
|
func TestExecution4(t *testing.T) {
|
||||||
|
|
@ -538,8 +538,8 @@ ORDER BY city.city_id, address.address_id, customer.customer_id;
|
||||||
|
|
||||||
err := stmt.Query(db, &dest)
|
err := stmt.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(dest), 2)
|
require.Equal(t, len(dest), 2)
|
||||||
testutils.AssertJSON(t, dest, `
|
testutils.AssertJSON(t, dest, `
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
|
|
@ -597,9 +597,9 @@ func TestJoinQuerySliceWithPtrs(t *testing.T) {
|
||||||
filmsPerLanguageWithPtrs := []*FilmsPerLanguage{}
|
filmsPerLanguageWithPtrs := []*FilmsPerLanguage{}
|
||||||
err := query.Query(db, &filmsPerLanguageWithPtrs)
|
err := query.Query(db, &filmsPerLanguageWithPtrs)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(filmsPerLanguageWithPtrs), 1)
|
require.Equal(t, len(filmsPerLanguageWithPtrs), 1)
|
||||||
assert.Equal(t, len(*filmsPerLanguageWithPtrs[0].Film), int(limit))
|
require.Equal(t, len(*filmsPerLanguageWithPtrs[0].Film), int(limit))
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestSelect_WithoutUniqueColumnSelected(t *testing.T) {
|
func TestSelect_WithoutUniqueColumnSelected(t *testing.T) {
|
||||||
|
|
@ -609,11 +609,11 @@ func TestSelect_WithoutUniqueColumnSelected(t *testing.T) {
|
||||||
|
|
||||||
err := query.Query(db, &customers)
|
err := query.Query(db, &customers)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
//spew.Dump(customers)
|
//spew.Dump(customers)
|
||||||
|
|
||||||
assert.Equal(t, len(customers), 599)
|
require.Equal(t, len(customers), 599)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestSelectOrderByAscDesc(t *testing.T) {
|
func TestSelectOrderByAscDesc(t *testing.T) {
|
||||||
|
|
@ -623,7 +623,7 @@ func TestSelectOrderByAscDesc(t *testing.T) {
|
||||||
ORDER_BY(Customer.FirstName.ASC()).
|
ORDER_BY(Customer.FirstName.ASC()).
|
||||||
Query(db, &customersAsc)
|
Query(db, &customersAsc)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
firstCustomerAsc := customersAsc[0]
|
firstCustomerAsc := customersAsc[0]
|
||||||
lastCustomerAsc := customersAsc[len(customersAsc)-1]
|
lastCustomerAsc := customersAsc[len(customersAsc)-1]
|
||||||
|
|
@ -633,7 +633,7 @@ func TestSelectOrderByAscDesc(t *testing.T) {
|
||||||
ORDER_BY(Customer.FirstName.DESC()).
|
ORDER_BY(Customer.FirstName.DESC()).
|
||||||
Query(db, &customersDesc)
|
Query(db, &customersDesc)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
firstCustomerDesc := customersDesc[0]
|
firstCustomerDesc := customersDesc[0]
|
||||||
lastCustomerDesc := customersDesc[len(customersAsc)-1]
|
lastCustomerDesc := customersDesc[len(customersAsc)-1]
|
||||||
|
|
@ -646,7 +646,7 @@ func TestSelectOrderByAscDesc(t *testing.T) {
|
||||||
ORDER_BY(Customer.FirstName.ASC(), Customer.LastName.DESC()).
|
ORDER_BY(Customer.FirstName.ASC(), Customer.LastName.DESC()).
|
||||||
Query(db, &customersAscDesc)
|
Query(db, &customersAscDesc)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
customerAscDesc326 := model.Customer{
|
customerAscDesc326 := model.Customer{
|
||||||
CustomerID: 67,
|
CustomerID: 67,
|
||||||
|
|
@ -702,16 +702,16 @@ ORDER BY customer.customer_id ASC;
|
||||||
|
|
||||||
err := query.Query(db, &allCustomersAndAddress)
|
err := query.Query(db, &allCustomersAndAddress)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(allCustomersAndAddress), 603)
|
require.Equal(t, len(allCustomersAndAddress), 603)
|
||||||
|
|
||||||
testutils.AssertDeepEqual(t, allCustomersAndAddress[0].Customer, &customer0)
|
testutils.AssertDeepEqual(t, allCustomersAndAddress[0].Customer, &customer0)
|
||||||
assert.True(t, allCustomersAndAddress[0].Address != nil)
|
require.True(t, allCustomersAndAddress[0].Address != nil)
|
||||||
|
|
||||||
lastCustomerAddress := allCustomersAndAddress[len(allCustomersAndAddress)-1]
|
lastCustomerAddress := allCustomersAndAddress[len(allCustomersAndAddress)-1]
|
||||||
|
|
||||||
assert.True(t, lastCustomerAddress.Customer == nil)
|
require.True(t, lastCustomerAddress.Customer == nil)
|
||||||
assert.True(t, lastCustomerAddress.Address != nil)
|
require.True(t, lastCustomerAddress.Address != nil)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -755,9 +755,9 @@ LIMIT 1000;
|
||||||
|
|
||||||
err := query.Query(db, &customerAddresCrosJoined)
|
err := query.Query(db, &customerAddresCrosJoined)
|
||||||
|
|
||||||
assert.Equal(t, len(customerAddresCrosJoined), 1000)
|
require.Equal(t, len(customerAddresCrosJoined), 1000)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestSelectSelfJoin(t *testing.T) {
|
func TestSelectSelfJoin(t *testing.T) {
|
||||||
|
|
@ -813,11 +813,11 @@ ORDER BY f1.film_id ASC;
|
||||||
|
|
||||||
err := query.Query(db, &theSameLengthFilms)
|
err := query.Query(db, &theSameLengthFilms)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
//spew.Dump(theSameLengthFilms)
|
//spew.Dump(theSameLengthFilms)
|
||||||
|
|
||||||
//assert.Equal(t, len(theSameLengthFilms), 100)
|
//require.Equal(t, len(theSameLengthFilms), 100)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestSelectAliasColumn(t *testing.T) {
|
func TestSelectAliasColumn(t *testing.T) {
|
||||||
|
|
@ -854,11 +854,11 @@ LIMIT 1000;
|
||||||
|
|
||||||
err := query.Query(db, &films)
|
err := query.Query(db, &films)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
//spew.Dump(films)
|
//spew.Dump(films)
|
||||||
|
|
||||||
assert.Equal(t, len(films), 1000)
|
require.Equal(t, len(films), 1000)
|
||||||
testutils.AssertDeepEqual(t, films[0], thesameLengthFilms{"Alien Center", "Iron Moon", 46})
|
testutils.AssertDeepEqual(t, films[0], thesameLengthFilms{"Alien Center", "Iron Moon", 46})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -911,7 +911,7 @@ FROM dvds.actor
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestSelectFunctions(t *testing.T) {
|
func TestSelectFunctions(t *testing.T) {
|
||||||
|
|
@ -931,8 +931,8 @@ FROM dvds.film;
|
||||||
|
|
||||||
err := query.Query(db, &ret)
|
err := query.Query(db, &ret)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, ret.MaxFilmRate, 4.99)
|
require.Equal(t, ret.MaxFilmRate, 4.99)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestSelectQueryScalar(t *testing.T) {
|
func TestSelectQueryScalar(t *testing.T) {
|
||||||
|
|
@ -973,9 +973,9 @@ ORDER BY film.film_id ASC;
|
||||||
maxRentalRateFilms := []model.Film{}
|
maxRentalRateFilms := []model.Film{}
|
||||||
err := query.Query(db, &maxRentalRateFilms)
|
err := query.Query(db, &maxRentalRateFilms)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
assert.Equal(t, len(maxRentalRateFilms), 336)
|
require.Equal(t, len(maxRentalRateFilms), 336)
|
||||||
|
|
||||||
gRating := model.MpaaRating_G
|
gRating := model.MpaaRating_G
|
||||||
|
|
||||||
|
|
@ -1060,11 +1060,11 @@ ORDER BY customer.customer_id, SUM(payment.amount) ASC;
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
//testutils.PrintJson(dest)
|
//testutils.PrintJson(dest)
|
||||||
|
|
||||||
assert.Equal(t, len(dest), 104)
|
require.Equal(t, len(dest), 104)
|
||||||
|
|
||||||
//testutils.SaveJsonFile(dest, "postgres/testdata/customer_payment_sum.json")
|
//testutils.SaveJsonFile(dest, "postgres/testdata/customer_payment_sum.json")
|
||||||
testutils.AssertJSONFile(t, dest, "./testdata/results/postgres/customer_payment_sum.json")
|
testutils.AssertJSONFile(t, dest, "./testdata/results/postgres/customer_payment_sum.json")
|
||||||
|
|
@ -1121,8 +1121,8 @@ ORDER BY customer_payment_sum."amount_sum" ASC;
|
||||||
customersWithAmounts := []CustomerWithAmounts{}
|
customersWithAmounts := []CustomerWithAmounts{}
|
||||||
|
|
||||||
err := query.Query(db, &customersWithAmounts)
|
err := query.Query(db, &customersWithAmounts)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(customersWithAmounts), 599)
|
require.Equal(t, len(customersWithAmounts), 599)
|
||||||
|
|
||||||
testutils.AssertDeepEqual(t, customersWithAmounts[0].Customer, &model.Customer{
|
testutils.AssertDeepEqual(t, customersWithAmounts[0].Customer, &model.Customer{
|
||||||
CustomerID: 318,
|
CustomerID: 318,
|
||||||
|
|
@ -1137,7 +1137,7 @@ ORDER BY customer_payment_sum."amount_sum" ASC;
|
||||||
Active: testutils.Int32Ptr(1),
|
Active: testutils.Int32Ptr(1),
|
||||||
})
|
})
|
||||||
|
|
||||||
assert.Equal(t, customersWithAmounts[0].AmountSum, 27.93)
|
require.Equal(t, customersWithAmounts[0].AmountSum, 27.93)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestSelectStaff(t *testing.T) {
|
func TestSelectStaff(t *testing.T) {
|
||||||
|
|
@ -1145,7 +1145,7 @@ func TestSelectStaff(t *testing.T) {
|
||||||
|
|
||||||
err := Staff.SELECT(Staff.AllColumns).Query(db, &staffs)
|
err := Staff.SELECT(Staff.AllColumns).Query(db, &staffs)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
testutils.AssertJSON(t, staffs, `
|
testutils.AssertJSON(t, staffs, `
|
||||||
[
|
[
|
||||||
|
|
@ -1203,11 +1203,11 @@ ORDER BY payment.payment_date ASC;
|
||||||
|
|
||||||
err := query.Query(db, &payments)
|
err := query.Query(db, &payments)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
//spew.Dump(payments)
|
//spew.Dump(payments)
|
||||||
|
|
||||||
assert.Equal(t, len(payments), 9)
|
require.Equal(t, len(payments), 9)
|
||||||
testutils.AssertDeepEqual(t, payments[0], model.Payment{
|
testutils.AssertDeepEqual(t, payments[0], model.Payment{
|
||||||
PaymentID: 17793,
|
PaymentID: 17793,
|
||||||
CustomerID: 416,
|
CustomerID: 416,
|
||||||
|
|
@ -1257,8 +1257,8 @@ OFFSET 20;
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(dest), 10)
|
require.Equal(t, len(dest), 10)
|
||||||
testutils.AssertDeepEqual(t, dest[0], model.Payment{
|
testutils.AssertDeepEqual(t, dest[0], model.Payment{
|
||||||
PaymentID: 17523,
|
PaymentID: 17523,
|
||||||
Amount: 4.99,
|
Amount: 4.99,
|
||||||
|
|
@ -1283,8 +1283,8 @@ func TestAllSetOperators(t *testing.T) {
|
||||||
dest := []model.Payment{}
|
dest := []model.Payment{}
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(dest), 20)
|
require.Equal(t, len(dest), 20)
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("UNION_ALL", func(t *testing.T) {
|
t.Run("UNION_ALL", func(t *testing.T) {
|
||||||
|
|
@ -1293,8 +1293,8 @@ func TestAllSetOperators(t *testing.T) {
|
||||||
dest := []model.Payment{}
|
dest := []model.Payment{}
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(dest), 20)
|
require.Equal(t, len(dest), 20)
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("INTERSECT", func(t *testing.T) {
|
t.Run("INTERSECT", func(t *testing.T) {
|
||||||
|
|
@ -1303,8 +1303,8 @@ func TestAllSetOperators(t *testing.T) {
|
||||||
dest := []model.Payment{}
|
dest := []model.Payment{}
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(dest), 0)
|
require.Equal(t, len(dest), 0)
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("INTERSECT_ALL", func(t *testing.T) {
|
t.Run("INTERSECT_ALL", func(t *testing.T) {
|
||||||
|
|
@ -1313,8 +1313,8 @@ func TestAllSetOperators(t *testing.T) {
|
||||||
dest := []model.Payment{}
|
dest := []model.Payment{}
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(dest), 0)
|
require.Equal(t, len(dest), 0)
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("EXCEPT", func(t *testing.T) {
|
t.Run("EXCEPT", func(t *testing.T) {
|
||||||
|
|
@ -1323,8 +1323,8 @@ func TestAllSetOperators(t *testing.T) {
|
||||||
dest := []model.Payment{}
|
dest := []model.Payment{}
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(dest), 10)
|
require.Equal(t, len(dest), 10)
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("EXCEPT_ALL", func(t *testing.T) {
|
t.Run("EXCEPT_ALL", func(t *testing.T) {
|
||||||
|
|
@ -1333,8 +1333,8 @@ func TestAllSetOperators(t *testing.T) {
|
||||||
dest := []model.Payment{}
|
dest := []model.Payment{}
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(dest), 10)
|
require.Equal(t, len(dest), 10)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1363,10 +1363,10 @@ LIMIT 20;
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(dest), 20)
|
require.Equal(t, len(dest), 20)
|
||||||
assert.Equal(t, dest[0].StaffIDNum, "TWO")
|
require.Equal(t, dest[0].StaffIDNum, "TWO")
|
||||||
assert.Equal(t, dest[1].StaffIDNum, "ONE")
|
require.Equal(t, dest[1].StaffIDNum, "ONE")
|
||||||
}
|
}
|
||||||
|
|
||||||
func getRowLockTestData() map[RowLock]string {
|
func getRowLockTestData() map[RowLock]string {
|
||||||
|
|
@ -1396,12 +1396,12 @@ FOR`
|
||||||
tx, _ := db.Begin()
|
tx, _ := db.Begin()
|
||||||
|
|
||||||
res, err := query.Exec(tx)
|
res, err := query.Exec(tx)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
rowsAffected, _ := res.RowsAffected()
|
rowsAffected, _ := res.RowsAffected()
|
||||||
assert.Equal(t, rowsAffected, int64(3))
|
require.Equal(t, rowsAffected, int64(3))
|
||||||
|
|
||||||
err = tx.Rollback()
|
err = tx.Rollback()
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
for lockType, lockTypeStr := range getRowLockTestData() {
|
for lockType, lockTypeStr := range getRowLockTestData() {
|
||||||
|
|
@ -1412,12 +1412,12 @@ FOR`
|
||||||
tx, _ := db.Begin()
|
tx, _ := db.Begin()
|
||||||
|
|
||||||
res, err := query.Exec(tx)
|
res, err := query.Exec(tx)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
rowsAffected, _ := res.RowsAffected()
|
rowsAffected, _ := res.RowsAffected()
|
||||||
assert.Equal(t, rowsAffected, int64(3))
|
require.Equal(t, rowsAffected, int64(3))
|
||||||
|
|
||||||
err = tx.Rollback()
|
err = tx.Rollback()
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
for lockType, lockTypeStr := range getRowLockTestData() {
|
for lockType, lockTypeStr := range getRowLockTestData() {
|
||||||
|
|
@ -1428,12 +1428,12 @@ FOR`
|
||||||
tx, _ := db.Begin()
|
tx, _ := db.Begin()
|
||||||
|
|
||||||
res, err := query.Exec(tx)
|
res, err := query.Exec(tx)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
rowsAffected, _ := res.RowsAffected()
|
rowsAffected, _ := res.RowsAffected()
|
||||||
assert.Equal(t, rowsAffected, int64(3))
|
require.Equal(t, rowsAffected, int64(3))
|
||||||
|
|
||||||
err = tx.Rollback()
|
err = tx.Rollback()
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1509,7 +1509,7 @@ ORDER BY actor.actor_id ASC, film.film_id ASC;
|
||||||
}
|
}
|
||||||
|
|
||||||
err := stmt.Query(db, &dest)
|
err := stmt.Query(db, &dest)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
//jsonSave("./testdata/quick-start-dest.json", dest)
|
//jsonSave("./testdata/quick-start-dest.json", dest)
|
||||||
testutils.AssertJSONFile(t, dest, "./testdata/results/postgres/quick-start-dest.json")
|
testutils.AssertJSONFile(t, dest, "./testdata/results/postgres/quick-start-dest.json")
|
||||||
|
|
@ -1522,7 +1522,7 @@ ORDER BY actor.actor_id ASC, film.film_id ASC;
|
||||||
}
|
}
|
||||||
|
|
||||||
err = stmt.Query(db, &dest2)
|
err = stmt.Query(db, &dest2)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
//jsonSave("./testdata/quick-start-dest2.json", dest2)
|
//jsonSave("./testdata/quick-start-dest2.json", dest2)
|
||||||
testutils.AssertJSONFile(t, dest2, "./testdata/results/postgres/quick-start-dest2.json")
|
testutils.AssertJSONFile(t, dest2, "./testdata/results/postgres/quick-start-dest2.json")
|
||||||
|
|
@ -1574,7 +1574,7 @@ func TestQuickStartWithSubQueries(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
err := stmt.Query(db, &dest)
|
err := stmt.Query(db, &dest)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
//jsonSave("./testdata/quick-start-dest.json", dest)
|
//jsonSave("./testdata/quick-start-dest.json", dest)
|
||||||
testutils.AssertJSONFile(t, dest, "./testdata/results/postgres/quick-start-dest.json")
|
testutils.AssertJSONFile(t, dest, "./testdata/results/postgres/quick-start-dest.json")
|
||||||
|
|
@ -1587,7 +1587,7 @@ func TestQuickStartWithSubQueries(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
err = stmt.Query(db, &dest2)
|
err = stmt.Query(db, &dest2)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
//jsonSave("./testdata/quick-start-dest2.json", dest2)
|
//jsonSave("./testdata/quick-start-dest2.json", dest2)
|
||||||
testutils.AssertJSONFile(t, dest2, "./testdata/results/postgres/quick-start-dest2.json")
|
testutils.AssertJSONFile(t, dest2, "./testdata/results/postgres/quick-start-dest2.json")
|
||||||
|
|
@ -1620,7 +1620,7 @@ SELECT true,
|
||||||
|
|
||||||
dest := []struct{}{}
|
dest := []struct{}{}
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestWindowFunction(t *testing.T) {
|
func TestWindowFunction(t *testing.T) {
|
||||||
|
|
@ -1692,7 +1692,7 @@ GROUP BY payment.amount, payment.customer_id, payment.payment_date;
|
||||||
|
|
||||||
dest := []struct{}{}
|
dest := []struct{}{}
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestWindowClause(t *testing.T) {
|
func TestWindowClause(t *testing.T) {
|
||||||
|
|
@ -1729,7 +1729,7 @@ ORDER BY payment.customer_id;
|
||||||
dest := []struct{}{}
|
dest := []struct{}{}
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestSimpleView(t *testing.T) {
|
func TestSimpleView(t *testing.T) {
|
||||||
|
|
@ -1751,7 +1751,7 @@ func TestSimpleView(t *testing.T) {
|
||||||
var dest []ActorInfo
|
var dest []ActorInfo
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
testutils.AssertJSON(t, dest[1:2], `
|
testutils.AssertJSON(t, dest[1:2], `
|
||||||
[
|
[
|
||||||
|
|
@ -1785,11 +1785,11 @@ func TestJoinViewWithTable(t *testing.T) {
|
||||||
fmt.Println(query.DebugSql())
|
fmt.Println(query.DebugSql())
|
||||||
|
|
||||||
err := query.Query(db, &dest)
|
err := query.Query(db, &dest)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
assert.Equal(t, len(dest), 2)
|
require.Equal(t, len(dest), 2)
|
||||||
assert.Equal(t, len(dest[0].Rentals), 32)
|
require.Equal(t, len(dest[0].Rentals), 32)
|
||||||
assert.Equal(t, len(dest[1].Rentals), 27)
|
require.Equal(t, len(dest[1].Rentals), 27)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestDynamicProjectionList(t *testing.T) {
|
func TestDynamicProjectionList(t *testing.T) {
|
||||||
|
|
@ -1834,9 +1834,9 @@ LIMIT 3;
|
||||||
`)
|
`)
|
||||||
var dest []model.Customer
|
var dest []model.Customer
|
||||||
err := stmt.Query(db, &dest)
|
err := stmt.Query(db, &dest)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
assert.Equal(t, len(dest), 3)
|
require.Equal(t, len(dest), 3)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestDynamicCondition(t *testing.T) {
|
func TestDynamicCondition(t *testing.T) {
|
||||||
|
|
@ -1884,7 +1884,7 @@ WHERE ($1 AND (customer.customer_id = $2)) AND (customer.activebool = $3);
|
||||||
|
|
||||||
dest := []model.Customer{}
|
dest := []model.Customer{}
|
||||||
err := stmt.Query(db, &dest)
|
err := stmt.Query(db, &dest)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Len(t, dest, 1)
|
require.Len(t, dest, 1)
|
||||||
testutils.AssertDeepEqual(t, dest[0], customer0)
|
testutils.AssertDeepEqual(t, dest[0], customer0)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@ import (
|
||||||
. "github.com/go-jet/jet/postgres"
|
. "github.com/go-jet/jet/postgres"
|
||||||
"github.com/go-jet/jet/tests/.gentestdata/jetdb/test_sample/model"
|
"github.com/go-jet/jet/tests/.gentestdata/jetdb/test_sample/model"
|
||||||
. "github.com/go-jet/jet/tests/.gentestdata/jetdb/test_sample/table"
|
. "github.com/go-jet/jet/tests/.gentestdata/jetdb/test_sample/table"
|
||||||
"github.com/stretchr/testify/assert"
|
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
@ -143,10 +142,10 @@ RETURNING link.id AS "link.id",
|
||||||
|
|
||||||
err := stmt.Query(db, &links)
|
err := stmt.Query(db, &links)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, len(links), 2)
|
require.Equal(t, len(links), 2)
|
||||||
assert.Equal(t, links[0].Name, "DuckDuckGo")
|
require.Equal(t, links[0].Name, "DuckDuckGo")
|
||||||
assert.Equal(t, links[1].Name, "DuckDuckGo")
|
require.Equal(t, links[1].Name, "DuckDuckGo")
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestUpdateWithSelect(t *testing.T) {
|
func TestUpdateWithSelect(t *testing.T) {
|
||||||
|
|
@ -294,7 +293,7 @@ func TestUpdateWithInvalidModelData(t *testing.T) {
|
||||||
defer func() {
|
defer func() {
|
||||||
r := recover()
|
r := recover()
|
||||||
|
|
||||||
assert.Equal(t, r, "missing struct field for column : id")
|
require.Equal(t, r, "missing struct field for column : id")
|
||||||
}()
|
}()
|
||||||
|
|
||||||
setupLinkTableForUpdateTest(t)
|
setupLinkTableForUpdateTest(t)
|
||||||
|
|
@ -342,7 +341,7 @@ func TestUpdateQueryContext(t *testing.T) {
|
||||||
dest := []model.Link{}
|
dest := []model.Link{}
|
||||||
err := updateStmt.QueryContext(ctx, db, &dest)
|
err := updateStmt.QueryContext(ctx, db, &dest)
|
||||||
|
|
||||||
assert.Error(t, err, "context deadline exceeded")
|
require.Error(t, err, "context deadline exceeded")
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestUpdateExecContext(t *testing.T) {
|
func TestUpdateExecContext(t *testing.T) {
|
||||||
|
|
@ -360,7 +359,7 @@ func TestUpdateExecContext(t *testing.T) {
|
||||||
|
|
||||||
_, err := updateStmt.ExecContext(ctx, db)
|
_, err := updateStmt.ExecContext(ctx, db)
|
||||||
|
|
||||||
assert.Error(t, err, "context deadline exceeded")
|
require.Error(t, err, "context deadline exceeded")
|
||||||
}
|
}
|
||||||
|
|
||||||
func setupLinkTableForUpdateTest(t *testing.T) {
|
func setupLinkTableForUpdateTest(t *testing.T) {
|
||||||
|
|
@ -375,10 +374,10 @@ func setupLinkTableForUpdateTest(t *testing.T) {
|
||||||
VALUES(204, "http://www.bing.com", "Bing", DEFAULT).
|
VALUES(204, "http://www.bing.com", "Bing", DEFAULT).
|
||||||
Exec(db)
|
Exec(db)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func cleanUpLinkTable(t *testing.T) {
|
func cleanUpLinkTable(t *testing.T) {
|
||||||
_, err := Link.DELETE().WHERE(Link.ID.GT(Int(0))).Exec(db)
|
_, err := Link.DELETE().WHERE(Link.ID.GT(Int(0))).Exec(db)
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,6 @@ import (
|
||||||
"github.com/go-jet/jet/internal/jet"
|
"github.com/go-jet/jet/internal/jet"
|
||||||
"github.com/go-jet/jet/internal/testutils"
|
"github.com/go-jet/jet/internal/testutils"
|
||||||
"github.com/go-jet/jet/tests/.gentestdata/jetdb/dvds/model"
|
"github.com/go-jet/jet/tests/.gentestdata/jetdb/dvds/model"
|
||||||
"github.com/stretchr/testify/assert"
|
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
@ -14,8 +13,8 @@ func AssertExec(t *testing.T, stmt jet.Statement, rowsAffected int64) {
|
||||||
|
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
rows, err := res.RowsAffected()
|
rows, err := res.RowsAffected()
|
||||||
assert.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, rows, rowsAffected)
|
require.Equal(t, rows, rowsAffected)
|
||||||
}
|
}
|
||||||
|
|
||||||
var customer0 = model.Customer{
|
var customer0 = model.Customer{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue