Skip to content

Commit

Permalink
Use assert in tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Lann Martin committed Feb 9, 2014
1 parent e25457a commit e91e317
Show file tree
Hide file tree
Showing 8 changed files with 74 additions and 138 deletions.
4 changes: 4 additions & 0 deletions .travis.yml
Expand Up @@ -4,3 +4,7 @@ go:
- 1.1
- 1.2
- tip

install:
- go get
- go get github.com/stretchr/testify/assert
15 changes: 7 additions & 8 deletions placeholder_test.go
@@ -1,20 +1,19 @@
package squirrel

import "testing"
import (
"testing"

"github.com/stretchr/testify/assert"
)

func TestQuestion(t *testing.T) {
sql := "x = ? AND y = ?"
s, _ := Question.ReplacePlaceholders(sql)
if s != sql {
t.Errorf("expected %v, got %v", sql, s)
}
assert.Equal(t, sql, s)
}

func TestDollar(t *testing.T) {
sql := "x = ? AND y = ?"
s, _ := Dollar.ReplacePlaceholders(sql)
expect := "x = $1 AND y = $2"
if s != expect {
t.Errorf("expected %v, got %v", expect, s)
}
assert.Equal(t, "x = $1 AND y = $2", s)
}
18 changes: 6 additions & 12 deletions row_test.go
Expand Up @@ -3,6 +3,8 @@ package squirrel
import (
"fmt"
"testing"

"github.com/stretchr/testify/assert"
)

