// Code generated by mockery v1.0.0. DO NOT EDIT.

// Copyright (c) 2019 The Jaeger Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package mocks

import (
	context "context"

	elastic "github.com/olivere/elastic"
	mock "github.com/stretchr/testify/mock"

	es "github.com/jaegertracing/jaeger/pkg/es"
)

// SearchService is an autogenerated mock type for the SearchService type
type SearchService struct {
	mock.Mock
}

// Aggregation provides a mock function with given fields: name, aggregation
func (_m *SearchService) Aggregation(name string, aggregation elastic.Aggregation) es.SearchService {
	ret := _m.Called(name, aggregation)

	var r0 es.SearchService
	if rf, ok := ret.Get(0).(func(string, elastic.Aggregation) es.SearchService); ok {
		r0 = rf(name, aggregation)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(es.SearchService)
		}
	}

	return r0
}

// Do provides a mock function with given fields: ctx
func (_m *SearchService) Do(ctx context.Context) (*elastic.SearchResult, error) {
	ret := _m.Called(ctx)

	var r0 *elastic.SearchResult
	if rf, ok := ret.Get(0).(func(context.Context) *elastic.SearchResult); ok {
		r0 = rf(ctx)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*elastic.SearchResult)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context) error); ok {
		r1 = rf(ctx)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// IgnoreUnavailable provides a mock function with given fields: ignoreUnavailable
func (_m *SearchService) IgnoreUnavailable(ignoreUnavailable bool) es.SearchService {
	ret := _m.Called(ignoreUnavailable)

	var r0 es.SearchService
	if rf, ok := ret.Get(0).(func(bool) es.SearchService); ok {
		r0 = rf(ignoreUnavailable)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(es.SearchService)
		}
	}

	return r0
}

// Query provides a mock function with given fields: query
func (_m *SearchService) Query(query elastic.Query) es.SearchService {
	ret := _m.Called(query)

	var r0 es.SearchService
	if rf, ok := ret.Get(0).(func(elastic.Query) es.SearchService); ok {
		r0 = rf(query)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(es.SearchService)
		}
	}

	return r0
}

// Size provides a mock function with given fields: size
func (_m *SearchService) Size(size int) es.SearchService {
	ret := _m.Called(size)

	var r0 es.SearchService
	if rf, ok := ret.Get(0).(func(int) es.SearchService); ok {
		r0 = rf(size)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(es.SearchService)
		}
	}

	return r0
}
