// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/smallstep/certificates/cas/cloudcas (interfaces: CertificateAuthorityClient)
//
// Generated by this command:
//
//	mockgen -package cloudcas -mock_names=CertificateAuthorityClient=MockCertificateAuthorityClient -destination mock_client_test.go github.com/smallstep/certificates/cas/cloudcas CertificateAuthorityClient
//

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

import (
	context "context"
	reflect "reflect"

	privateca "cloud.google.com/go/security/privateca/apiv1"
	privatecapb "cloud.google.com/go/security/privateca/apiv1/privatecapb"
	gax "github.com/googleapis/gax-go/v2"
	gomock "go.uber.org/mock/gomock"
)

// MockCertificateAuthorityClient is a mock of CertificateAuthorityClient interface.
type MockCertificateAuthorityClient struct {
	ctrl     *gomock.Controller
	recorder *MockCertificateAuthorityClientMockRecorder
	isgomock struct{}
}

// MockCertificateAuthorityClientMockRecorder is the mock recorder for MockCertificateAuthorityClient.
type MockCertificateAuthorityClientMockRecorder struct {
	mock *MockCertificateAuthorityClient
}

// NewMockCertificateAuthorityClient creates a new mock instance.
func NewMockCertificateAuthorityClient(ctrl *gomock.Controller) *MockCertificateAuthorityClient {
	mock := &MockCertificateAuthorityClient{ctrl: ctrl}
	mock.recorder = &MockCertificateAuthorityClientMockRecorder{mock}
	return mock
}

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

// ActivateCertificateAuthority mocks base method.
func (m *MockCertificateAuthorityClient) ActivateCertificateAuthority(ctx context.Context, req *privatecapb.ActivateCertificateAuthorityRequest, opts ...gax.CallOption) (*privateca.ActivateCertificateAuthorityOperation, error) {
	m.ctrl.T.Helper()
	varargs := []any{ctx, req}
	for _, a := range opts {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "ActivateCertificateAuthority", varargs...)
	ret0, _ := ret[0].(*privateca.ActivateCertificateAuthorityOperation)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ActivateCertificateAuthority indicates an expected call of ActivateCertificateAuthority.
func (mr *MockCertificateAuthorityClientMockRecorder) ActivateCertificateAuthority(ctx, req any, opts ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx, req}, opts...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ActivateCertificateAuthority", reflect.TypeOf((*MockCertificateAuthorityClient)(nil).ActivateCertificateAuthority), varargs...)
}

// CreateCaPool mocks base method.
func (m *MockCertificateAuthorityClient) CreateCaPool(ctx context.Context, req *privatecapb.CreateCaPoolRequest, opts ...gax.CallOption) (*privateca.CreateCaPoolOperation, error) {
	m.ctrl.T.Helper()
	varargs := []any{ctx, req}
	for _, a := range opts {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "CreateCaPool", varargs...)
	ret0, _ := ret[0].(*privateca.CreateCaPoolOperation)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateCaPool indicates an expected call of CreateCaPool.
func (mr *MockCertificateAuthorityClientMockRecorder) CreateCaPool(ctx, req any, opts ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx, req}, opts...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateCaPool", reflect.TypeOf((*MockCertificateAuthorityClient)(nil).CreateCaPool), varargs...)
}

// CreateCertificate mocks base method.
func (m *MockCertificateAuthorityClient) CreateCertificate(ctx context.Context, req *privatecapb.CreateCertificateRequest, opts ...gax.CallOption) (*privatecapb.Certificate, error) {
	m.ctrl.T.Helper()
	varargs := []any{ctx, req}
	for _, a := range opts {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "CreateCertificate", varargs...)
	ret0, _ := ret[0].(*privatecapb.Certificate)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateCertificate indicates an expected call of CreateCertificate.
func (mr *MockCertificateAuthorityClientMockRecorder) CreateCertificate(ctx, req any, opts ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx, req}, opts...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateCertificate", reflect.TypeOf((*MockCertificateAuthorityClient)(nil).CreateCertificate), varargs...)
}

// CreateCertificateAuthority mocks base method.
func (m *MockCertificateAuthorityClient) CreateCertificateAuthority(ctx context.Context, req *privatecapb.CreateCertificateAuthorityRequest, opts ...gax.CallOption) (*privateca.CreateCertificateAuthorityOperation, error) {
	m.ctrl.T.Helper()
	varargs := []any{ctx, req}
	for _, a := range opts {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "CreateCertificateAuthority", varargs...)
	ret0, _ := ret[0].(*privateca.CreateCertificateAuthorityOperation)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateCertificateAuthority indicates an expected call of CreateCertificateAuthority.
func (mr *MockCertificateAuthorityClientMockRecorder) CreateCertificateAuthority(ctx, req any, opts ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx, req}, opts...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateCertificateAuthority", reflect.TypeOf((*MockCertificateAuthorityClient)(nil).CreateCertificateAuthority), varargs...)
}

