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

package mocks

import (
	mock "github.com/stretchr/testify/mock"
	oauth2 "golang.org/x/oauth2"
)

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

type TokenSource_Token struct {
	*mock.Call
}

func (_m TokenSource_Token) Return(_a0 *oauth2.Token, _a1 error) *TokenSource_Token {
	return &TokenSource_Token{Call: _m.Call.Return(_a0, _a1)}
}

func (_m *TokenSource) OnToken() *TokenSource_Token {
	c_call := _m.On("Token")
	return &TokenSource_Token{Call: c_call}
}

func (_m *TokenSource) OnTokenMatch(matchers ...interface{}) *TokenSource_Token {
	c_call := _m.On("Token", matchers...)
	return &TokenSource_Token{Call: c_call}
}

// Token provides a mock function with given fields:
func (_m *TokenSource) Token() (*oauth2.Token, error) {
	ret := _m.Called()

	var r0 *oauth2.Token
	if rf, ok := ret.Get(0).(func() *oauth2.Token); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*oauth2.Token)
		}
	}

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

	return r0, r1
}
