Skip to content

Commit 33f96a6

Browse files
committed
feat(preset): add preset_test.go
Signed-off-by: Vaughn Dice <[email protected]>
1 parent 8688fe0 commit 33f96a6

File tree

5 files changed

+109
-0
lines changed
  • internal/preset
  • testdata/node-installer
    • containerd
      • rke2-existing-config-tmpl/var/lib/rancher/rke2/agent/etc/containerd
      • rke2-only-base-config-exists/var/lib/rancher/rke2/agent/etc/containerd
    • distros
      • k3s/var/lib/rancher/k3s/agent/etc/containerd
      • rke2/var/lib/rancher/rke2/agent/etc/containerd

5 files changed

+109
-0
lines changed

internal/preset/preset_test.go

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
package preset_test
2+
3+
import (
4+
"testing"
5+
6+
"github.com/spf13/afero"
7+
"github.com/spinkube/runtime-class-manager/internal/preset"
8+
tests "github.com/spinkube/runtime-class-manager/tests/node-installer"
9+
"github.com/stretchr/testify/require"
10+
)
11+
12+
func Test_WithSetup(t *testing.T) {
13+
type args struct {
14+
settings preset.Settings
15+
hostFs afero.Fs
16+
}
17+
tests := []struct {
18+
name string
19+
args args
20+
wantErr bool
21+
wantFile string
22+
wantContents string
23+
}{
24+
{
25+
"rke2_err",
26+
args{
27+
preset.RKE2,
28+
tests.FixtureFs("../../testdata/node-installer/distros/unsupported"),
29+
},
30+
true,
31+
"",
32+
"",
33+
},
34+
{
35+
"rke2_config_exists",
36+
args{
37+
preset.RKE2,
38+
tests.FixtureFs("../../testdata/node-installer/containerd/rke2-existing-config-tmpl"),
39+
},
40+
false,
41+
"/var/lib/rancher/rke2/agent/etc/containerd/config.toml.tmpl",
42+
"version = 2\npreexisting-config = true",
43+
},
44+
{
45+
"rke2_config_is_created",
46+
args{
47+
preset.RKE2,
48+
tests.FixtureFs("../../testdata/node-installer/distros/rke2"),
49+
},
50+
false,
51+
"/var/lib/rancher/rke2/agent/etc/containerd/config.toml.tmpl",
52+
"version = 2",
53+
},
54+
{
55+
"k3s",
56+
args{
57+
preset.K3s,
58+
tests.FixtureFs("../../testdata/node-installer/distros/k3s"),
59+
},
60+
false,
61+
"/var/lib/rancher/k3s/agent/etc/containerd/config.toml.tmpl",
62+
"version = 2",
63+
},
64+
{
65+
"k0s",
66+
args{
67+
preset.K0s,
68+
tests.FixtureFs("../../testdata/node-installer/distros/k0s"),
69+
},
70+
false,
71+
"/etc/k0s/containerd.d/config.toml",
72+
"",
73+
},
74+
{
75+
"microk8s",
76+
args{
77+
preset.MicroK8s,
78+
tests.FixtureFs("../../testdata/node-installer/distros/microk8s"),
79+
},
80+
false,
81+
"/var/snap/microk8s/current/args/containerd-template.toml",
82+
"",
83+
},
84+
}
85+
for _, tt := range tests {
86+
t.Run(tt.name, func(t *testing.T) {
87+
err := tt.args.settings.Setup(
88+
preset.Env{
89+
ConfigPath: tt.args.settings.ConfigPath,
90+
HostFs: tt.args.hostFs,
91+
},
92+
)
93+
94+
if tt.wantErr {
95+
require.Error(t, err)
96+
} else {
97+
require.NoError(t, err)
98+
bytes, err := afero.ReadFile(tt.args.hostFs, tt.wantFile)
99+
require.NoError(t, err)
100+
require.Equal(t, tt.wantContents, string(bytes))
101+
}
102+
})
103+
}
104+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
version = 2
2+
preexisting-config = true
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
version = 2
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
version = 2
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
version = 2

0 commit comments

Comments
 (0)