// EnableCertificateAuthority mocks base method.
func (m *MockCertificateAuthorityClient) EnableCertificateAuthority(ctx context.Context, req *privatecapb.EnableCertificateAuthorityRequest, opts ...gax.CallOption) (*privateca.EnableCertificateAuthorityOperation, error) {
	m.ctrl.T.Helper()
	varargs := []any{ctx, req}
	for _, a := range opts {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "EnableCertificateAuthority", varargs...)
	ret0, _ := ret[0].(*privateca.EnableCertificateAuthorityOperation)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// EnableCertificateAuthority indicates an expected call of EnableCertificateAuthority.
func (mr *MockCertificateAuthorityClientMockRecorder) EnableCertificateAuthority(ctx, req any, opts ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx, req}, opts...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "EnableCertificateAuthority", reflect.TypeOf((*MockCertificateAuthorityClient)(nil).EnableCertificateAuthority), varargs...)
}

// FetchCertificateAuthorityCsr mocks base method.
func (m *MockCertificateAuthorityClient) FetchCertificateAuthorityCsr(ctx context.Context, req *privatecapb.FetchCertificateAuthorityCsrRequest, opts ...gax.CallOption) (*privatecapb.FetchCertificateAuthorityCsrResponse, error) {
	m.ctrl.T.Helper()
	varargs := []any{ctx, req}
	for _, a := range opts {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "FetchCertificateAuthorityCsr", varargs...)
	ret0, _ := ret[0].(*privatecapb.FetchCertificateAuthorityCsrResponse)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// FetchCertificateAuthorityCsr indicates an expected call of FetchCertificateAuthorityCsr.
func (mr *MockCertificateAuthorityClientMockRecorder) FetchCertificateAuthorityCsr(ctx, req any, opts ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx, req}, opts...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FetchCertificateAuthorityCsr", reflect.TypeOf((*MockCertificateAuthorityClient)(nil).FetchCertificateAuthorityCsr), varargs...)
}

// GetCaPool mocks base method.
func (m *MockCertificateAuthorityClient) GetCaPool(ctx context.Context, req *privatecapb.GetCaPoolRequest, opts ...gax.CallOption) (*privatecapb.CaPool, error) {
	m.ctrl.T.Helper()
	varargs := []any{ctx, req}
	for _, a := range opts {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "GetCaPool", varargs...)
	ret0, _ := ret[0].(*privatecapb.CaPool)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetCaPool indicates an expected call of GetCaPool.
func (mr *MockCertificateAuthorityClientMockRecorder) GetCaPool(ctx, req any, opts ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx, req}, opts...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCaPool", reflect.TypeOf((*MockCertificateAuthorityClient)(nil).GetCaPool), varargs...)
}

// GetCertificateAuthority mocks base method.
func (m *MockCertificateAuthorityClient) GetCertificateAuthority(ctx context.Context, req *privatecapb.GetCertificateAuthorityRequest, opts ...gax.CallOption) (*privatecapb.CertificateAuthority, error) {
	m.ctrl.T.Helper()
	varargs := []any{ctx, req}
	for _, a := range opts {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "GetCertificateAuthority", varargs...)
	ret0, _ := ret[0].(*privatecapb.CertificateAuthority)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetCertificateAuthority indicates an expected call of GetCertificateAuthority.
func (mr *MockCertificateAuthorityClientMockRecorder) GetCertificateAuthority(ctx, req any, opts ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx, req}, opts...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCertificateAuthority", reflect.TypeOf((*MockCertificateAuthorityClient)(nil).GetCertificateAuthority), varargs...)
}

// RevokeCertificate mocks base method.
func (m *MockCertificateAuthorityClient) RevokeCertificate(ctx context.Context, req *privatecapb.RevokeCertificateRequest, opts ...gax.CallOption) (*privatecapb.Certificate, error) {
	m.ctrl.T.Helper()
	varargs := []any{ctx, req}
	for _, a := range opts {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "RevokeCertificate", varargs...)
	ret0, _ := ret[0].(*privatecapb.Certificate)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// RevokeCertificate indicates an expected call of RevokeCertificate.
func (mr *MockCertificateAuthorityClientMockRecorder) RevokeCertificate(ctx, req any, opts ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx, req}, opts...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RevokeCertificate", reflect.TypeOf((*MockCertificateAuthorityClient)(nil).RevokeCertificate), varargs...)
}
