2022-08-10 16:56:07 +00:00
|
|
|
package machine_test
|
|
|
|
|
|
|
|
import (
|
|
|
|
"os"
|
|
|
|
|
2023-03-17 13:00:02 +00:00
|
|
|
. "github.com/kairos-io/kairos-sdk/machine"
|
2022-08-10 16:56:07 +00:00
|
|
|
. "github.com/onsi/ginkgo/v2"
|
|
|
|
. "github.com/onsi/gomega"
|
|
|
|
)
|
|
|
|
|
|
|
|
var _ = Describe("BootCMDLine", func() {
|
|
|
|
Context("parses data", func() {
|
|
|
|
|
|
|
|
It("returns cmdline if provided", func() {
|
2022-11-21 17:11:03 +00:00
|
|
|
f, err := os.CreateTemp("", "test")
|
2022-08-10 16:56:07 +00:00
|
|
|
Expect(err).ToNot(HaveOccurred())
|
|
|
|
defer os.RemoveAll(f.Name())
|
|
|
|
|
2022-11-21 17:11:03 +00:00
|
|
|
err = os.WriteFile(f.Name(), []byte(`config_url="foo bar" baz.bar=""`), os.ModePerm)
|
2022-08-10 16:56:07 +00:00
|
|
|
Expect(err).ToNot(HaveOccurred())
|
|
|
|
|
|
|
|
b, err := DotToYAML(f.Name())
|
|
|
|
Expect(err).ToNot(HaveOccurred())
|
|
|
|
|
2022-08-12 13:49:41 +00:00
|
|
|
Expect(string(b)).To(Equal("baz:\n bar: \"\"\nconfig_url: foo bar\n"), string(b))
|
2022-08-10 16:56:07 +00:00
|
|
|
})
|
2024-03-18 16:28:31 +00:00
|
|
|
It("works if cmdline contains a dash or underscore", func() {
|
|
|
|
f, err := os.CreateTemp("", "test")
|
|
|
|
Expect(err).ToNot(HaveOccurred())
|
|
|
|
defer os.RemoveAll(f.Name())
|
|
|
|
|
|
|
|
err = os.WriteFile(f.Name(), []byte(`config-url="foo bar" ba_z.bar=""`), os.ModePerm)
|
|
|
|
Expect(err).ToNot(HaveOccurred())
|
|
|
|
|
|
|
|
_, err = DotToYAML(f.Name())
|
|
|
|
Expect(err).ToNot(HaveOccurred())
|
|
|
|
})
|
2022-08-10 16:56:07 +00:00
|
|
|
})
|
|
|
|
})
|