mirror of
https://github.com/SAP/jenkins-library.git
synced 2024-12-12 10:55:20 +02:00
1f750af16d
Co-authored-by: Ralf Pannemans <ralf.pannemans@sap.com> Co-authored-by: Johannes Dillmann <j.dillmann@sap.com>
59 lines
1.2 KiB
Go
59 lines
1.2 KiB
Go
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
|
|
}
|