github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/internal/cli/delete_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 apierrors "k8s.io/apimachinery/pkg/api/errors" 10 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" 11 "k8s.io/apimachinery/pkg/types" 12 "k8s.io/cli-runtime/pkg/genericclioptions" 13 14 "github.com/tilt-dev/tilt/pkg/apis/core/v1alpha1" 15 ) 16 17 func TestDelete(t *testing.T) { 18 f := newServerFixture(t) 19 20 err := f.client.Create(f.ctx, &v1alpha1.Cmd{ 21 ObjectMeta: metav1.ObjectMeta{Name: "my-sleep"}, 22 Spec: v1alpha1.CmdSpec{ 23 Args: []string{"sleep", "1"}, 24 }, 25 }) 26 require.NoError(t, err) 27 28 out := bytes.NewBuffer(nil) 29 streams := genericclioptions.IOStreams{Out: out} 30 deleteCmd := newDeleteCmd(streams) 31 deleteCmd.register() 32 33 err = deleteCmd.run(f.ctx, []string{"cmd", "my-sleep"}) 34 require.NoError(t, err) 35 36 assert.Contains(t, out.String(), `cmd.tilt.dev "my-sleep" deleted`) 37 38 var cmd v1alpha1.Cmd 39 err = f.client.Get(f.ctx, types.NamespacedName{Name: "my-sleep"}, &cmd) 40 if assert.Error(t, err) { 41 assert.True(t, apierrors.IsNotFound(err)) 42 } 43 }