// Code generated by mockery v0.0.0-dev. DO NOT EDIT.

package prometheus

import (
	context "context"

	model "github.com/prometheus/common/model"
	mock "github.com/stretchr/testify/mock"

	time "time"

	v1 "github.com/prometheus/client_golang/api/prometheus/v1"
)

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

// Query provides a mock function with given fields: ctx, query, ts
func (_m *MockPrometheusAPI) Query(ctx context.Context, query string, ts time.Time) (model.Value, v1.Warnings, error) {
	ret := _m.Called(ctx, query, ts)

	var r0 model.Value
	if rf, ok := ret.Get(0).(func(context.Context, string, time.Time) model.Value); ok {
		r0 = rf(ctx, query, ts)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(model.Value)
		}
	}

	var r1 v1.Warnings
	if rf, ok := ret.Get(1).(func(context.Context, string, time.Time) v1.Warnings); ok {
		r1 = rf(ctx, query, ts)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(v1.Warnings)
		}
	}

	var r2 error
	if rf, ok := ret.Get(2).(func(context.Context, string, time.Time) error); ok {
		r2 = rf(ctx, query, ts)
	} else {
		r2 = ret.Error(2)
	}

	return r0, r1, r2
}
