|
|
|
@ -289,6 +289,81 @@ func TestGetConfigFiles(t *testing.T) {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestGetServiceFiles(t *testing.T) {
|
|
|
|
|
cases := []struct {
|
|
|
|
|
config map[string]interface{}
|
|
|
|
|
exp map[string]string
|
|
|
|
|
statResults []error
|
|
|
|
|
}{
|
|
|
|
|
{
|
|
|
|
|
config: map[string]interface{}{
|
|
|
|
|
"components": []string{"kubelet"},
|
|
|
|
|
"kubelet": map[string]interface{}{"svc": []string{"kubelet", "10-kubeadm.conf"}},
|
|
|
|
|
},
|
|
|
|
|
statResults: []error{os.ErrNotExist, nil},
|
|
|
|
|
exp: map[string]string{"kubelet": "10-kubeadm.conf"},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
// Component "thing" isn't included in the list of components
|
|
|
|
|
config: map[string]interface{}{
|
|
|
|
|
"components": []string{"kubelet"},
|
|
|
|
|
"kubelet": map[string]interface{}{"svc": []string{"kubelet", "10-kubeadm.conf"}},
|
|
|
|
|
"thing": map[string]interface{}{"svc": []string{"/my/file/thing"}},
|
|
|
|
|
},
|
|
|
|
|
statResults: []error{os.ErrNotExist, nil},
|
|
|
|
|
exp: map[string]string{"kubelet": "10-kubeadm.conf"},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
// More than one component
|
|
|
|
|
config: map[string]interface{}{
|
|
|
|
|
"components": []string{"kubelet", "thing"},
|
|
|
|
|
"kubelet": map[string]interface{}{"svc": []string{"kubelet", "10-kubeadm.conf"}},
|
|
|
|
|
"thing": map[string]interface{}{"svc": []string{"/my/file/thing"}},
|
|
|
|
|
},
|
|
|
|
|
statResults: []error{os.ErrNotExist, nil, nil},
|
|
|
|
|
exp: map[string]string{"kubelet": "10-kubeadm.conf", "thing": "/my/file/thing"},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
// Default thing to specified default service
|
|
|
|
|
config: map[string]interface{}{
|
|
|
|
|
"components": []string{"kubelet", "thing"},
|
|
|
|
|
"kubelet": map[string]interface{}{"svc": []string{"kubelet", "10-kubeadm.conf"}},
|
|
|
|
|
"thing": map[string]interface{}{"svc": []string{"/my/file/thing"}, "defaultsvc": "another/thing"},
|
|
|
|
|
},
|
|
|
|
|
statResults: []error{os.ErrNotExist, nil, os.ErrNotExist},
|
|
|
|
|
exp: map[string]string{"kubelet": "10-kubeadm.conf", "thing": "another/thing"},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
// Default thing to component name
|
|
|
|
|
config: map[string]interface{}{
|
|
|
|
|
"components": []string{"kubelet", "thing"},
|
|
|
|
|
"kubelet": map[string]interface{}{"svc": []string{"kubelet", "10-kubeadm.conf"}},
|
|
|
|
|
"thing": map[string]interface{}{"svc": []string{"/my/file/thing"}},
|
|
|
|
|
},
|
|
|
|
|
statResults: []error{os.ErrNotExist, nil, os.ErrNotExist},
|
|
|
|
|
exp: map[string]string{"kubelet": "10-kubeadm.conf", "thing": "thing"},
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
v := viper.New()
|
|
|
|
|
statFunc = fakestat
|
|
|
|
|
|
|
|
|
|
for id, c := range cases {
|
|
|
|
|
t.Run(strconv.Itoa(id), func(t *testing.T) {
|
|
|
|
|
for k, val := range c.config {
|
|
|
|
|
v.Set(k, val)
|
|
|
|
|
}
|
|
|
|
|
e = c.statResults
|
|
|
|
|
eIndex = 0
|
|
|
|
|
|
|
|
|
|
m := getServiceFiles(v)
|
|
|
|
|
if !reflect.DeepEqual(m, c.exp) {
|
|
|
|
|
t.Fatalf("Got %v\nExpected %v", m, c.exp)
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestMakeSubsitutions(t *testing.T) {
|
|
|
|
|
cases := []struct {
|
|
|
|
|
input string
|
|
|
|
|