github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/internal/k8s/container_test.go (about)

     1  package k8s
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/assert"
     7  	v1 "k8s.io/api/core/v1"
     8  )
     9  
    10  func TestFixContainerStatusImages(t *testing.T) {
    11  	pod := fakePod(expectedPod, blorgDevImgStr)
    12  	pod.Status = v1.PodStatus{
    13  		ContainerStatuses: []v1.ContainerStatus{
    14  			{
    15  				Name:  "default",
    16  				Image: blorgDevImgStr + "v2",
    17  				Ready: true,
    18  			},
    19  		},
    20  	}
    21  
    22  	assert.NotEqual(t,
    23  		pod.Spec.Containers[0].Image,
    24  		pod.Status.ContainerStatuses[0].Image)
    25  	FixContainerStatusImages(pod)
    26  	assert.Equal(t,
    27  		pod.Spec.Containers[0].Image,
    28  		pod.Status.ContainerStatuses[0].Image)
    29  }
    30  
    31  func TestFixContainerStatusImagesNoMutation(t *testing.T) {
    32  	origPod := fakePod(expectedPod, blorgDevImgStr)
    33  	origPod.Status = v1.PodStatus{
    34  		ContainerStatuses: []v1.ContainerStatus{
    35  			{
    36  				Name:  "default",
    37  				Image: blorgDevImgStr + "v2",
    38  				Ready: true,
    39  			},
    40  		},
    41  	}
    42  
    43  	assert.NotEqual(t,
    44  		origPod.Spec.Containers[0].Image,
    45  		origPod.Status.ContainerStatuses[0].Image)
    46  
    47  	podCopy := origPod.DeepCopy()
    48  	newPod := FixContainerStatusImagesNoMutation(origPod)
    49  
    50  	assert.Equal(t, podCopy, origPod)
    51  	assert.NotEqual(t, newPod, origPod)
    52  
    53  	assert.NotEqual(t,
    54  		origPod.Spec.Containers[0].Image,
    55  		origPod.Status.ContainerStatuses[0].Image)
    56  
    57  	assert.Equal(t,
    58  		origPod.Spec.Containers[0].Image,
    59  		newPod.Status.ContainerStatuses[0].Image)
    60  
    61  	assert.Equal(t,
    62  		newPod.Spec.Containers[0].Image,
    63  		newPod.Status.ContainerStatuses[0].Image)
    64  }