mirror of
https://github.com/rancher/rke.git
synced 2025-09-14 22:20:11 +00:00
more unit tests
This commit is contained in:
43
addons/addons_test.go
Normal file
43
addons/addons_test.go
Normal file
@@ -0,0 +1,43 @@
|
||||
package addons
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"k8s.io/api/batch/v1"
|
||||
yamlutil "k8s.io/apimachinery/pkg/util/yaml"
|
||||
)
|
||||
|
||||
const (
|
||||
AddonSuffix = "-deploy-job"
|
||||
FakeAddonName = "example-addon"
|
||||
FakeNodeName = "node1"
|
||||
FakeAddonImage = "example/example:latest"
|
||||
)
|
||||
|
||||
func TestJobManifest(t *testing.T) {
|
||||
jobYaml := GetAddonsExcuteJob(FakeAddonName, FakeNodeName, FakeAddonImage)
|
||||
job := v1.Job{}
|
||||
decoder := yamlutil.NewYAMLToJSONDecoder(bytes.NewReader([]byte(jobYaml)))
|
||||
err := decoder.Decode(&job)
|
||||
if err != nil {
|
||||
t.Fatalf("Failed To decode Job yaml: %v", err)
|
||||
}
|
||||
assertEqual(t, job.Name, FakeAddonName+AddonSuffix,
|
||||
fmt.Sprintf("Failed to verify job name [%s]", FakeAddonName+AddonSuffix))
|
||||
assertEqual(t, job.Spec.Template.Spec.NodeName, FakeNodeName,
|
||||
fmt.Sprintf("Failed to verify node name [%s] in the job", FakeNodeName))
|
||||
assertEqual(t, job.Spec.Template.Spec.Containers[0].Image, FakeAddonImage,
|
||||
fmt.Sprintf("Failed to verify container image [%s] in the job", FakeAddonImage))
|
||||
}
|
||||
|
||||
func assertEqual(t *testing.T, a interface{}, b interface{}, message string) {
|
||||
if a == b {
|
||||
return
|
||||
}
|
||||
if len(message) == 0 {
|
||||
message = fmt.Sprintf("%v != %v", a, b)
|
||||
}
|
||||
t.Fatal(message)
|
||||
}
|
Reference in New Issue
Block a user