1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2024-12-14 11:03:09 +02:00
sap-jenkins-library/pkg/abap/aakaas/aakUtils_mock.go
2022-11-08 08:47:38 +01:00

140 lines
3.2 KiB
Go

//go:build !release
// +build !release
package aakaas
import (
"time"
abapbuild "github.com/SAP/jenkins-library/pkg/abap/build"
"github.com/SAP/jenkins-library/pkg/abaputils"
"github.com/SAP/jenkins-library/pkg/mock"
"github.com/SAP/jenkins-library/pkg/piperutils"
"github.com/pkg/errors"
)
type AakBundleMock struct {
*mock.ExecMockRunner
*abaputils.ClientMock
*mock.FilesMock
maxRuntime time.Duration
}
func NewAakBundleMock() *AakBundleMock {
utils := AakBundleMock{
ExecMockRunner: &mock.ExecMockRunner{},
ClientMock: &abaputils.ClientMock{},
maxRuntime: 1 * time.Second,
FilesMock: &mock.FilesMock{},
}
return &utils
}
func (bundle *AakBundleMock) GetUtils() AakUtils {
return bundle
}
func (bundle *AakBundleMock) GetMaxRuntime() time.Duration {
return bundle.maxRuntime
}
func (bundle *AakBundleMock) SetMaxRuntime(maxRuntime time.Duration) {
bundle.maxRuntime = maxRuntime
}
func (bundle *AakBundleMock) GetPollingInterval() time.Duration {
return 1 * time.Microsecond
}
func (bundle *AakBundleMock) SetBodyList(bodyList []string) {
bundle.ClientMock.Body = ""
bundle.ClientMock.BodyList = bodyList
}
func (bundle *AakBundleMock) SetBody(body string) {
bundle.ClientMock.Body = body
bundle.ClientMock.BodyList = []string{}
}
func (bundle *AakBundleMock) SetErrorInsteadOfDumpToTrue() {
bundle.ClientMock.ErrorInsteadOfDump = true
}
func (bundle *AakBundleMock) SetError(errorText string) {
bundle.ClientMock.Error = errors.New(errorText)
}
func (bundle *AakBundleMock) ReadAddonDescriptor(FileName string) (abaputils.AddonDescriptor, error) {
var addonDescriptor abaputils.AddonDescriptor
var err error
switch FileName {
case "success":
{
addonDescriptor = abaputils.AddonDescriptor{
AddonProduct: "/DRNMSPC/PRD01",
AddonVersionYAML: "3.2.1",
Repositories: []abaputils.Repository{
{
Name: "/DRNMSPC/COMP01",
VersionYAML: "1.2.3",
CommitID: "HUGO1234",
},
},
}
}
case "noCommitID":
{
addonDescriptor = abaputils.AddonDescriptor{
AddonProduct: "/DRNMSPC/PRD01",
AddonVersionYAML: "3.2.1",
Repositories: []abaputils.Repository{
{
Name: "/DRNMSPC/COMP01",
VersionYAML: "1.2.3",
},
},
}
}
case "failing":
{
err = errors.New("error in ReadAddonDescriptor")
}
}
return addonDescriptor, err
}
// *****************************other client mock *******************************
type AakBundleMockNewMC struct {
*mock.ExecMockRunner
*abapbuild.MockClient
*piperutils.Files
maxRuntime time.Duration
}
func NewAakBundleMockNewMC(mC *abapbuild.MockClient) *AakBundleMockNewMC {
utils := AakBundleMockNewMC{
ExecMockRunner: &mock.ExecMockRunner{},
MockClient: mC,
maxRuntime: 1 * time.Second,
}
return &utils
}
func (bundle *AakBundleMockNewMC) GetUtils() AakUtils {
return bundle
}
func (bundle *AakBundleMockNewMC) GetMaxRuntime() time.Duration {
return bundle.maxRuntime
}
func (bundle *AakBundleMockNewMC) GetPollingInterval() time.Duration {
return 1 * time.Microsecond
}
func (bundle *AakBundleMockNewMC) ReadAddonDescriptor(FileName string) (abaputils.AddonDescriptor, error) {
var addonDescriptor abaputils.AddonDescriptor
err := errors.New("don't use this")
return addonDescriptor, err
}