github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/internal/controllers/apicmp/delta_test.go (about)

     1  package apicmp
     2  
     3  import (
     4  	"fmt"
     5  	"testing"
     6  	"time"
     7  
     8  	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
     9  
    10  	"github.com/stretchr/testify/assert"
    11  
    12  	"github.com/tilt-dev/tilt/pkg/apis/core/v1alpha1"
    13  )
    14  
    15  func now() time.Time {
    16  	return time.Unix(1619635910, 450240689)
    17  }
    18  
    19  func TestCmp(t *testing.T) {
    20  	cmd := &v1alpha1.Cmd{
    21  		ObjectMeta: metav1.ObjectMeta{
    22  			Name:              "cmd",
    23  			CreationTimestamp: metav1.NewTime(now()),
    24  		},
    25  		Status: v1alpha1.CmdStatus{
    26  			Running: &v1alpha1.CmdStateRunning{
    27  				StartedAt: metav1.NewMicroTime(now()),
    28  			},
    29  		},
    30  	}
    31  
    32  	assert.True(t, DeepEqual(cmd, &v1alpha1.Cmd{
    33  		ObjectMeta: metav1.ObjectMeta{
    34  			Name:              "cmd",
    35  			CreationTimestamp: metav1.NewTime(now().Add(time.Nanosecond)),
    36  		},
    37  		Status: v1alpha1.CmdStatus{
    38  			Running: &v1alpha1.CmdStateRunning{
    39  				StartedAt: metav1.NewMicroTime(now().Add(time.Nanosecond)),
    40  			},
    41  		},
    42  	}))
    43  	assert.True(t, DeepEqual(cmd, &v1alpha1.Cmd{
    44  		ObjectMeta: metav1.ObjectMeta{
    45  			Name:              "cmd",
    46  			CreationTimestamp: metav1.NewTime(now().Add(time.Microsecond)),
    47  		},
    48  		Status: v1alpha1.CmdStatus{
    49  			Running: &v1alpha1.CmdStateRunning{
    50  				StartedAt: metav1.NewMicroTime(now().Add(time.Nanosecond)),
    51  			},
    52  		},
    53  	}))
    54  	assert.False(t, DeepEqual(cmd, &v1alpha1.Cmd{
    55  		ObjectMeta: metav1.ObjectMeta{
    56  			Name:              "cmd",
    57  			CreationTimestamp: metav1.NewTime(now().Add(time.Second)),
    58  		},
    59  		Status: v1alpha1.CmdStatus{
    60  			Running: &v1alpha1.CmdStateRunning{
    61  				StartedAt: metav1.NewMicroTime(now()),
    62  			},
    63  		},
    64  	}))
    65  	assert.False(t, DeepEqual(cmd, &v1alpha1.Cmd{
    66  		ObjectMeta: metav1.ObjectMeta{
    67  			Name:              "cmd",
    68  			CreationTimestamp: metav1.NewTime(now()),
    69  		},
    70  		Status: v1alpha1.CmdStatus{
    71  			Running: &v1alpha1.CmdStateRunning{
    72  				StartedAt: metav1.NewMicroTime(now().Add(time.Microsecond)),
    73  			},
    74  		},
    75  	}))
    76  
    77  }
    78  
    79  func testCmpPanicHelper() (result string) {
    80  	defer func() {
    81  		r := recover()
    82  		result = fmt.Sprintf("%s", r)
    83  	}()
    84  
    85  	DeepEqual(v1alpha1.Cmd{}, &v1alpha1.Cmd{})
    86  	return
    87  }
    88  
    89  func TestCmpPanic(t *testing.T) {
    90  	result := testCmpPanicHelper()
    91  	assert.Contains(t, result, "comparing incommensurable objects: v1alpha1.Cmd, *v1alpha1.Cmd")
    92  }