You've already forked sap-jenkins-library
mirror of
https://github.com/SAP/jenkins-library.git
synced 2025-11-06 09:09:19 +02:00
RobustConfirm (#3179)
confirm no longer done based on package status but now based on boolean indicator which is set during assembly step. Thus confirm can now be placed after release packages.
This commit is contained in:
@@ -51,6 +51,7 @@ type Repository struct {
|
||||
Namespace string
|
||||
SarXMLFilePath string
|
||||
Languages []string `json:"languages"`
|
||||
InBuildScope bool
|
||||
}
|
||||
|
||||
// ReadAddonDescriptorType is the type for ReadAddonDescriptor for mocking
|
||||
@@ -116,7 +117,7 @@ func (me *AddonDescriptor) initFromYmlFile(FileName string, readFile readFileFun
|
||||
func CheckAddonDescriptorForRepositories(addonDescriptor AddonDescriptor) error {
|
||||
//checking if parsing went wrong
|
||||
if len(addonDescriptor.Repositories) == 0 {
|
||||
return errors.New(fmt.Sprintf("AddonDescriptor doesn't contain any repositories"))
|
||||
return errors.New("AddonDescriptor doesn't contain any repositories")
|
||||
}
|
||||
//
|
||||
emptyRepositoryCounter := 0
|
||||
@@ -125,7 +126,7 @@ func CheckAddonDescriptorForRepositories(addonDescriptor AddonDescriptor) error
|
||||
emptyRepositoryCounter++
|
||||
}
|
||||
if counter+1 == len(addonDescriptor.Repositories) && emptyRepositoryCounter == len(addonDescriptor.Repositories) {
|
||||
return errors.New(fmt.Sprintf("AddonDescriptor doesn't contain any repositories"))
|
||||
return errors.New("AddonDescriptor doesn't contain any repositories")
|
||||
}
|
||||
}
|
||||
return nil
|
||||
@@ -159,3 +160,13 @@ func (me *Repository) GetAakAasLanguageVector() string {
|
||||
}
|
||||
return languageVector
|
||||
}
|
||||
|
||||
func (me *AddonDescriptor) GetRepositoriesInBuildScope() []Repository {
|
||||
var RepositoriesInBuildScope []Repository
|
||||
for _, repo := range me.Repositories {
|
||||
if repo.InBuildScope {
|
||||
RepositoriesInBuildScope = append(RepositoriesInBuildScope, repo)
|
||||
}
|
||||
}
|
||||
return RepositoriesInBuildScope
|
||||
}
|
||||
|
||||
@@ -14,18 +14,29 @@ func readFileMock(FileName string) ([]byte, error) {
|
||||
}
|
||||
|
||||
func TestAddonDescriptorNew(t *testing.T) {
|
||||
t.Run("Import addon.yml", func(t *testing.T) {
|
||||
var addonDescriptor AddonDescriptor
|
||||
err := addonDescriptor.initFromYmlFile(TestAddonDescriptorYAML, readFileMock)
|
||||
CheckAddonDescriptorForRepositories(addonDescriptor)
|
||||
var addonDescriptor AddonDescriptor
|
||||
err := addonDescriptor.initFromYmlFile(TestAddonDescriptorYAML, readFileMock)
|
||||
assert.NoError(t, err)
|
||||
err = CheckAddonDescriptorForRepositories(addonDescriptor)
|
||||
assert.NoError(t, err)
|
||||
|
||||
assert.NoError(t, err)
|
||||
t.Run("Import addon.yml", func(t *testing.T) {
|
||||
assert.Equal(t, "/DMO/myAddonProduct", addonDescriptor.AddonProduct)
|
||||
assert.Equal(t, "/DMO/REPO_A", addonDescriptor.Repositories[0].Name)
|
||||
assert.Equal(t, "JEK8S273S", addonDescriptor.Repositories[1].CommitID)
|
||||
assert.Equal(t, "FR", addonDescriptor.Repositories[1].Languages[2])
|
||||
assert.Equal(t, `ISO-DEENFR`, addonDescriptor.Repositories[1].GetAakAasLanguageVector())
|
||||
})
|
||||
|
||||
t.Run("getRepositoriesInBuildScope", func(t *testing.T) {
|
||||
assert.Equal(t, 2, len(addonDescriptor.Repositories))
|
||||
addonDescriptor.Repositories[1].InBuildScope = true
|
||||
|
||||
repos := addonDescriptor.GetRepositoriesInBuildScope()
|
||||
assert.Equal(t, 1, len(repos))
|
||||
assert.Equal(t, "/DMO/REPO_B", repos[0].Name)
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
var TestAddonDescriptorYAML = `---
|
||||
@@ -130,6 +141,7 @@ func TestReadAddonDescriptor(t *testing.T) {
|
||||
- repo: 'testRepo2'`
|
||||
|
||||
err = ioutil.WriteFile("repositories.yml", []byte(manifestFileString), 0644)
|
||||
assert.NoError(t, err)
|
||||
|
||||
addonDescriptor, err := ReadAddonDescriptor("repositories.yml")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user