Initial cloud-services repo - gateway service + pkg modules
This commit is contained in:
48
pkg/db/queries/mocks/dbtestcase.go
Normal file
48
pkg/db/queries/mocks/dbtestcase.go
Normal file
@@ -0,0 +1,48 @@
|
||||
package mocks
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"fiskerinc.com/modules/db/queries"
|
||||
th "fiskerinc.com/modules/testhelper"
|
||||
)
|
||||
|
||||
type DBTestCase struct {
|
||||
ExpectedFilter fmt.Stringer
|
||||
ExpectedPage *queries.PageQueryOptions
|
||||
MockListResponse interface{}
|
||||
MockLoadResponse interface{}
|
||||
SetupMockResponse func()
|
||||
MockError error
|
||||
MockDriverError error
|
||||
}
|
||||
|
||||
func (tc *DBTestCase) SetupDB(mock DBMockHelperInterface) {
|
||||
if mock != nil {
|
||||
mock.SetErr(tc.MockError)
|
||||
mock.SetListResp(tc.MockListResponse)
|
||||
mock.SetLoadResp(tc.MockLoadResponse)
|
||||
mock.SetDriverError(tc.MockDriverError)
|
||||
}
|
||||
|
||||
if tc.SetupMockResponse != nil {
|
||||
tc.SetupMockResponse()
|
||||
}
|
||||
}
|
||||
|
||||
func (tc *DBTestCase) Validate(t *testing.T, name string, mock DBMockHelperInterface) {
|
||||
if mock != nil {
|
||||
if mock.GetFilter() != nil && tc.ExpectedFilter != nil && mock.GetFilter().String() != tc.ExpectedFilter.String() {
|
||||
t.Errorf(th.TestErrorTemplate, name, tc.ExpectedFilter.String(), mock.GetFilter().String())
|
||||
} else if mock.GetFilter() == nil && tc.ExpectedFilter != nil {
|
||||
t.Errorf(th.TestErrorTemplate, name, tc.ExpectedFilter.String(), nil)
|
||||
}
|
||||
|
||||
if mock.GetPaging() != nil && tc.ExpectedPage != nil && mock.GetPaging().String() != tc.ExpectedPage.String() {
|
||||
t.Errorf(th.TestErrorTemplate, name, tc.ExpectedPage.String(), mock.GetPaging().String())
|
||||
} else if mock.GetPaging() == nil && tc.ExpectedPage != nil {
|
||||
t.Errorf(th.TestErrorTemplate, name, tc.ExpectedPage.String(), nil)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user