mirror of
https://github.com/SAP/jenkins-library.git
synced 2024-12-12 10:55:20 +02:00
a0ad624b9a
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.
78 lines
2.0 KiB
Go
78 lines
2.0 KiB
Go
package cmd
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
|
|
abapbuild "github.com/SAP/jenkins-library/pkg/abap/build"
|
|
"github.com/SAP/jenkins-library/pkg/abaputils"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestPolling(t *testing.T) {
|
|
t.Run("Run polling", func(t *testing.T) {
|
|
var repo abaputils.Repository
|
|
b := testSetup(&abapbuild.ClMock{}, "ABIFNLDCSQPOVMXK4DNPBDRW2M")
|
|
var buildsWithRepo []buildWithRepository
|
|
bWR := buildWithRepository{
|
|
build: b,
|
|
repo: repo,
|
|
}
|
|
buildsWithRepo = append(buildsWithRepo, bWR)
|
|
timeout := time.Duration(600 * time.Second)
|
|
pollInterval := time.Duration(1 * time.Second)
|
|
err := polling(buildsWithRepo, timeout, pollInterval)
|
|
assert.NoError(t, err)
|
|
assert.Equal(t, abapbuild.Finished, buildsWithRepo[0].build.RunState)
|
|
})
|
|
}
|
|
func TestStartingConfirm(t *testing.T) {
|
|
t.Run("Run starting", func(t *testing.T) {
|
|
client := &abapbuild.ClMock{
|
|
Token: "MyToken",
|
|
}
|
|
conn := new(abapbuild.Connector)
|
|
conn.Client = client
|
|
conn.Header = make(map[string][]string)
|
|
var repos []abaputils.Repository
|
|
repo := abaputils.Repository{
|
|
Name: "RepoA",
|
|
Version: "0001",
|
|
PackageName: "Package",
|
|
PackageType: "AOI",
|
|
SpLevel: "0000",
|
|
PatchLevel: "0000",
|
|
Status: "P",
|
|
Namespace: "/DEMO/",
|
|
}
|
|
repos = append(repos, repo)
|
|
repo.Status = "R"
|
|
repo.InBuildScope = true
|
|
repos = append(repos, repo)
|
|
|
|
builds, err := startingConfirm(repos, *conn, time.Duration(0*time.Second))
|
|
assert.NoError(t, err)
|
|
assert.Equal(t, 1, len(builds))
|
|
assert.Equal(t, abapbuild.Accepted, builds[0].build.RunState)
|
|
})
|
|
}
|
|
|
|
func TestStartingConfirmInvalidInput(t *testing.T) {
|
|
t.Run("Run starting", func(t *testing.T) {
|
|
client := &abapbuild.ClMock{
|
|
Token: "MyToken",
|
|
}
|
|
conn := new(abapbuild.Connector)
|
|
conn.Client = client
|
|
conn.Header = make(map[string][]string)
|
|
var repos []abaputils.Repository
|
|
repo := abaputils.Repository{
|
|
Name: "RepoA",
|
|
InBuildScope: true,
|
|
}
|
|
repos = append(repos, repo)
|
|
_, err := startingConfirm(repos, *conn, time.Duration(0*time.Second))
|
|
assert.Error(t, err)
|
|
})
|
|
}
|