mirror of
https://github.com/kairos-io/kairos-agent.git
synced 2025-08-17 15:57:46 +00:00
48 lines
1.1 KiB
Go
48 lines
1.1 KiB
Go
package agent
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"path"
|
|
|
|
. "github.com/onsi/ginkgo/v2"
|
|
. "github.com/onsi/gomega"
|
|
)
|
|
|
|
var _ = Describe("generateUpgradeSpec", func() {
|
|
When("there are command line arguments", func() {
|
|
var configDir string
|
|
var upgradeRecovery bool
|
|
|
|
BeforeEach(func() {
|
|
upgradeRecovery = false
|
|
configDir, err := os.MkdirTemp("", "upgrade-test")
|
|
Expect(err).ToNot(HaveOccurred())
|
|
|
|
config := fmt.Sprintf(`upgrade:
|
|
recovery: %t
|
|
recovery-system:
|
|
uri: oci://image-in-conf
|
|
`, upgradeRecovery)
|
|
|
|
configFilePath := path.Join(configDir, "config.yaml")
|
|
err = os.WriteFile(configFilePath, []byte(config), os.ModePerm)
|
|
Expect(err).ToNot(HaveOccurred())
|
|
})
|
|
|
|
AfterEach(func() {
|
|
os.RemoveAll(configDir)
|
|
})
|
|
|
|
It("overrides kairos config yaml values", func() {
|
|
spec, _, err := generateUpgradeSpec("", "oci:myimage", false, false,
|
|
[]string{}, false, !upgradeRecovery)
|
|
|
|
Expect(err).ToNot(HaveOccurred())
|
|
Expect(spec.Active.Source.String()).To(Equal("oci://myimage:latest"))
|
|
Expect(spec.Recovery.Source.String()).To(Equal("oci://myimage:latest"))
|
|
Expect(spec.RecoveryUpgrade).To(Equal(!upgradeRecovery))
|
|
})
|
|
})
|
|
})
|