type RowStub struct {
Expand All @@ -18,23 +20,15 @@ func TestRowScan(t *testing.T) {
stub := &RowStub{}
row := &Row{RowScanner: stub}
err := row.Scan()
if !stub.Scanned {
t.Error("row was not scanned")
}
if err != nil {
t.Errorf("expected no error, got %s", err)
}
assert.True(t, stub.Scanned, "row was not scanned")
assert.NoError(t, err)
}

func TestRowScanErr(t *testing.T) {
stub := &RowStub{}
rowErr := fmt.Errorf("scan err")
row := &Row{RowScanner: stub, err: rowErr}
err := row.Scan()
if stub.Scanned {
t.Error("row was scanned")
}
if err != rowErr {
t.Errorf("expected %v, got %v", rowErr, err)
}
assert.False(t, stub.Scanned, "row was scanned")
assert.Equal(t, rowErr, err)
}
60 changes: 15 additions & 45 deletions select_test.go
@@ -1,8 +1,9 @@
package squirrel

import (
"reflect"
"testing"

"github.com/stretchr/testify/assert"
)

func TestSelectBuilderToSql(t *testing.T) {
Expand All @@ -21,45 +22,31 @@ func TestSelectBuilderToSql(t *testing.T) {
Offset(8)

sql, args, err := b.ToSql()
if err != nil {
t.Fatalf("expected no error, got %v", err)
}
assert.NoError(t, err)

expectedSql :=
"SELECT DISTINCT a, b, c FROM d " +
"WHERE e = ? AND f = ? AND g = ? AND h IN (?,?,?) " +
"GROUP BY i HAVING j = k ORDER BY l LIMIT 7 OFFSET 8"
if sql != expectedSql {
t.Errorf("expected %v, got %v", expectedSql, sql)
}
assert.Equal(t, expectedSql, sql)

expectedArgs := []interface{}{1, 2, 3, 4, 5, 6}
if !reflect.DeepEqual(args, expectedArgs) {
t.Errorf("expected %v, got %v", expectedArgs, args)
}
assert.Equal(t, expectedArgs, args)
}

func TestSelectBuilderToSqlErr(t *testing.T) {
_, _, err := Select().From("x").ToSql()
if err == nil {
t.Error("expected error, got none")
}
assert.Error(t, err)
}

func TestSelectBuilderPlaceholders(t *testing.T) {
b := Select("test").Where("x = ? AND y = ?")

sql, _, _ := b.PlaceholderFormat(Question).ToSql()
expect := "SELECT test WHERE x = ? AND y = ?"
if sql != expect {
t.Errorf("expected %v, got %v", expect, sql)
}
assert.Equal(t, "SELECT test WHERE x = ? AND y = ?", sql)

sql, _, _ = b.PlaceholderFormat(Dollar).ToSql()
expect = "SELECT test WHERE x = $1 AND y = $2"
if sql != expect {
t.Errorf("expected %v, got %v", expect, sql)
}
assert.Equal(t, "SELECT test WHERE x = $1 AND y = $2", sql)
}

func TestSelectBuilderRunners(t *testing.T) {
Expand All @@ -69,44 +56,27 @@ func TestSelectBuilderRunners(t *testing.T) {
expectedSql := "SELECT test"

b.Exec()
sql := db.LastExecSql
if sql != sqlStr {
t.Errorf("expected %v, got %v", expectedSql, sql)
}
assert.Equal(t, expectedSql, db.LastExecSql)

b.Query()
sql = db.LastQuerySql
if sql != sqlStr {
t.Errorf("expected %v, got %v", expectedSql, sql)
}
assert.Equal(t, expectedSql, db.LastQuerySql)

b.QueryRow()
sql = db.LastQueryRowSql
if sql != sqlStr {
t.Errorf("expected %v, got %v", expectedSql, sql)
}
assert.Equal(t, expectedSql, db.LastQueryRowSql)

err := b.Scan()
if err != nil {
t.Errorf("expected no error, got %v", err)
}
assert.NoError(t, err)
}

func TestSelectBuilderNoRunner(t *testing.T) {
b := Select("test")

_, err := b.Exec()
if err != RunnerNotSet {
t.Errorf("expected error %v, got %v", RunnerNotSet, err)
}
assert.Equal(t, RunnerNotSet, err)

_, err = b.Query()
if err != RunnerNotSet {
t.Errorf("expected error %v, got %v", RunnerNotSet, err)
}
assert.Equal(t, RunnerNotSet, err)

err = b.Scan()
if err != RunnerNotSet {
t.Errorf("expected error %v, got %v", RunnerNotSet, err)
}
assert.Equal(t, RunnerNotSet, err)
}
28 changes: 9 additions & 19 deletions squirrel_test.go
Expand Up @@ -4,6 +4,8 @@ import (
"database/sql"
"fmt"
"testing"

"github.com/stretchr/testify/assert"
)

type DBStub struct {
Expand Down Expand Up @@ -54,43 +56,31 @@ var sqlStr = "SELECT test"
func TestExecWith(t *testing.T) {
db := &DBStub{}
ExecWith(db, sqlizer)
if db.LastExecSql != sqlStr {
t.Errorf("expected %v, got %v", sqlStr, db.LastExecSql)
}
assert.Equal(t, sqlStr, db.LastExecSql)
}

func TestQueryWith(t *testing.T) {
db := &DBStub{}
QueryWith(db, sqlizer)
if db.LastQuerySql != sqlStr {
t.Errorf("expected %v, got %v", sqlStr, db.LastQuerySql)
}
assert.Equal(t, sqlStr, db.LastQuerySql)
}

func TestQueryRowWith(t *testing.T) {
db := &DBStub{}
QueryRowWith(db, sqlizer)
if db.LastQueryRowSql != sqlStr {
t.Errorf("expected %v, got %v", sqlStr, db.LastQueryRowSql)
}
assert.Equal(t, sqlStr, db.LastQueryRowSql)
}

func TestWithToSqlErr(t *testing.T) {
db := &DBStub{}
sqlizer := Select()
sqlizer := Select("test")

_, err := ExecWith(db, sqlizer)
if err == nil {
t.Error("expected error, got none")
}
assert.NoError(t, err)

_, err = QueryWith(db, sqlizer)
if err == nil {
t.Error("expected error, got none")
}
assert.NoError(t, err)

err = QueryRowWith(db, sqlizer).Scan()
if err == nil {
t.Error("expected error, got none")
}
assert.NoError(t, err)
}
26 changes: 15 additions & 11 deletions statement_test.go
@@ -1,24 +1,28 @@
package squirrel

import "testing"
import (
"testing"

"github.com/stretchr/testify/assert"
)

func TestSelect(t *testing.T) {
sql, _, _ := Select("test").ToSql()
expectedSql := "SELECT test"
if sql != sqlStr {
t.Errorf("expected %v, got %v", expectedSql, sql)
}
assert.Equal(t, "SELECT test", sql)
}

func TestStatementBuilder(t *testing.T) {
db := &DBStub{}
sb := StatementBuilder.RunWith(db)

expectedSql := "SELECT test"

sb.Select("test").Exec()
sql := db.LastExecSql
if sql != sqlStr {
t.Errorf("expected %v, got %v", expectedSql, sql)
}
assert.Equal(t, "SELECT test", db.LastExecSql)
}

func TestStatementBuilderPlaceholderFormat(t *testing.T) {
db := &DBStub{}
sb := StatementBuilder.RunWith(db).PlaceholderFormat(Dollar)

sb.Select("test").Where("x = ?").Exec()
assert.Equal(t, "SELECT test WHERE x = $1", db.LastExecSql)
}
15 changes: 7 additions & 8 deletions stmtcacher_test.go
@@ -1,20 +1,19 @@
package squirrel

import "testing"
import (
"testing"

"github.com/stretchr/testify/assert"
)

func TestStmtCacherPrepare(t *testing.T) {
db := &DBStub{}
sc := NewStmtCacher(db)
query := "SELECT 1"

sc.Prepare(query)
lastSql := db.LastPrepareSql
if lastSql != query {
t.Errorf("expected %v, got %v", query, lastSql)
}
assert.Equal(t, query, db.LastPrepareSql)

sc.Prepare(query)
if db.PrepareCount != 1 {
t.Errorf("expected 1 Prepare, got %d", db.PrepareCount)
}
assert.Equal(t, 1, db.PrepareCount, "expected 1 Prepare, got %d", db.PrepareCount)
}

0 comments on commit e91e317

Please sign in to comment.