// Code generated by MockGen. DO NOT EDIT.
// Source: controller/pkg/tokens/tokens.go

// Package mocktokens is a generated GoMock package.
package mocktokens

import (
	ecdsa "crypto/ecdsa"
	reflect "reflect"

	gomock "github.com/golang/mock/gomock"
	claimsheader "go.aporeto.io/enforcerd/trireme-lib/controller/pkg/claimsheader"
	pkiverifier "go.aporeto.io/enforcerd/trireme-lib/controller/pkg/pkiverifier"
	secrets "go.aporeto.io/enforcerd/trireme-lib/controller/pkg/secrets"
	tokens "go.aporeto.io/enforcerd/trireme-lib/controller/pkg/tokens"
)

// MockTokenEngine is a mock of TokenEngine interface
// nolint
type MockTokenEngine struct {
	ctrl     *gomock.Controller
	recorder *MockTokenEngineMockRecorder
}

// MockTokenEngineMockRecorder is the mock recorder for MockTokenEngine
// nolint
type MockTokenEngineMockRecorder struct {
	mock *MockTokenEngine
}

// NewMockTokenEngine creates a new mock instance
// nolint
func NewMockTokenEngine(ctrl *gomock.Controller) *MockTokenEngine {
	mock := &MockTokenEngine{ctrl: ctrl}
	mock.recorder = &MockTokenEngineMockRecorder{mock}
	return mock
}

// EXPECT returns an object that allows the caller to indicate expected use
// nolint
func (m *MockTokenEngine) EXPECT() *MockTokenEngineMockRecorder {
	return m.recorder
}

// CreateAndSign mocks base method
// nolint
func (m *MockTokenEngine) CreateAndSign(isAck bool, claims *tokens.ConnectionClaims, encodedBuf, nonce []byte, claimsHeader *claimsheader.ClaimsHeader, secrets secrets.Secrets) ([]byte, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateAndSign", isAck, claims, encodedBuf, nonce, claimsHeader, secrets)
	ret0, _ := ret[0].([]byte)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateAndSign indicates an expected call of CreateAndSign
// nolint
func (mr *MockTokenEngineMockRecorder) CreateAndSign(isAck, claims, encodedBuf, nonce, claimsHeader, secrets interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateAndSign", reflect.TypeOf((*MockTokenEngine)(nil).CreateAndSign), isAck, claims, encodedBuf, nonce, claimsHeader, secrets)
}

// DecodeSyn mocks base method
// nolint
func (m *MockTokenEngine) DecodeSyn(isSynAck bool, data []byte, privateKey *ecdsa.PrivateKey, secrets secrets.Secrets, connClaims *tokens.ConnectionClaims) (*claimsheader.ClaimsHeader, []byte, interface{}, *pkiverifier.PKIControllerInfo, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DecodeSyn", isSynAck, data, privateKey, secrets, connClaims)
	ret0, _ := ret[0].(*claimsheader.ClaimsHeader)
	ret1, _ := ret[1].([]byte)
	ret2, _ := ret[2].(interface{})
	ret3, _ := ret[3].(*pkiverifier.PKIControllerInfo)
	ret4, _ := ret[4].(error)
	return ret0, ret1, ret2, ret3, ret4
}

// DecodeSyn indicates an expected call of DecodeSyn
// nolint
func (mr *MockTokenEngineMockRecorder) DecodeSyn(isSynAck, data, privateKey, secrets, connClaims interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DecodeSyn", reflect.TypeOf((*MockTokenEngine)(nil).DecodeSyn), isSynAck, data, privateKey, secrets, connClaims)
}

// DecodeAck mocks base method
// nolint
func (m *MockTokenEngine) DecodeAck(data []byte, connClaims *tokens.ConnectionClaims) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DecodeAck", data, connClaims)
	ret0, _ := ret[0].(error)
	return ret0
}

// DecodeAck indicates an expected call of DecodeAck
// nolint
func (mr *MockTokenEngineMockRecorder) DecodeAck(data, connClaims interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DecodeAck", reflect.TypeOf((*MockTokenEngine)(nil).DecodeAck), data, connClaims)
}

// Randomize mocks base method
// nolint
func (m *MockTokenEngine) Randomize(arg0, arg1 []byte) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Randomize", arg0, arg1)
	ret0, _ := ret[0].(error)
	return ret0
}

// Randomize indicates an expected call of Randomize
// nolint
func (mr *MockTokenEngineMockRecorder) Randomize(arg0, arg1 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Randomize", reflect.TypeOf((*MockTokenEngine)(nil).Randomize), arg0, arg1)
}

// Sign mocks base method
// nolint
func (m *MockTokenEngine) Sign(arg0 []byte, arg1 *ecdsa.PrivateKey) ([]byte, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Sign", arg0, arg1)
	ret0, _ := ret[0].([]byte)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Sign indicates an expected call of Sign
// nolint
func (mr *MockTokenEngineMockRecorder) Sign(arg0, arg1 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Sign", reflect.TypeOf((*MockTokenEngine)(nil).Sign), arg0, arg1)
}
