Add tests for daemonset view history
Signed-off-by: Dinesh <dineshudt17@gmail.com> Kubernetes-commit: c88b5e2ef36b4d026ec5852beff404197c199797
This commit is contained in:
parent
55c16b433f
commit
b17989102f
|
@ -54,73 +54,74 @@ func TestHistoryViewerFor(t *testing.T) {
|
|||
|
||||
func TestViewHistory(t *testing.T) {
|
||||
|
||||
var (
|
||||
trueVar = true
|
||||
replicas = int32(1)
|
||||
t.Run("for statefulSet", func(t *testing.T) {
|
||||
var (
|
||||
trueVar = true
|
||||
replicas = int32(1)
|
||||
|
||||
podStub = corev1.PodTemplateSpec{
|
||||
ObjectMeta: metav1.ObjectMeta{Labels: map[string]string{"foo": "bar"}},
|
||||
Spec: corev1.PodSpec{Containers: []corev1.Container{{Name: "test", Image: "nginx"}}},
|
||||
}
|
||||
podStub = corev1.PodTemplateSpec{
|
||||
ObjectMeta: metav1.ObjectMeta{Labels: map[string]string{"foo": "bar"}},
|
||||
Spec: corev1.PodSpec{Containers: []corev1.Container{{Name: "test", Image: "nginx"}}},
|
||||
}
|
||||
|
||||
ssStub = &appsv1.StatefulSet{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "moons",
|
||||
Namespace: "default",
|
||||
UID: "1993",
|
||||
Labels: map[string]string{"foo": "bar"},
|
||||
},
|
||||
Spec: appsv1.StatefulSetSpec{Selector: &metav1.LabelSelector{MatchLabels: podStub.ObjectMeta.Labels}, Replicas: &replicas, Template: podStub},
|
||||
}
|
||||
)
|
||||
stsRawData, err := json.Marshal(ssStub)
|
||||
if err != nil {
|
||||
t.Fatalf("error creating sts raw data: %v", err)
|
||||
}
|
||||
ssStub1 := &appsv1.ControllerRevision{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "moons",
|
||||
Namespace: "default",
|
||||
Labels: map[string]string{"foo": "bar"},
|
||||
OwnerReferences: []metav1.OwnerReference{{"apps/v1", "StatefulSet", "moons", "1993", &trueVar, nil}},
|
||||
},
|
||||
Data: runtime.RawExtension{Raw: stsRawData},
|
||||
TypeMeta: metav1.TypeMeta{Kind: "StatefulSet", APIVersion: "apps/v1"},
|
||||
Revision: 1,
|
||||
}
|
||||
|
||||
fakeClientSet := fake.NewSimpleClientset(ssStub)
|
||||
_, err = fakeClientSet.AppsV1().ControllerRevisions("default").Create(context.TODO(), ssStub1, metav1.CreateOptions{})
|
||||
if err != nil {
|
||||
t.Fatalf("create controllerRevisions error %v occurred ", err)
|
||||
}
|
||||
|
||||
var sts = &StatefulSetHistoryViewer{
|
||||
fakeClientSet,
|
||||
}
|
||||
|
||||
t.Run("should show revisions list if the revision is not specified", func(t *testing.T) {
|
||||
result, err := sts.ViewHistory("default", "moons", 0)
|
||||
ssStub = &appsv1.StatefulSet{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "moons",
|
||||
Namespace: "default",
|
||||
UID: "1993",
|
||||
Labels: map[string]string{"foo": "bar"},
|
||||
},
|
||||
Spec: appsv1.StatefulSetSpec{Selector: &metav1.LabelSelector{MatchLabels: podStub.ObjectMeta.Labels}, Replicas: &replicas, Template: podStub},
|
||||
}
|
||||
)
|
||||
stsRawData, err := json.Marshal(ssStub)
|
||||
if err != nil {
|
||||
t.Fatalf("error getting ViewHistory for a StatefulSets moons: %v", err)
|
||||
t.Fatalf("error creating sts raw data: %v", err)
|
||||
}
|
||||
ssStub1 := &appsv1.ControllerRevision{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "moons",
|
||||
Namespace: "default",
|
||||
Labels: map[string]string{"foo": "bar"},
|
||||
OwnerReferences: []metav1.OwnerReference{{"apps/v1", "StatefulSet", "moons", "1993", &trueVar, nil}},
|
||||
},
|
||||
Data: runtime.RawExtension{Raw: stsRawData},
|
||||
TypeMeta: metav1.TypeMeta{Kind: "StatefulSet", APIVersion: "apps/v1"},
|
||||
Revision: 1,
|
||||
}
|
||||
|
||||
expected := `REVISION CHANGE-CAUSE
|
||||
fakeClientSet := fake.NewSimpleClientset(ssStub)
|
||||
_, err = fakeClientSet.AppsV1().ControllerRevisions("default").Create(context.TODO(), ssStub1, metav1.CreateOptions{})
|
||||
if err != nil {
|
||||
t.Fatalf("create controllerRevisions error %v occurred ", err)
|
||||
}
|
||||
|
||||
var sts = &StatefulSetHistoryViewer{
|
||||
fakeClientSet,
|
||||
}
|
||||
|
||||
t.Run("should show revisions list if the revision is not specified", func(t *testing.T) {
|
||||
result, err := sts.ViewHistory("default", "moons", 0)
|
||||
if err != nil {
|
||||
t.Fatalf("error getting ViewHistory for a StatefulSets moons: %v", err)
|
||||
}
|
||||
|
||||
expected := `REVISION CHANGE-CAUSE
|
||||
1 <none>
|
||||
`
|
||||
|
||||
if result != expected {
|
||||
t.Fatalf("unexpected output (%v was expected but got %v)", expected, result)
|
||||
}
|
||||
})
|
||||
if result != expected {
|
||||
t.Fatalf("unexpected output (%v was expected but got %v)", expected, result)
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("should describe the revision if revision is specified", func(t *testing.T) {
|
||||
result, err := sts.ViewHistory("default", "moons", 1)
|
||||
if err != nil {
|
||||
t.Fatalf("error getting ViewHistory for a StatefulSets moons: %v", err)
|
||||
}
|
||||
t.Run("should describe the revision if revision is specified", func(t *testing.T) {
|
||||
result, err := sts.ViewHistory("default", "moons", 1)
|
||||
if err != nil {
|
||||
t.Fatalf("error getting ViewHistory for a StatefulSets moons: %v", err)
|
||||
}
|
||||
|
||||
expected := `Pod Template:
|
||||
expected := `Pod Template:
|
||||
Labels: foo=bar
|
||||
Containers:
|
||||
test:
|
||||
|
@ -132,9 +133,96 @@ func TestViewHistory(t *testing.T) {
|
|||
Volumes: <none>
|
||||
`
|
||||
|
||||
if result != expected {
|
||||
t.Fatalf("unexpected output (%v was expected but got %v)", expected, result)
|
||||
if result != expected {
|
||||
t.Fatalf("unexpected output (%v was expected but got %v)", expected, result)
|
||||
}
|
||||
})
|
||||
|
||||
})
|
||||
|
||||
t.Run("for daemonSet", func(t *testing.T) {
|
||||
var (
|
||||
trueVar = true
|
||||
podStub = corev1.PodTemplateSpec{
|
||||
ObjectMeta: metav1.ObjectMeta{Labels: map[string]string{"foo": "bar"}},
|
||||
Spec: corev1.PodSpec{Containers: []corev1.Container{{Name: "test", Image: "nginx"}}},
|
||||
}
|
||||
|
||||
daemonSetStub = &appsv1.DaemonSet{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "moons",
|
||||
Namespace: "default",
|
||||
UID: "1993",
|
||||
Labels: map[string]string{"foo": "bar"},
|
||||
},
|
||||
Spec: appsv1.DaemonSetSpec{Selector: &metav1.LabelSelector{MatchLabels: podStub.ObjectMeta.Labels}, Template: podStub},
|
||||
}
|
||||
)
|
||||
|
||||
daemonSetRaw, err := json.Marshal(daemonSetStub)
|
||||
if err != nil {
|
||||
t.Fatalf("error creating sts raw data: %v", err)
|
||||
}
|
||||
daemonSetControllerRevision := &appsv1.ControllerRevision{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "moons",
|
||||
Namespace: "default",
|
||||
Labels: map[string]string{"foo": "bar"},
|
||||
OwnerReferences: []metav1.OwnerReference{{"apps/v1", "DaemonSet", "moons", "1993", &trueVar, nil}},
|
||||
},
|
||||
Data: runtime.RawExtension{Raw: daemonSetRaw},
|
||||
TypeMeta: metav1.TypeMeta{Kind: "StatefulSet", APIVersion: "apps/v1"},
|
||||
Revision: 1,
|
||||
}
|
||||
|
||||
fakeClientSet := fake.NewSimpleClientset(daemonSetStub)
|
||||
_, err = fakeClientSet.AppsV1().ControllerRevisions("default").Create(context.TODO(), daemonSetControllerRevision, metav1.CreateOptions{})
|
||||
if err != nil {
|
||||
t.Fatalf("create controllerRevisions error %v occurred ", err)
|
||||
}
|
||||
|
||||
var daemonSetHistoryViewer = &DaemonSetHistoryViewer{
|
||||
fakeClientSet,
|
||||
}
|
||||
|
||||
t.Run("should show revisions list if the revision is not specified", func(t *testing.T) {
|
||||
result, err := daemonSetHistoryViewer.ViewHistory("default", "moons", 0)
|
||||
if err != nil {
|
||||
t.Fatalf("error getting ViewHistory for a StatefulSets moons: %v", err)
|
||||
}
|
||||
|
||||
expected := `REVISION CHANGE-CAUSE
|
||||
1 <none>
|
||||
`
|
||||
|
||||
if result != expected {
|
||||
t.Fatalf("unexpected output (%v was expected but got %v)", expected, result)
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("should describe the revision if revision is specified", func(t *testing.T) {
|
||||
result, err := daemonSetHistoryViewer.ViewHistory("default", "moons", 1)
|
||||
if err != nil {
|
||||
t.Fatalf("error getting ViewHistory for a StatefulSets moons: %v", err)
|
||||
}
|
||||
|
||||
expected := `Pod Template:
|
||||
Labels: foo=bar
|
||||
Containers:
|
||||
test:
|
||||
Image: nginx
|
||||
Port: <none>
|
||||
Host Port: <none>
|
||||
Environment: <none>
|
||||
Mounts: <none>
|
||||
Volumes: <none>
|
||||
`
|
||||
|
||||
if result != expected {
|
||||
t.Fatalf("unexpected output (%v was expected but got %v)", expected, result)
|
||||
}
|
||||
})
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue