@@ -82,9 +82,9 @@ func createDB(user, password, address, database, driver string) (db *gorm.DB, er
8282 return
8383 }
8484
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 {}) )
8888 return
8989}
9090
@@ -149,7 +149,11 @@ func (s *dbserver) CreateTestSuite(ctx context.Context, testSuite *remote.TestSu
149149 return
150150}
151151
152- const nameQuery = `name = ?`
152+ const (
153+ nameQuery = `name = ?`
154+ suiteNameQuery = "suite_name = ?"
155+ idQuery = "id = ?"
156+ )
153157
154158func (s * dbserver ) GetTestSuite (ctx context.Context , suite * remote.TestSuite ) (reply * remote.TestSuite , err error ) {
155159 query := & TestSuite {}
@@ -208,7 +212,13 @@ func (s *dbserver) DeleteTestSuite(ctx context.Context, suite *remote.TestSuite)
208212 return
209213 }
210214
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+ })
212222 return
213223}
214224
@@ -218,11 +228,11 @@ func (s *dbserver) ListTestCases(ctx context.Context, suite *remote.TestSuite) (
218228 if db , err = s .getClient (ctx ); err != nil {
219229 return
220230 }
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+ }
226236 }
227237 return
228238}
@@ -312,9 +322,9 @@ func (s *dbserver) GetTestCase(ctx context.Context, testcase *server.TestCase) (
312322 if db , err = s .getClient (ctx ); err != nil {
313323 return
314324 }
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+ }
318328 return
319329}
320330
@@ -324,7 +334,7 @@ func (s *dbserver) GetHistoryTestCaseWithResult(ctx context.Context, testcase *s
324334 if db , err = s .getClient (ctx ); err != nil {
325335 return
326336 }
327- db .Find (& item , "id = ? " , testcase .ID )
337+ db .Find (& item , idQuery , testcase .ID )
328338
329339 result = ConvertToRemoteHistoryTestResult (item )
330340 return
@@ -336,7 +346,7 @@ func (s *dbserver) GetHistoryTestCase(ctx context.Context, testcase *server.Hist
336346 if db , err = s .getClient (ctx ); err != nil {
337347 return
338348 }
339- db .Find (& item , "id = ? " , testcase .ID )
349+ db .Find (& item , idQuery , testcase .ID )
340350
341351 result = ConvertToGRPCHistoryTestCase (item )
342352 return
@@ -364,7 +374,9 @@ func (s *dbserver) UpdateTestCase(ctx context.Context, testcase *server.TestCase
364374 if db , err = s .getClient (ctx ); err != nil {
365375 return
366376 }
367- testCaseIdentity (db , input ).Updates (input )
377+ if err = testCaseIdentity (db , input ).Updates (input ).Error ; err != nil {
378+ return
379+ }
368380
369381 data := make (map [string ]interface {})
370382 if input .ExpectBody == "" {
@@ -375,7 +387,7 @@ func (s *dbserver) UpdateTestCase(ctx context.Context, testcase *server.TestCase
375387 }
376388
377389 if len (data ) > 0 {
378- testCaseIdentity (db , input ).Updates (data )
390+ err = testCaseIdentity (db , input ).Updates (data ). Error
379391 }
380392 return
381393}
0 commit comments