1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2024-12-14 11:03:09 +02:00
sap-jenkins-library/pkg/mock/dockerClient.go

59 lines
1.2 KiB
Go
Raw Normal View History

package mock
import (
"fmt"
v1 "github.com/google/go-containerregistry/pkg/v1"
)
// DownloadMock .
type DownloadMock struct {
FilePath string
ImageRef string
RemoteImageRef string
RegistryURL string
ReturnImage v1.Image
RemoteImageInfo v1.Image
ReturnError string
Stub func(imageRef, targetDir string) (v1.Image, error)
}
// DownloadImage .
func (c *DownloadMock) DownloadImage(imageRef, targetDir string) (v1.Image, error) {
c.ImageRef = imageRef
c.FilePath = targetDir
if c.Stub != nil {
return c.Stub(imageRef, targetDir)
}
if len(c.ReturnError) > 0 {
return nil, fmt.Errorf(c.ReturnError)
}
return c.ReturnImage, nil
}
// DownloadImageContent .
func (c *DownloadMock) DownloadImageContent(imageRef, targetFile string) (v1.Image, error) {
c.ImageRef = imageRef
c.FilePath = targetFile
if len(c.ReturnError) > 0 {
return nil, fmt.Errorf(c.ReturnError)
}
return c.ReturnImage, nil
}
// GetRemoteImageInfo .
func (c *DownloadMock) GetRemoteImageInfo(imageRef string) (v1.Image, error) {
c.RemoteImageRef = imageRef
if len(c.ReturnError) > 0 {
return nil, fmt.Errorf(c.ReturnError)
}
return c.RemoteImageInfo, nil
}