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  }