2022-11-03 18:12:52 +02:00
|
|
|
// nolint
|
2023-03-31 14:31:54 +02:00
|
|
|
package mos
|
2022-11-03 18:12:52 +02:00
|
|
|
|
|
|
|
import (
|
|
|
|
"encoding/json"
|
2023-05-04 19:53:20 +03:00
|
|
|
"os"
|
2022-11-03 18:12:52 +02:00
|
|
|
|
|
|
|
"github.com/mudler/go-pluggable"
|
|
|
|
. "github.com/onsi/ginkgo/v2"
|
|
|
|
. "github.com/onsi/gomega"
|
2023-01-04 00:16:40 +02:00
|
|
|
. "github.com/spectrocloud/peg/matcher"
|
2022-11-03 18:12:52 +02:00
|
|
|
"golang.org/x/mod/semver"
|
|
|
|
)
|
|
|
|
|
|
|
|
var _ = Describe("provider upgrade test", Label("provider-upgrade"), func() {
|
2023-05-04 19:53:20 +03:00
|
|
|
var vm VM
|
|
|
|
|
2022-11-03 18:12:52 +02:00
|
|
|
BeforeEach(func() {
|
2023-05-04 19:53:20 +03:00
|
|
|
iso := os.Getenv("ISO")
|
|
|
|
_, vm = startVM(iso)
|
|
|
|
vm.EventuallyConnects(1200)
|
2022-11-03 18:12:52 +02:00
|
|
|
})
|
|
|
|
|
|
|
|
AfterEach(func() {
|
|
|
|
if CurrentGinkgoTestDescription().Failed {
|
2023-05-04 19:53:20 +03:00
|
|
|
gatherLogs(vm)
|
2022-11-03 18:12:52 +02:00
|
|
|
}
|
2023-05-04 19:53:20 +03:00
|
|
|
vm.Destroy(nil)
|
2022-11-03 18:12:52 +02:00
|
|
|
})
|
|
|
|
|
|
|
|
Context("agent.available_releases event", func() {
|
2023-01-04 00:16:40 +02:00
|
|
|
It("returns the available versions ordered, excluding '.img' tags", func() {
|
2023-05-04 19:53:20 +03:00
|
|
|
resultStr, _ := vm.Sudo(`echo '{}' | /system/providers/agent-provider-kairos agent.available_releases`)
|
2022-11-03 18:12:52 +02:00
|
|
|
|
|
|
|
var result pluggable.EventResponse
|
|
|
|
|
|
|
|
err := json.Unmarshal([]byte(resultStr), &result)
|
|
|
|
Expect(err).ToNot(HaveOccurred())
|
|
|
|
|
|
|
|
Expect(result.Data).ToNot(BeEmpty())
|
|
|
|
var versions []string
|
|
|
|
json.Unmarshal([]byte(result.Data), &versions)
|
|
|
|
|
|
|
|
Expect(versions).ToNot(BeEmpty())
|
|
|
|
sorted := make([]string, len(versions))
|
|
|
|
copy(sorted, versions)
|
|
|
|
|
|
|
|
semver.Sort(sorted)
|
|
|
|
|
2023-01-04 00:16:40 +02:00
|
|
|
for _, t := range sorted {
|
|
|
|
Expect(t).ToNot(ContainSubstring(".img"))
|
|
|
|
}
|
|
|
|
|
2022-11-03 18:12:52 +02:00
|
|
|
Expect(sorted).To(Equal(versions))
|
|
|
|
})
|
|
|
|
})
|
|
|
|
})
|