You've already forked sap-jenkins-library
mirror of
https://github.com/SAP/jenkins-library.git
synced 2025-07-13 01:30:24 +02:00
Add utils function for addon descriptor (#1919)
* adding ReadAddonDescriptor * Update abaputils_test.go
This commit is contained in:
@ -1,6 +1,9 @@
|
||||
package abaputils
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/SAP/jenkins-library/pkg/command"
|
||||
@ -242,3 +245,61 @@ func TestTimeConverter(t *testing.T) {
|
||||
assert.Equal(t, expectedDate, result.String(), "Dates do not match after conversion")
|
||||
})
|
||||
}
|
||||
|
||||
func TestReadAddonDescriptor(t *testing.T) {
|
||||
t.Run("Test: success case", func(t *testing.T) {
|
||||
|
||||
dir, err := ioutil.TempDir("", "test read addon descriptor")
|
||||
if err != nil {
|
||||
t.Fatal("Failed to create temporary directory")
|
||||
}
|
||||
oldCWD, _ := os.Getwd()
|
||||
_ = os.Chdir(dir)
|
||||
// clean up tmp dir
|
||||
defer func() {
|
||||
_ = os.Chdir(oldCWD)
|
||||
_ = os.RemoveAll(dir)
|
||||
}()
|
||||
|
||||
body := `---
|
||||
addonProduct: /DMO/myAddonProduct
|
||||
addonVersion: 3.1.4
|
||||
addonUniqueId: myAddonId
|
||||
customerID: 1234
|
||||
repositories:
|
||||
- name: /DMO/REPO_A
|
||||
tag: v-1.0.1-build-0001
|
||||
branch: branchA
|
||||
version: 1.0.1
|
||||
- name: /DMO/REPO_B
|
||||
tag: rel-2.1.1-build-0001
|
||||
branch: branchB
|
||||
version: 2.1.1
|
||||
`
|
||||
file, _ := os.Create("filename.yaml")
|
||||
file.Write([]byte(body))
|
||||
|
||||
addonDescriptor, err := ReadAddonDescriptor("filename.yaml")
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, `/DMO/myAddonProduct`, addonDescriptor.AddonProduct)
|
||||
assert.Equal(t, `3.1.4`, addonDescriptor.AddonVersion)
|
||||
assert.Equal(t, `myAddonId`, addonDescriptor.AddonUniqueID)
|
||||
assert.Equal(t, float64(1234), addonDescriptor.CustomerID)
|
||||
assert.Equal(t, ``, addonDescriptor.AddonSpsLevel)
|
||||
assert.Equal(t, `/DMO/REPO_A`, addonDescriptor.Repositories[0].Name)
|
||||
assert.Equal(t, `/DMO/REPO_B`, addonDescriptor.Repositories[1].Name)
|
||||
assert.Equal(t, `v-1.0.1-build-0001`, addonDescriptor.Repositories[0].Tag)
|
||||
assert.Equal(t, `rel-2.1.1-build-0001`, addonDescriptor.Repositories[1].Tag)
|
||||
assert.Equal(t, `branchA`, addonDescriptor.Repositories[0].Branch)
|
||||
assert.Equal(t, `branchB`, addonDescriptor.Repositories[1].Branch)
|
||||
assert.Equal(t, `1.0.1`, addonDescriptor.Repositories[0].Version)
|
||||
assert.Equal(t, `2.1.1`, addonDescriptor.Repositories[1].Version)
|
||||
assert.Equal(t, ``, addonDescriptor.Repositories[0].SpsLevel)
|
||||
assert.Equal(t, ``, addonDescriptor.Repositories[1].SpsLevel)
|
||||
})
|
||||
|
||||
t.Run("Test: file does not exist", func(t *testing.T) {
|
||||
_, err := ReadAddonDescriptor("filename.yaml")
|
||||
assert.EqualError(t, err, fmt.Sprintf("Could not find %v.", "filename.yaml"))
|
||||
})
|
||||
}
|
||||
|
Reference in New Issue
Block a user