github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/internal/cli/wait_test.go (about) 1 package cli 2 3 import ( 4 "bytes" 5 "testing" 6 7 "github.com/stretchr/testify/assert" 8 "github.com/stretchr/testify/require" 9 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" 10 "k8s.io/cli-runtime/pkg/genericclioptions" 11 12 "github.com/tilt-dev/tilt/pkg/apis" 13 "github.com/tilt-dev/tilt/pkg/apis/core/v1alpha1" 14 ) 15 16 func TestWait(t *testing.T) { 17 f := newServerFixture(t) 18 19 err := f.client.Create(f.ctx, &v1alpha1.UIResource{ 20 ObjectMeta: metav1.ObjectMeta{Name: "my-sleep"}, 21 Status: v1alpha1.UIResourceStatus{ 22 Conditions: []v1alpha1.UIResourceCondition{ 23 { 24 Type: v1alpha1.UIResourceReady, 25 Status: metav1.ConditionTrue, 26 LastTransitionTime: apis.NowMicro(), 27 }, 28 }, 29 }, 30 }) 31 require.NoError(t, err) 32 33 out := bytes.NewBuffer(nil) 34 streams := genericclioptions.IOStreams{Out: out} 35 wait := newWaitCmd(streams) 36 cmd := wait.register() 37 38 err = cmd.Flags().Parse([]string{"--for=condition=Ready"}) 39 require.NoError(t, err) 40 41 err = wait.run(f.ctx, []string{"uiresource/my-sleep"}) 42 require.NoError(t, err) 43 44 assert.Contains(t, out.String(), `uiresource.tilt.dev/my-sleep condition met`) 45 }