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

package mocks

import (
	distribution "github.com/distribution/distribution/v3"
	digest "github.com/opencontainers/go-digest"

	mock "github.com/stretchr/testify/mock"

	options "github.com/argoproj-labs/argocd-image-updater/registry-scanner/pkg/options"

	tag "github.com/argoproj-labs/argocd-image-updater/registry-scanner/pkg/tag"
)

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

// ManifestForDigest provides a mock function with given fields: dgst
func (_m *RegistryClient) ManifestForDigest(dgst digest.Digest) (distribution.Manifest, error) {
	ret := _m.Called(dgst)

	var r0 distribution.Manifest
	if rf, ok := ret.Get(0).(func(digest.Digest) distribution.Manifest); ok {
		r0 = rf(dgst)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(distribution.Manifest)
		}
	}

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

	return r0, r1
}

// ManifestForTag provides a mock function with given fields: tagStr
func (_m *RegistryClient) ManifestForTag(tagStr string) (distribution.Manifest, error) {
	ret := _m.Called(tagStr)

	var r0 distribution.Manifest
	if rf, ok := ret.Get(0).(func(string) distribution.Manifest); ok {
		r0 = rf(tagStr)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(distribution.Manifest)
		}
	}

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

	return r0, r1
}

// NewRepository provides a mock function with given fields: nameInRepository
func (_m *RegistryClient) NewRepository(nameInRepository string) error {
	ret := _m.Called(nameInRepository)

	var r0 error
	if rf, ok := ret.Get(0).(func(string) error); ok {
		r0 = rf(nameInRepository)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// TagMetadata provides a mock function with given fields: manifest, opts
func (_m *RegistryClient) TagMetadata(manifest distribution.Manifest, opts *options.ManifestOptions) (*tag.TagInfo, error) {
	ret := _m.Called(manifest, opts)

	var r0 *tag.TagInfo
	if rf, ok := ret.Get(0).(func(distribution.Manifest, *options.ManifestOptions) *tag.TagInfo); ok {
		r0 = rf(manifest, opts)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*tag.TagInfo)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(distribution.Manifest, *options.ManifestOptions) error); ok {
		r1 = rf(manifest, opts)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// Tags provides a mock function with given fields:
func (_m *RegistryClient) Tags() ([]string, error) {
	ret := _m.Called()

	var r0 []string
	if rf, ok := ret.Get(0).(func() []string); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]string)
		}
	}

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

	return r0, r1
}
