Skip to content

Commit 1bcc336

Browse files
committed
fix sqlbuilder testing
1 parent e3f28c9 commit 1bcc336

2 files changed

Lines changed: 20 additions & 9 deletions

File tree

sqlbuilder.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ func (b *SqlBuilder) AddIf(ok bool, key string, args ...interface{}) *SqlBuilder
6868
return b.Add(key, args...)
6969
}
7070

71-
func (b *SqlBuilder) In(in []interface{}) string {
71+
func (b *SqlBuilder) AddIn(in []interface{}) string {
7272
if len(in) == 0 {
7373
panic("need arguments of in condition")
7474
}
@@ -103,5 +103,6 @@ func (b *SqlBuilder) Args() []interface{} {
103103
}
104104

105105
func (b *SqlBuilder) Sql() []interface{} {
106-
return append([]interface{}{b.String()}, b.args...)
106+
result := []interface{}{b.String()}
107+
return append(result, b.args...)
107108
}

sqlbuilder_test.go

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package qsql
22

33
import (
4-
"fmt"
54
"testing"
65
)
76

@@ -14,22 +13,33 @@ func TestSqlBuilder(t *testing.T) {
1413
bd.Add("WHERE")
1514
bd.AddTab("1=1")
1615
bd.AddIf(true, "AND (1=?)", 0)
17-
bd.AddIf(true, "OR (tb1 IN ("+bd.In([]interface{}{1, 2})+"))")
16+
bd.AddIf(true, "OR (tb1 IN ("+bd.AddIn([]interface{}{1, 2})+"))")
1817
bd.Add("GROUP BY tb1.id")
1918
bd.Add("HAVING count(*)>?", 1)
20-
fmt.Println(bd)
19+
if bd.String() !=
20+
`SELECT count(*) FROM tmp tb1 INNER JOIN tmp1 tb2 ON tb2.id=tb2.tmp_id WHERE 1=1 AND (1=?) OR (tb1 IN (:2,:3)) GROUP BY tb1.id HAVING count(*)>?` {
21+
t.Fatal(bd)
22+
}
2123

2224
bd1 := bd.Copy()
2325
bd1.Add("ORDER BY tb1.id DESC")
2426
bd1.Add("OFFSET ?", 1)
2527
bd1.Add("LIMIT ?", 1)
2628
bd1.Select("tb1.id", "count(*)")
27-
fmt.Println(bd1)
29+
if bd1.String() !=
30+
`SELECT tb1.id, count(*) FROM tmp tb1 INNER JOIN tmp1 tb2 ON tb2.id=tb2.tmp_id WHERE 1=1 AND (1=?) OR (tb1 IN (:2,:3)) GROUP BY tb1.id HAVING count(*)>? ORDER BY tb1.id DESC OFFSET ? LIMIT ?` {
31+
t.Fatal(bd1)
32+
}
2833

2934
bd2 := NewSqlBuilder(DRV_NAME_POSTGRES)
3035
bd2.Select("*")
31-
bd2.Add("FROM ("+bd.String()+") tmp", bd1.Args())
32-
fmt.Println(bd2)
36+
bd2.Add("FROM ("+bd.String()+") tmp", bd1.Args()...)
37+
if bd2.String() !=
38+
`SELECT * FROM (SELECT count(*) FROM tmp tb1 INNER JOIN tmp1 tb2 ON tb2.id=tb2.tmp_id WHERE 1=1 AND (1=?) OR (tb1 IN (:2,:3)) GROUP BY tb1.id HAVING count(*)>?) tmp` {
39+
t.Fatal(bd2)
40+
}
3341

34-
fmt.Println(bd2.Sql())
42+
if len(bd2.Sql()) != 7 {
43+
t.Fatal(bd2.Sql())
44+
}
3545
}

0 commit comments

Comments
 (0)