repo_description: AI powered Kubernetes Assistant
repo_topics: ai assistant cli kubernetes
code: // Code generated by MockGen. DO NOT EDIT.
  // Source: github.com/GoogleCloudPlatform/kubectl-ai/gollm (interfaces: Client,Chat)
  //
  // Generated by this command:
  //
  //	mockgen -destination=gollm_mock.go -package=mocks github.com/GoogleCloudPlatform/kubectl-ai/gollm Client,Chat
  //
  
  // Package mocks is a generated GoMock package.
  package mocks
  
  import (
  	context "context"
  	reflect "reflect"
  
  	gollm "github.com/GoogleCloudPlatform/kubectl-ai/gollm"
  	api "github.com/GoogleCloudPlatform/kubectl-ai/pkg/api"
  	gomock "go.uber.org/mock/gomock"
  )
  
  // MockClient is a mock of Client interface.
  type MockClient struct {
  	ctrl     *gomock.Controller
  	recorder *MockClientMockRecorder
  	isgomock struct{}
  }
  
  // MockClientMockRecorder is the mock recorder for MockClient.
  type MockClientMockRecorder struct {
  	mock *MockClient
  }
  
  // NewMockClient creates a new mock instance.
  func NewMockClient(ctrl *gomock.Controller) *MockClient {
  	mock := &MockClient{ctrl: ctrl}
  	mock.recorder = &MockClientMockRecorder{mock}
  	return mock
  }
  
  // EXPECT returns an object that allows the caller to indicate expected use.
  func (m *MockClient) EXPECT() *MockClientMockRecorder {
  	return m.recorder
  }
  
  // Close mocks base method.
  func (m *MockClient) Close() error {
  	m.ctrl.T.Helper()
  	ret := m.ctrl.Call(m, "Close")
  	ret0, _ := ret[0].(error)
  	return ret0
  }
  
  // Close indicates an expected call of Close.
  func (mr *MockClientMockRecorder) Close() *gomock.Call {
  	mr.mock.ctrl.T.Helper()
  	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Close", reflect.TypeOf((*MockClient)(nil).Close))
  }
  
  // GenerateCompletion mocks base method.
  func (m *MockClient) GenerateCompletion(ctx context.Context, req *gollm.CompletionRequest) (gollm.CompletionResponse, error) {
  	m.ctrl.T.Helper()
  	ret := m.ctrl.Call(m, "GenerateCompletion", ctx, req)
  	ret0, _ := ret[0].(gollm.CompletionResponse)
  	ret1, _ := ret[1].(error)
  	return ret0, ret1
  }
  
  // GenerateCompletion indicates an expected call of GenerateCompletion.
  func (mr *MockClientMockRecorder) GenerateCompletion(ctx, req any) *gomock.Call {
  	mr.mock.ctrl.T.Helper()
  	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenerateCompletion", reflect.TypeOf((*MockClient)(nil).GenerateCompletion), ctx, req)
  }
  
  // ListModels mocks base method.
  func (m *MockClient) ListModels(ctx context.Context) ([]string, error) {
  	m.ctrl.T.Helper()
  	ret := m.ctrl.Call(m, "ListModels", ctx)
  	ret0, _ := ret[0].([]string)
  	ret1, _ := ret[1].(error)
  	return ret0, ret1
  }
  
  // ListModels indicates an expected call of ListModels.
  func (mr *MockClientMockRecorder) ListModels(ctx any) *gomock.Call {
  	mr.mock.ctrl.T.Helper()
  	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListModels", reflect.TypeOf((*MockClient)(nil).ListModels), ctx)
  }
  
  // SetResponseSchema mocks base method.
  func (m *MockClient) SetResponseSchema(schema *gollm.Schema) error {
  	m.ctrl.T.Helper()
  	ret := m.ctrl.Call(m, "SetResponseSchema", schema)
  	ret0, _ := ret[0].(error)
  	return ret0
  }
  
  // SetResponseSchema indicates an expected call of SetResponseSchema.
  func (mr *MockClientMockRecorder) SetResponseSchema(schema any) *gomock.Call {
  	mr.mock.ctrl.T.Helper()
  	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetResponseSchema", reflect.TypeOf((*MockClient)(nil).SetResponseSchema), schema)
  }
  
  // StartChat mocks base method.
  func (m *MockClient) StartChat(systemPrompt, model string) gollm.Chat {
  	m.ctrl.T.Helper()
  	ret := m.ctrl.Call(m, "StartChat", systemPrompt, model)
  	ret0, _ := ret[0].(gollm.Chat)
  	return ret0
  }
  
  // StartChat indicates an expected call of StartChat.
  func (mr *MockClientMockRecorder) StartChat(systemPrompt, model any) *gomock.Call {
  	mr.mock.ctrl.T.Helper()
  	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StartChat", reflect.TypeOf((*MockClient)(nil).StartChat), systemPrompt, model)
  }
  
  // MockChat is a mock of Chat interface.
  type MockChat struct {
  	ctrl     *gomock.Controller
  	recorder *MockChatMockRecorder
  	isgomock struct{}
  }
  
  // MockChatMockRecorder is the mock recorder for MockChat.
  type MockChatMockRecorder struct {
  	mock *MockChat
  }
  
  // NewMockChat creates a new mock instance.
  func NewMockChat(ctrl *gomock.Controller) *MockChat {
  	mock := &MockChat{ctrl: ctrl}
  	mock.recorder = &MockChatMockRecorder{mock}
  	return mock
  }
  
  // EXPECT returns an object that allows the caller to indicate expected use.
  func (m *MockChat) EXPECT() *MockChatMockRecorder {
  	return m.recorder
  }
  
  // Initialize mocks base method.
  func (m *MockChat) Initialize(messages []*api.Message) error {
  	m.ctrl.T.Helper()
  	ret := m.ctrl.Call(m, "Initialize", messages)
  	ret0, _ := ret[0].(error)
  	return ret0
  }
  
  // Initialize indicates an expected call of Initialize.
  func (mr *MockChatMockRecorder) Initialize(messages any) *gomock.Call {
  	mr.mock.ctrl.T.Helper()
  	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Initialize", reflect.TypeOf((*MockChat)(nil).Initialize), messages)
  }
  
  // IsRetryableError mocks base method.
  func (m *MockChat) IsRetryableError(arg0 error) bool {
  	m.ctrl.T.Helper()
  	ret := m.ctrl.Call(m, "IsRetryableError", arg0)
  	ret0, _ := ret[0].(bool)
  	return ret0
  }
  
  // IsRetryableError indicates an expected call of IsRetryableError.
  func (mr *MockChatMockRecorder) IsRetryableError(arg0 any) *gomock.Call {
  	mr.mock.ctrl.T.Helper()
  	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IsRetryableError", reflect.TypeOf((*MockChat)(nil).IsRetryableError), arg0)
  }
  
  // Send mocks base method.
  func (m *MockChat) Send(ctx context.Context, contents ...any) (gollm.ChatResponse, error) {
  	m.ctrl.T.Helper()
  	varargs := []any{ctx}
  	for _, a := range contents {
  		varargs = append(varargs, a)
  	}
  	ret := m.ctrl.Call(m, "Send", varargs...)
  	ret0, _ := ret[0].(gollm.ChatResponse)
  	ret1, _ := ret[1].(error)
  	return ret0, ret1
  }
  
  // Send indicates an expected call of Send.
  func (mr *MockChatMockRecorder) Send(ctx any, contents ...any) *gomock.Call {
  	mr.mock.ctrl.T.Helper()
  	varargs := append([]any{ctx}, contents...)
  	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Send", reflect.TypeOf((*MockChat)(nil).Send), varargs...)
  }
  
  // SendStreaming mocks base method.
  func (m *MockChat) SendStreaming(ctx context.Context, contents ...any) (gollm.ChatResponseIterator, error) {
  	m.ctrl.T.Helper()
  	varargs := []any{ctx}
  	for _, a := range contents {
  		varargs = append(varargs, a)
  	}
  	ret := m.ctrl.Call(m, "SendStreaming", varargs...)
  	ret0, _ := ret[0].(gollm.ChatResponseIterator)
  	ret1, _ := ret[1].(error)
  	return ret0, ret1
  }
  
  // SendStreaming indicates an expected call of SendStreaming.
  func (mr *MockChatMockRecorder) SendStreaming(ctx any, contents ...any) *gomock.Call {
  	mr.mock.ctrl.T.Helper()
  	varargs := append([]any{ctx}, contents...)
  	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendStreaming", reflect.TypeOf((*MockChat)(nil).SendStreaming), varargs...)
  }
  
  // SetFunctionDefinitions mocks base method.
  func (m *MockChat) SetFunctionDefinitions(functionDefinitions []*gollm.FunctionDefinition) error {
  	m.ctrl.T.Helper()
  	ret := m.ctrl.Call(m, "SetFunctionDefinitions", functionDefinitions)
  	ret0, _ := ret[0].(error)
  	return ret0
  }
  
  // SetFunctionDefinitions indicates an expected call of SetFunctionDefinitions.
  func (mr *MockChatMockRecorder) SetFunctionDefinitions(functionDefinitions any) *gomock.Call {
  	mr.mock.ctrl.T.Helper()
  	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetFunctionDefinitions", reflect.TypeOf((*MockChat)(nil).SetFunctionDefinitions), functionDefinitions)
  }
  