Skip to content

Commit 0703753

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

File tree

5 files changed

+102
-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

+102
-0
lines changed

internal/preset/preset_test.go

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
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+
wantContents string
22+
}{
23+
{
24+
"rke2_err",
25+
args{
26+
preset.RKE2,
27+
tests.FixtureFs("../../testdata/node-installer/distros/unsupported"),
28+
},
29+
true,
30+
"",
31+
},
32+
{
33+
"rke2_config_exists",
34+
args{
35+
preset.RKE2,
36+
tests.FixtureFs("../../testdata/node-installer/containerd/rke2-existing-config-tmpl"),
37+
},
38+
false,
39+
"version = 2\npreexisting-config = true",
40+
},
41+
{
42+
"rke2_config_is_created",
43+
args{
44+
preset.RKE2,
45+
tests.FixtureFs("../../testdata/node-installer/distros/rke2"),
46+
},
47+
false,
48+
"version = 2",
49+
},
50+
{
51+
"k3s",
52+
args{
53+
preset.K3s,
54+
tests.FixtureFs("../../testdata/node-installer/distros/k3s"),
55+
},
56+
false,
57+
"version = 2",
58+
},
59+
{
60+
"k0s",
61+
args{
62+
preset.K0s,
63+
tests.FixtureFs("../../testdata/node-installer/distros/k0s"),
64+
},
65+
false,
66+
"",
67+
},
68+
{
69+
"microk8s",
70+
args{
71+
preset.MicroK8s,
72+
tests.FixtureFs("../../testdata/node-installer/distros/microk8s"),
73+
},
74+
false,
75+
"",
76+
},
77+
}
78+
for _, tt := range tests {
79+
t.Run(tt.name, func(t *testing.T) {
80+
err := tt.args.settings.Setup(
81+
preset.Env{
82+
ConfigPath: tt.args.settings.ConfigPath,
83+
HostFs: tt.args.hostFs,
84+
},
85+
)
86+
87+
if tt.wantErr {
88+
require.Error(t, err)
89+
} else {
90+
require.NoError(t, err)
91+
bytes, err := afero.ReadFile(tt.args.hostFs, tt.args.settings.ConfigPath)
92+
require.NoError(t, err)
93+
require.Equal(t, tt.wantContents, string(bytes))
94+
}
95+
})
96+
}
97+
}
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)