github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/internal/controllers/apiset/apiset_test.go (about) 1 package apiset 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/require" 7 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" 8 9 "github.com/tilt-dev/tilt/pkg/apis/core/v1alpha1" 10 ) 11 12 func TestAddSetForTypeNoExistingEntries(t *testing.T) { 13 a := &v1alpha1.ConfigMap{ObjectMeta: metav1.ObjectMeta{Name: "a"}} 14 b := &v1alpha1.ConfigMap{ObjectMeta: metav1.ObjectMeta{Name: "b"}} 15 c := &v1alpha1.ConfigMap{ObjectMeta: metav1.ObjectMeta{Name: "c"}} 16 set := make(ObjectSet) 17 set.Add(a) 18 19 newObjs := make(TypedObjectSet) 20 newObjs["b"] = b 21 newObjs["c"] = c 22 23 set.AddSetForType(&v1alpha1.ConfigMap{}, newObjs) 24 25 var observed []*v1alpha1.ConfigMap 26 for _, v := range set.GetSetForType(&v1alpha1.ConfigMap{}) { 27 observed = append(observed, v.(*v1alpha1.ConfigMap)) 28 } 29 30 require.ElementsMatch(t, []*v1alpha1.ConfigMap{a, b, c}, observed) 31 32 } 33 34 func TestAddSetForTypeKeepsOldEntries(t *testing.T) { 35 a := &v1alpha1.ConfigMap{ObjectMeta: metav1.ObjectMeta{Name: "a"}} 36 b := &v1alpha1.ConfigMap{ObjectMeta: metav1.ObjectMeta{Name: "b"}} 37 c := &v1alpha1.ConfigMap{ObjectMeta: metav1.ObjectMeta{Name: "c"}} 38 set := make(ObjectSet) 39 set.Add(a) 40 41 newObjs := make(TypedObjectSet) 42 newObjs["b"] = b 43 newObjs["c"] = c 44 45 set.AddSetForType(&v1alpha1.ConfigMap{}, newObjs) 46 47 var observed []*v1alpha1.ConfigMap 48 for _, v := range set.GetSetForType(&v1alpha1.ConfigMap{}) { 49 observed = append(observed, v.(*v1alpha1.ConfigMap)) 50 } 51 52 require.ElementsMatch(t, []*v1alpha1.ConfigMap{a, b, c}, observed) 53 }