From 24f3bac369b13d84b3249a64997d833ea9fed61c Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Mon, 7 May 2018 23:09:21 +0800 Subject: [PATCH 1/2] add more test for query --- session_query_test.go | 58 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/session_query_test.go b/session_query_test.go index 8b4aefad..10be3178 100644 --- a/session_query_test.go +++ b/session_query_test.go @@ -186,6 +186,64 @@ func TestQueryNoParams(t *testing.T) { assertResult(t, results) } +func TestQueryStringNoParam(t *testing.T) { + assert.NoError(t, prepareEngine()) + + type GetVar4 struct { + Id int64 `xorm:"autoincr pk"` + Msg bool `xorm:"bit"` + } + + assert.NoError(t, testEngine.Sync2(new(GetVar4))) + + var data = GetVar4{ + Msg: false, + } + _, err := testEngine.Insert(data) + assert.NoError(t, err) + + records, err := testEngine.Table("get_var4").Limit(1).QueryString() + assert.NoError(t, err) + assert.EqualValues(t, 1, len(records)) + assert.EqualValues(t, "1", records[0]["id"]) + assert.EqualValues(t, "0", records[0]["msg"]) + + records, err = testEngine.Table("get_var4").Where(builder.Eq{"id": 1}).QueryString() + assert.NoError(t, err) + assert.EqualValues(t, 1, len(records)) + assert.EqualValues(t, "1", records[0]["id"]) + assert.EqualValues(t, "0", records[0]["msg"]) +} + +func TestQueryInterfaceNoParam(t *testing.T) { + assert.NoError(t, prepareEngine()) + + type GetVar5 struct { + Id int64 `xorm:"autoincr pk"` + Msg bool `xorm:"bit"` + } + + assert.NoError(t, testEngine.Sync2(new(GetVar5))) + + var data = GetVar5{ + Msg: false, + } + _, err := testEngine.Insert(data) + assert.NoError(t, err) + + records, err := testEngine.Table("get_var5").Limit(1).QueryInterface() + assert.NoError(t, err) + assert.EqualValues(t, 1, len(records)) + assert.EqualValues(t, 1, records[0]["id"]) + assert.EqualValues(t, 0, records[0]["msg"]) + + records, err = testEngine.Table("get_var5").Where(builder.Eq{"id": 1}).QueryInterface() + assert.NoError(t, err) + assert.EqualValues(t, 1, len(records)) + assert.EqualValues(t, 1, records[0]["id"]) + assert.EqualValues(t, 0, records[0]["msg"]) +} + func TestQueryWithBuilder(t *testing.T) { assert.NoError(t, prepareEngine()) -- 2.40.1 From 4fd0b5cba593ecec6b027b82b789573921d69bb0 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Tue, 8 May 2018 17:20:23 +0800 Subject: [PATCH 2/2] fix tests --- session_query_test.go | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/session_query_test.go b/session_query_test.go index 10be3178..2c1fb617 100644 --- a/session_query_test.go +++ b/session_query_test.go @@ -11,6 +11,7 @@ import ( "time" "github.com/go-xorm/builder" + "github.com/go-xorm/core" "github.com/stretchr/testify/assert" ) @@ -206,13 +207,21 @@ func TestQueryStringNoParam(t *testing.T) { assert.NoError(t, err) assert.EqualValues(t, 1, len(records)) assert.EqualValues(t, "1", records[0]["id"]) - assert.EqualValues(t, "0", records[0]["msg"]) + if testEngine.Dialect().URI().DbType == core.POSTGRES { + assert.EqualValues(t, "false", records[0]["msg"]) + } else { + assert.EqualValues(t, "0", records[0]["msg"]) + } records, err = testEngine.Table("get_var4").Where(builder.Eq{"id": 1}).QueryString() assert.NoError(t, err) assert.EqualValues(t, 1, len(records)) assert.EqualValues(t, "1", records[0]["id"]) - assert.EqualValues(t, "0", records[0]["msg"]) + if testEngine.Dialect().URI().DbType == core.POSTGRES { + assert.EqualValues(t, "false", records[0]["msg"]) + } else { + assert.EqualValues(t, "0", records[0]["msg"]) + } } func TestQueryInterfaceNoParam(t *testing.T) { @@ -234,14 +243,14 @@ func TestQueryInterfaceNoParam(t *testing.T) { records, err := testEngine.Table("get_var5").Limit(1).QueryInterface() assert.NoError(t, err) assert.EqualValues(t, 1, len(records)) - assert.EqualValues(t, 1, records[0]["id"]) - assert.EqualValues(t, 0, records[0]["msg"]) + assert.EqualValues(t, 1, toInt64(records[0]["id"])) + assert.EqualValues(t, 0, toInt64(records[0]["msg"])) records, err = testEngine.Table("get_var5").Where(builder.Eq{"id": 1}).QueryInterface() assert.NoError(t, err) assert.EqualValues(t, 1, len(records)) - assert.EqualValues(t, 1, records[0]["id"]) - assert.EqualValues(t, 0, records[0]["msg"]) + assert.EqualValues(t, 1, toInt64(records[0]["id"])) + assert.EqualValues(t, 0, toInt64(records[0]["msg"])) } func TestQueryWithBuilder(t *testing.T) { -- 2.40.1