mirror of
https://github.com/argoproj/argo-cd
synced 2026-04-22 01:17:16 +00:00
67 lines
1.8 KiB
Go
67 lines
1.8 KiB
Go
package diff
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/argoproj/argo-cd/test"
|
|
"github.com/argoproj/argo-cd/util/kube"
|
|
"github.com/stretchr/testify/assert"
|
|
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
|
|
)
|
|
|
|
func TestDiff(t *testing.T) {
|
|
leftDep := test.DemoDeployment()
|
|
leftUn := kube.MustToUnstructured(leftDep)
|
|
|
|
diffRes := Diff(leftUn, leftUn)
|
|
assert.False(t, diffRes.Diff.Modified())
|
|
assert.Nil(t, diffRes.AdditionsOnly)
|
|
}
|
|
|
|
func TestDiffArraySame(t *testing.T) {
|
|
leftDep := test.DemoDeployment()
|
|
rightDep := leftDep.DeepCopy()
|
|
|
|
leftUn := kube.MustToUnstructured(leftDep)
|
|
rightUn := kube.MustToUnstructured(rightDep)
|
|
|
|
left := []*unstructured.Unstructured{leftUn}
|
|
right := []*unstructured.Unstructured{rightUn}
|
|
diffResList, err := DiffArray(left, right)
|
|
assert.Nil(t, err)
|
|
assert.False(t, diffResList.Modified)
|
|
assert.Nil(t, diffResList.AdditionsOnly)
|
|
}
|
|
|
|
func TestDiffArrayAdditions(t *testing.T) {
|
|
leftDep := test.DemoDeployment()
|
|
rightDep := leftDep.DeepCopy()
|
|
rightDep.Status.Replicas = 1
|
|
|
|
leftUn := kube.MustToUnstructured(leftDep)
|
|
rightUn := kube.MustToUnstructured(rightDep)
|
|
|
|
left := []*unstructured.Unstructured{leftUn}
|
|
right := []*unstructured.Unstructured{rightUn}
|
|
diffResList, err := DiffArray(left, right)
|
|
assert.Nil(t, err)
|
|
assert.True(t, diffResList.Modified)
|
|
assert.True(t, *diffResList.AdditionsOnly)
|
|
}
|
|
|
|
func TestDiffArrayModification(t *testing.T) {
|
|
leftDep := test.DemoDeployment()
|
|
rightDep := leftDep.DeepCopy()
|
|
ten := int32(10)
|
|
rightDep.Spec.Replicas = &ten
|
|
|
|
leftUn := kube.MustToUnstructured(leftDep)
|
|
rightUn := kube.MustToUnstructured(rightDep)
|
|
|
|
left := []*unstructured.Unstructured{leftUn}
|
|
right := []*unstructured.Unstructured{rightUn}
|
|
diffResList, err := DiffArray(left, right)
|
|
assert.Nil(t, err)
|
|
assert.True(t, diffResList.Modified)
|
|
assert.False(t, *diffResList.AdditionsOnly)
|
|
}
|