1
0
Fork 0

Merge pull request #189 from rqlite/go_lint

Reduce test cyclo complexity
master
Philip O'Toole 8 years ago committed by GitHub
commit 06939b8ba6

@ -2,6 +2,7 @@ package db
import (
"encoding/json"
"fmt"
"io/ioutil"
"os"
"path"
@ -177,7 +178,7 @@ func Test_SimpleMultiStatements(t *testing.T) {
}
}
func Test_SimpleFailingStatements(t *testing.T) {
func Test_SimpleFailingStatements_Execute(t *testing.T) {
db, path := mustCreateDatabase()
defer db.Close()
defer os.Remove(path)
@ -220,6 +221,19 @@ func Test_SimpleFailingStatements(t *testing.T) {
t.Fatalf("unexpected results for query\nexp: %s\ngot: %s", exp, got)
}
r, err = db.Execute([]string{`utter nonsense`}, false, false)
if err != nil {
if exp, got := `[{"error":"near \"utter\": syntax error"}]`, asJSON(r); exp != got {
t.Fatalf("unexpected results for query\nexp: %s\ngot: %s", exp, got)
}
}
}
func Test_SimpleFailingStatements_Query(t *testing.T) {
db, path := mustCreateDatabase()
defer db.Close()
defer os.Remove(path)
ro, err := db.Query([]string{`SELECT * FROM bar`}, false, false)
if err != nil {
t.Fatalf("failed to attempt query of non-existent table: %s", err.Error())
@ -235,12 +249,11 @@ func Test_SimpleFailingStatements(t *testing.T) {
if exp, got := `[{"error":"near \"SELECTxx\": syntax error"}]`, asJSON(ro); exp != got {
t.Fatalf("unexpected results for query\nexp: %s\ngot: %s", exp, got)
}
r, err = db.Execute([]string{`utter nonsense`}, false, false)
r, err := db.Query([]string{`utter nonsense`}, false, false)
if err != nil {
t.Fatalf("failed to attempt nonsense execution: %s", err.Error())
}
if exp, got := `[{"error":"near \"utter\": syntax error"}]`, asJSON(r); exp != got {
t.Fatalf("unexpected results for query\nexp: %s\ngot: %s", exp, got)
if exp, got := `[{"error":"near \"utter\": syntax error"}]`, asJSON(r); exp != got {
t.Fatalf("unexpected results for query\nexp: %s\ngot: %s", exp, got)
}
}
}
@ -493,6 +506,24 @@ func mustWriteAndOpenDatabase(b []byte) (*DB, string) {
return db, f.Name()
}
// mustExecute executes a statement, and panics on failure. Used for statements
// that should never fail, even taking into account test setup.
func mustExecute(db *DB, stmt string) {
_, err := db.Execute([]string{stmt}, false, false)
if err != nil {
panic(fmt.Sprintf("failed to execute statement: %s", err.Error()))
}
}
// mustQuery executes a statement, and panics on failure. Used for statements
// that should never fail, even taking into account test setup.
func mustQuery(db *DB, stmt string) {
_, err := db.Execute([]string{stmt}, false, false)
if err != nil {
panic(fmt.Sprintf("failed to query: %s", err.Error()))
}
}
func asJSON(v interface{}) string {
b, err := json.Marshal(v)
if err != nil {

Loading…
Cancel
Save