@@ -5,14 +5,12 @@ import (
5
5
"testing"
6
6
7
7
sqlmock "github.com/DATA-DOG/go-sqlmock"
8
+ "github.com/stretchr/testify/assert"
8
9
)
9
10
10
11
func TestGetTablesOk (t * testing.T ) {
11
12
db , mock , err := sqlmock .New ()
12
- if err != nil {
13
- t .Fatalf ("an error '%s' was not expected when opening a stub database connection" , err )
14
- }
15
-
13
+ assert .NoError (t , err , "an error was not expected when opening a stub database connection" )
16
14
defer db .Close ()
17
15
18
16
rows := sqlmock .NewRows ([]string {"Tables_in_Testdb" }).
@@ -26,28 +24,17 @@ func TestGetTablesOk(t *testing.T) {
26
24
}
27
25
28
26
result , err := data .getTables ()
29
- if err != nil {
30
- t .Errorf ("error was not expected while updating stats: %s" , err )
31
- }
27
+ assert .NoError (t , err )
32
28
33
29
// we make sure that all expectations were met
34
- if err := mock .ExpectationsWereMet (); err != nil {
35
- t .Errorf ("there were unfulfilled expections: %s" , err )
36
- }
37
-
38
- expectedResult := []string {"Test_Table_1" , "Test_Table_2" }
30
+ assert .NoError (t , mock .ExpectationsWereMet (), "there were unfulfilled expections" )
39
31
40
- if ! reflect .DeepEqual (result , expectedResult ) {
41
- t .Fatalf ("expected %#v, got %#v" , result , expectedResult )
42
- }
32
+ assert .EqualValues (t , []string {"Test_Table_1" , "Test_Table_2" }, result )
43
33
}
44
34
45
35
func TestIgnoreTablesOk (t * testing.T ) {
46
36
db , mock , err := sqlmock .New ()
47
- if err != nil {
48
- t .Fatalf ("an error '%s' was not expected when opening a stub database connection" , err )
49
- }
50
-
37
+ assert .NoError (t , err , "an error was not expected when opening a stub database connection" )
51
38
defer db .Close ()
52
39
53
40
rows := sqlmock .NewRows ([]string {"Tables_in_Testdb" }).
@@ -62,27 +49,17 @@ func TestIgnoreTablesOk(t *testing.T) {
62
49
}
63
50
64
51
result , err := data .getTables ()
65
- if err != nil {
66
- t .Errorf ("error was not expected while updating stats: %s" , err )
67
- }
52
+ assert .NoError (t , err )
68
53
69
54
// we make sure that all expectations were met
70
- if err := mock .ExpectationsWereMet (); err != nil {
71
- t .Errorf ("there were unfulfilled expections: %s" , err )
72
- }
73
-
74
- expectedResult := []string {"Test_Table_2" }
55
+ assert .NoError (t , mock .ExpectationsWereMet (), "there were unfulfilled expections" )
75
56
76
- if ! reflect .DeepEqual (result , expectedResult ) {
77
- t .Fatalf ("expected %#v, got %#v" , result , expectedResult )
78
- }
57
+ assert .EqualValues (t , []string {"Test_Table_2" }, result )
79
58
}
80
59
81
60
func TestGetTablesNil (t * testing.T ) {
82
61
db , mock , err := sqlmock .New ()
83
- if err != nil {
84
- t .Fatalf ("an error '%s' was not expected when opening a stub database connection" , err )
85
- }
62
+ assert .NoError (t , err , "an error was not expected when opening a stub database connection" )
86
63
87
64
defer db .Close ()
88
65
@@ -98,27 +75,17 @@ func TestGetTablesNil(t *testing.T) {
98
75
}
99
76
100
77
result , err := data .getTables ()
101
- if err != nil {
102
- t .Errorf ("error was not expected while updating stats: %s" , err )
103
- }
78
+ assert .NoError (t , err )
104
79
105
80
// we make sure that all expectations were met
106
- if err := mock .ExpectationsWereMet (); err != nil {
107
- t .Errorf ("there were unfulfilled expections: %s" , err )
108
- }
109
-
110
- expectedResult := []string {"Test_Table_1" , "Test_Table_3" }
81
+ assert .NoError (t , mock .ExpectationsWereMet (), "there were unfulfilled expections" )
111
82
112
- if ! reflect .DeepEqual (result , expectedResult ) {
113
- t .Fatalf ("expected %#v, got %#v" , expectedResult , result )
114
- }
83
+ assert .EqualValues (t , []string {"Test_Table_1" , "Test_Table_3" }, result )
115
84
}
116
85
117
86
func TestGetServerVersionOk (t * testing.T ) {
118
87
db , mock , err := sqlmock .New ()
119
- if err != nil {
120
- t .Fatalf ("an error '%s' was not expected when opening a stub database connection" , err )
121
- }
88
+ assert .NoError (t , err , "an error was not expected when opening a stub database connection" )
122
89
123
90
defer db .Close ()
124
91
@@ -129,28 +96,17 @@ func TestGetServerVersionOk(t *testing.T) {
129
96
130
97
meta := metaData {}
131
98
132
- if err := meta .updateServerVersion (db ); err != nil {
133
- t .Errorf ("error was not expected while updating stats: %s" , err )
134
- }
99
+ assert .NoError (t , meta .updateServerVersion (db ), "error was not expected while updating stats" )
135
100
136
101
// we make sure that all expectations were met
137
- if err := mock .ExpectationsWereMet (); err != nil {
138
- t .Errorf ("there were unfulfilled expections: %s" , err )
139
- }
102
+ assert .NoError (t , mock .ExpectationsWereMet (), "there were unfulfilled expections" )
140
103
141
- expectedResult := "test_version"
142
-
143
- if ! reflect .DeepEqual (meta .ServerVersion , expectedResult ) {
144
- t .Fatalf ("expected %#v, got %#v" , expectedResult , meta .ServerVersion )
145
- }
104
+ assert .Equal (t , "test_version" , meta .ServerVersion )
146
105
}
147
106
148
107
func TestCreateTableSQLOk (t * testing.T ) {
149
108
db , mock , err := sqlmock .New ()
150
- if err != nil {
151
- t .Fatalf ("an error '%s' was not expected when opening a stub database connection" , err )
152
- }
153
-
109
+ assert .NoError (t , err , "an error was not expected when opening a stub database connection" )
154
110
defer db .Close ()
155
111
156
112
rows := sqlmock .NewRows ([]string {"Table" , "Create Table" }).
@@ -162,16 +118,14 @@ func TestCreateTableSQLOk(t *testing.T) {
162
118
Connection : db ,
163
119
}
164
120
165
- result , err := data .createTableSQL ("Test_Table" )
121
+ table , err := data .createTable ("Test_Table" )
122
+ assert .NoError (t , err )
166
123
167
- if err != nil {
168
- t .Errorf ("error was not expected while updating stats: %s" , err )
169
- }
124
+ result , err := table .CreateSQL ()
125
+ assert .NoError (t , err )
170
126
171
127
// we make sure that all expectations were met
172
- if err := mock .ExpectationsWereMet (); err != nil {
173
- t .Errorf ("there were unfulfilled expections: %s" , err )
174
- }
128
+ assert .NoError (t , mock .ExpectationsWereMet (), "there were unfulfilled expections" )
175
129
176
130
expectedResult := "CREATE TABLE 'Test_Table' (`id` int(11) NOT NULL AUTO_INCREMENT,`s` char(60) DEFAULT NULL, PRIMARY KEY (`id`))ENGINE=InnoDB DEFAULT CHARSET=latin1"
177
131
@@ -180,12 +134,9 @@ func TestCreateTableSQLOk(t *testing.T) {
180
134
}
181
135
}
182
136
183
- func TestCreateTableValuesOk (t * testing.T ) {
137
+ func TestCreateTableRowValues (t * testing.T ) {
184
138
db , mock , err := sqlmock .New ()
185
- if err != nil {
186
- t .Fatalf ("an error '%s' was not expected when opening a stub database connection" , err )
187
- }
188
-
139
+ assert .NoError (t , err , "an error was not expected when opening a stub database connection" )
189
140
defer db .Close ()
190
141
191
142
rows := sqlmock .NewRows ([]string {"id" , "email" , "name" }).
@@ -198,29 +149,23 @@ func TestCreateTableValuesOk(t *testing.T) {
198
149
Connection : db ,
199
150
}
200
151
201
- result , err := data .createTableValues ("test" )
202
- if err != nil {
203
- t .Errorf ("error was not expected while updating stats: %s" , err )
204
- }
152
+ table , err := data .createTable ("test" )
153
+ assert .NoError (t , err )
205
154
206
- // we make sure that all expectations were met
207
- if err := mock . ExpectationsWereMet (); err != nil {
208
- t . Errorf ( "there were unfulfilled expections: %s" , err )
209
- }
155
+ assert . True ( t , table . Next ())
156
+ // TODO
157
+ result , err := table . RowValues ( )
158
+ assert . NoError ( t , err )
210
159
211
- expectedResult := []
string {
"('1','[email protected] ','Test Name 1')" ,
"('2','[email protected] ','Test Name 2')" }
160
+ // we make sure that all expectations were met
161
+ assert .NoError (t , mock .ExpectationsWereMet (), "there were unfulfilled expections" )
212
162
213
- if ! reflect .DeepEqual (result , expectedResult ) {
214
- t .Fatalf ("expected %#v, got %#v" , expectedResult , result )
215
- }
163
+ assert .
EqualValues (
t ,
"('1','[email protected] ','Test Name 1')" ,
result )
216
164
}
217
165
218
- func TestCreateTableValuesNil (t * testing.T ) {
166
+ func TestCreateTableAllValuesWithNil (t * testing.T ) {
219
167
db , mock , err := sqlmock .New ()
220
- if err != nil {
221
- t .Fatalf ("an error '%s' was not expected when opening a stub database connection" , err )
222
- }
223
-
168
+ assert .NoError (t , err , "an error was not expected when opening a stub database connection" )
224
169
defer db .Close ()
225
170
226
171
rows := sqlmock .NewRows ([]string {"id" , "email" , "name" }).
@@ -234,21 +179,22 @@ func TestCreateTableValuesNil(t *testing.T) {
234
179
Connection : db ,
235
180
}
236
181
237
- result , err := data .createTableValues ("test" )
238
- if err != nil {
239
- t .Errorf ("error was not expected while updating stats: %s" , err )
182
+ table , err := data .createTable ("test" )
183
+ assert .NoError (t , err )
184
+
185
+ results := make ([]string , 0 )
186
+ for table .Next () {
187
+ row , err := table .RowValues ()
188
+ assert .NoError (t , err )
189
+ results = append (results , row )
240
190
}
241
191
242
192
// we make sure that all expectations were met
243
- if err := mock .ExpectationsWereMet (); err != nil {
244
- t .Errorf ("there were unfulfilled expections: %s" , err )
245
- }
193
+ assert .NoError (t , mock .ExpectationsWereMet (), "there were unfulfilled expections" )
246
194
247
- expectedResult := []
string {
"('1',NULL,'Test Name 1')" ,
"('2','[email protected] ','Test Name 2')" ,
"('3','','Test Name 3')" }
195
+ expectedResults := []
string {
"('1',NULL,'Test Name 1')" ,
"('2','[email protected] ','Test Name 2')" ,
"('3','','Test Name 3')" }
248
196
249
- if ! reflect .DeepEqual (result , expectedResult ) {
250
- t .Fatalf ("expected %#v, got %#v" , expectedResult , result )
251
- }
197
+ assert .EqualValues (t , expectedResults , results )
252
198
}
253
199
254
200
func TestCreateTableOk (t * testing.T ) {
@@ -284,9 +230,9 @@ func TestCreateTableOk(t *testing.T) {
284
230
}
285
231
286
232
expectedResult := & table {
287
- Name : "`Test_Table`" ,
288
- SQL : "CREATE TABLE 'Test_Table' (`id` int(11) NOT NULL AUTO_INCREMENT,`s` char(60) DEFAULT NULL, PRIMARY KEY (`id`))ENGINE=InnoDB DEFAULT CHARSET=latin1" ,
289
- Values : []
string {
"('1',NULL,'Test Name 1')" ,
"('2','[email protected] ','Test Name 2')" },
233
+ Name : "`Test_Table`" ,
234
+ // SQL: "CREATE TABLE 'Test_Table' (`id` int(11) NOT NULL AUTO_INCREMENT,`s` char(60) DEFAULT NULL, PRIMARY KEY (`id`))ENGINE=InnoDB DEFAULT CHARSET=latin1",
235
+ // Values: []string{"('1',NULL,'Test Name 1')", "('2','[email protected] ','Test Name 2')"},
290
236
}
291
237
292
238
if ! reflect .DeepEqual (result , expectedResult ) {
0 commit comments