11package bigquery
22
33import (
4+ "context"
5+ "errors"
46 "github.com/golang-migrate/migrate/v4/database"
57 "strings"
68 "testing"
@@ -22,14 +24,35 @@ func openConnection() (database.Driver, error) {
2224 return driver , nil
2325}
2426
27+ func TestWithInstanceWithoutClient (t * testing.T ) {
28+ driver , err := WithInstance (context .Background (), nil , & Config {})
29+ if err == nil {
30+ t .Errorf ("expected `no client`, got nil" )
31+ return
32+ }
33+ if ! errors .Is (err , ErrNoClient ) {
34+ t .Errorf ("expected `no client`, got %s" , err .Error ())
35+ return
36+ }
37+ if driver != nil {
38+ t .Errorf ("driver should be nil" )
39+ return
40+ }
41+ }
42+
2543func TestOpen (t * testing.T ) {
2644 driver , err := openConnection ()
2745 if err != nil {
2846 t .Error (err )
2947 return
3048 }
3149
32- defer driver .Close ()
50+ defer func () {
51+ err := driver .Close ()
52+ if err != nil {
53+ t .Error (err )
54+ }
55+ }()
3356}
3457
3558func TestClose (t * testing.T ) {
@@ -39,7 +62,12 @@ func TestClose(t *testing.T) {
3962 return
4063 }
4164
42- defer driver .Close ()
65+ defer func () {
66+ err := driver .Close ()
67+ if err != nil {
68+ t .Error (err )
69+ }
70+ }()
4371
4472 err = driver .Close ()
4573 if err != nil {
@@ -55,7 +83,12 @@ func TestVersion(t *testing.T) {
5583 return
5684 }
5785
58- defer driver .Close ()
86+ defer func () {
87+ err := driver .Close ()
88+ if err != nil {
89+ t .Error (err )
90+ }
91+ }()
5992
6093 version , dirty , err := driver .Version ()
6194 if err != nil {
@@ -73,7 +106,12 @@ func TestSetVersion(t *testing.T) {
73106 return
74107 }
75108
76- defer driver .Close ()
109+ defer func () {
110+ err := driver .Close ()
111+ if err != nil {
112+ t .Error (err )
113+ }
114+ }()
77115
78116 err = driver .SetVersion (- 1 , false )
79117 if err != nil {
@@ -89,7 +127,12 @@ func TestDrop(t *testing.T) {
89127 return
90128 }
91129
92- defer driver .Close ()
130+ defer func () {
131+ err := driver .Close ()
132+ if err != nil {
133+ t .Error (err )
134+ }
135+ }()
93136
94137 err = driver .Drop ()
95138 if err != nil {
@@ -105,7 +148,12 @@ func TestRun(t *testing.T) {
105148 return
106149 }
107150
108- defer driver .Close ()
151+ defer func () {
152+ err := driver .Close ()
153+ if err != nil {
154+ t .Error (err )
155+ }
156+ }()
109157
110158 err = driver .Run (strings .NewReader (`
111159 CREATE TABLE IF NOT EXISTS users (
@@ -125,18 +173,21 @@ func TestRunWithError(t *testing.T) {
125173 return
126174 }
127175
128- defer driver .Close ()
176+ defer func () {
177+ err := driver .Close ()
178+ if err != nil {
179+ t .Error (err )
180+ }
181+ }()
129182
130183 err = driver .Run (strings .NewReader (`
131184 CREATE TABLE IF NOT EXISTS users (
132185 first_name STRINGa,
133186 last_name STRING
134187 )` ))
135- if err != nil {
136- t .Log (err )
137- return
188+ if err == nil {
189+ t .Error ("expected 'googleapi: Error 400: Query error: Type not found: STRINGa at [4:36], invalidQuery' got nil" )
138190 }
139191
140- t .Error ("error is nil, should be 'googleapi: Error 400: Query error: Type not found: STRINGa at [4:36], invalidQuery'" )
141- return
192+ t .Log (err )
142193}
0 commit comments