@@ -82,9 +82,9 @@ func createDB(user, password, address, database, driver string) (db *gorm.DB, er
82
82
return
83
83
}
84
84
85
- db .AutoMigrate (& TestCase {})
86
- db .AutoMigrate (& TestSuite {})
87
- db .AutoMigrate (& HistoryTestResult {})
85
+ err = errors . Join ( err , db .AutoMigrate (& TestCase {}) )
86
+ err = errors . Join ( err , db .AutoMigrate (& TestSuite {}) )
87
+ err = errors . Join ( err , db .AutoMigrate (& HistoryTestResult {}) )
88
88
return
89
89
}
90
90
@@ -149,7 +149,11 @@ func (s *dbserver) CreateTestSuite(ctx context.Context, testSuite *remote.TestSu
149
149
return
150
150
}
151
151
152
- const nameQuery = `name = ?`
152
+ const (
153
+ nameQuery = `name = ?`
154
+ suiteNameQuery = "suite_name = ?"
155
+ idQuery = "id = ?"
156
+ )
153
157
154
158
func (s * dbserver ) GetTestSuite (ctx context.Context , suite * remote.TestSuite ) (reply * remote.TestSuite , err error ) {
155
159
query := & TestSuite {}
@@ -208,7 +212,13 @@ func (s *dbserver) DeleteTestSuite(ctx context.Context, suite *remote.TestSuite)
208
212
return
209
213
}
210
214
211
- err = db .Delete (TestSuite {}, nameQuery , suite .Name ).Error
215
+ err = db .Transaction (func (tx * gorm.DB ) (err error ) {
216
+ err = db .Delete (TestSuite {}, nameQuery , suite .Name ).Error
217
+ if err == nil {
218
+ err = db .Delete (TestCase {}, suiteNameQuery , suite .Name ).Error
219
+ }
220
+ return
221
+ })
212
222
return
213
223
}
214
224
@@ -218,11 +228,11 @@ func (s *dbserver) ListTestCases(ctx context.Context, suite *remote.TestSuite) (
218
228
if db , err = s .getClient (ctx ); err != nil {
219
229
return
220
230
}
221
- db .Find (& items , "suite_name = ?" , suite .Name )
222
-
223
- result = & server. TestCases {}
224
- for i := range items {
225
- result . Data = append ( result . Data , ConvertToRemoteTestCase ( items [ i ]))
231
+ if err = db .Find (& items , suiteNameQuery , suite .Name ). Error ; err == nil {
232
+ result = & server. TestCases {}
233
+ for i := range items {
234
+ result . Data = append ( result . Data , ConvertToRemoteTestCase ( items [ i ]))
235
+ }
226
236
}
227
237
return
228
238
}
@@ -312,9 +322,9 @@ func (s *dbserver) GetTestCase(ctx context.Context, testcase *server.TestCase) (
312
322
if db , err = s .getClient (ctx ); err != nil {
313
323
return
314
324
}
315
- db .Find (& item , "suite_name = ? AND name = ?" , testcase .SuiteName , testcase .Name )
316
-
317
- result = ConvertToRemoteTestCase ( item )
325
+ if err = db .Find (& item , "suite_name = ? AND name = ?" , testcase .SuiteName , testcase .Name ). Error ; err == nil {
326
+ result = ConvertToRemoteTestCase ( item )
327
+ }
318
328
return
319
329
}
320
330
@@ -324,7 +334,7 @@ func (s *dbserver) GetHistoryTestCaseWithResult(ctx context.Context, testcase *s
324
334
if db , err = s .getClient (ctx ); err != nil {
325
335
return
326
336
}
327
- db .Find (& item , "id = ? " , testcase .ID )
337
+ db .Find (& item , idQuery , testcase .ID )
328
338
329
339
result = ConvertToRemoteHistoryTestResult (item )
330
340
return
@@ -336,7 +346,7 @@ func (s *dbserver) GetHistoryTestCase(ctx context.Context, testcase *server.Hist
336
346
if db , err = s .getClient (ctx ); err != nil {
337
347
return
338
348
}
339
- db .Find (& item , "id = ? " , testcase .ID )
349
+ db .Find (& item , idQuery , testcase .ID )
340
350
341
351
result = ConvertToGRPCHistoryTestCase (item )
342
352
return
@@ -364,7 +374,9 @@ func (s *dbserver) UpdateTestCase(ctx context.Context, testcase *server.TestCase
364
374
if db , err = s .getClient (ctx ); err != nil {
365
375
return
366
376
}
367
- testCaseIdentity (db , input ).Updates (input )
377
+ if err = testCaseIdentity (db , input ).Updates (input ).Error ; err != nil {
378
+ return
379
+ }
368
380
369
381
data := make (map [string ]interface {})
370
382
if input .ExpectBody == "" {
@@ -375,7 +387,7 @@ func (s *dbserver) UpdateTestCase(ctx context.Context, testcase *server.TestCase
375
387
}
376
388
377
389
if len (data ) > 0 {
378
- testCaseIdentity (db , input ).Updates (data )
390
+ err = testCaseIdentity (db , input ).Updates (data ). Error
379
391
}
380
392
return
381
393
}
0 commit comments