// Code generated by protoc-gen-grpc-mock. DO NOT EDIT.
// source: automate-gateway/api/deployment/deployment.proto

package deployment

import (
	"context"

	"google.golang.org/grpc/codes"
	"google.golang.org/grpc/status"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
)

// verify that the mock satisfies the DeploymentServer interface (at compile time)
var _ DeploymentServer = &DeploymentServerMock{}

// NewDeploymentServerMock gives you a fresh instance of DeploymentServerMock.
func NewDeploymentServerMock() *DeploymentServerMock {
	return &DeploymentServerMock{validateRequests: true}
}

// NewDeploymentServerMockWithoutValidation gives you a fresh instance of
// DeploymentServerMock which does not attempt to validate requests before passing
// them to their respective '*Func'.
func NewDeploymentServerMockWithoutValidation() *DeploymentServerMock {
	return &DeploymentServerMock{}
}

// DeploymentServerMock is the mock-what-you-want struct that stubs all not-overridden
// methods with "not implemented" returns
type DeploymentServerMock struct {
	validateRequests    bool
	GetVersionFunc      func(context.Context, *emptypb.Empty) (*Version, error)
	ServiceVersionsFunc func(context.Context, *ServiceVersionsRequest) (*ServiceVersionsResponse, error)
}

func (m *DeploymentServerMock) GetVersion(ctx context.Context, req *emptypb.Empty) (*Version, error) {
	if msg, ok := interface{}(req).(interface{ Validate() error }); m.validateRequests && ok {
		if err := msg.Validate(); err != nil {
			return nil, status.Error(codes.InvalidArgument, err.Error())
		}
	}
	if f := m.GetVersionFunc; f != nil {
		return f(ctx, req)
	}
	return nil, status.Error(codes.Internal, "mock: 'GetVersion' not implemented")
}

func (m *DeploymentServerMock) ServiceVersions(ctx context.Context, req *ServiceVersionsRequest) (*ServiceVersionsResponse, error) {
	if msg, ok := interface{}(req).(interface{ Validate() error }); m.validateRequests && ok {
		if err := msg.Validate(); err != nil {
			return nil, status.Error(codes.InvalidArgument, err.Error())
		}
	}
	if f := m.ServiceVersionsFunc; f != nil {
		return f(ctx, req)
	}
	return nil, status.Error(codes.Internal, "mock: 'ServiceVersions' not implemented")
}

// Reset resets all overridden functions
func (m *DeploymentServerMock) Reset() {
	m.GetVersionFunc = nil
	m.ServiceVersionsFunc = nil
}
