diff --git a/mockConvertQuery.go b/mockConvertQuery.go new file mode 100644 index 0000000000000000000000000000000000000000..de536b5ff5018dc8dc0cafd124d2e2e2be5f52a3 --- /dev/null +++ b/mockConvertQuery.go @@ -0,0 +1,31 @@ +package aql + +import "errors" + +// A MockService implements the query convert usecase interface (mock) +type MockService struct { + throwError bool +} + +// NewMockService creates a new query convert service (mock) +func NewMockService() *MockService { + return &MockService{ + throwError: false, + } +} + +// ConvertQuery returns a hard coded string message (mock) +func (s *MockService) ConvertQuery(jsonMsg *[]byte) (*string, *string, error) { + mockQuery := "Query converted" + mockDatabaseName := "test-database" + + if !s.throwError { + return &mockQuery, &mockDatabaseName, nil + } + return nil, &mockDatabaseName, errors.New("Failed to convert query") +} + +// ToggleError decides whether the convert function throws an error +func (s *MockService) ToggleError() { + s.throwError = !s.throwError +}