mirror of
https://github.com/kairos-io/kairos-agent.git
synced 2025-08-13 14:05:49 +00:00
54 lines
1.2 KiB
Go
54 lines
1.2 KiB
Go
|
package provider_test
|
||
|
|
||
|
import (
|
||
|
"encoding/json"
|
||
|
"io/ioutil"
|
||
|
"os"
|
||
|
|
||
|
. "github.com/c3os-io/c3os/internal/provider"
|
||
|
"github.com/c3os-io/c3os/pkg/bus"
|
||
|
"github.com/c3os-io/c3os/pkg/config"
|
||
|
"github.com/mudler/go-pluggable"
|
||
|
. "github.com/onsi/ginkgo/v2"
|
||
|
. "github.com/onsi/gomega"
|
||
|
"gopkg.in/yaml.v2"
|
||
|
)
|
||
|
|
||
|
var _ = Describe("Bootstrap provider", func() {
|
||
|
Context("logging", func() {
|
||
|
e := &pluggable.Event{}
|
||
|
|
||
|
BeforeEach(func() {
|
||
|
e = &pluggable.Event{}
|
||
|
})
|
||
|
|
||
|
It("logs to file", func() {
|
||
|
f, err := ioutil.TempFile(os.TempDir(), "tests")
|
||
|
Expect(err).ToNot(HaveOccurred())
|
||
|
defer os.RemoveAll(f.Name())
|
||
|
|
||
|
cfg := &config.Config{
|
||
|
C3OS: &config.C3OS{
|
||
|
NetworkToken: "foo",
|
||
|
},
|
||
|
}
|
||
|
dat, err := yaml.Marshal(cfg)
|
||
|
Expect(err).ToNot(HaveOccurred())
|
||
|
payload := &bus.BootstrapPayload{Logfile: f.Name(), Config: string(dat)}
|
||
|
|
||
|
dat, err = json.Marshal(payload)
|
||
|
Expect(err).ToNot(HaveOccurred())
|
||
|
|
||
|
e.Data = string(dat)
|
||
|
resp := Bootstrap(e)
|
||
|
dat, _ = json.Marshal(resp)
|
||
|
Expect(resp.Errored()).To(BeTrue(), string(dat))
|
||
|
|
||
|
data, err := ioutil.ReadFile(f.Name())
|
||
|
Expect(err).ToNot(HaveOccurred())
|
||
|
|
||
|
Expect(string(data)).Should(ContainSubstring("Configuring VPN"))
|
||
|
})
|
||
|
})
|
||
|
})
|