kairos-agent/internal/agent/upgrade_test.go
Dimitris Karakasilis c58efaa623
Add test and remove debugging logs
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2023-09-29 11:45:59 +03:00

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))
})
})
})