github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/internal/cli/create_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 "k8s.io/apimachinery/pkg/types" 10 "k8s.io/cli-runtime/pkg/genericclioptions" 11 12 "github.com/tilt-dev/tilt/pkg/apis/core/v1alpha1" 13 ) 14 15 func TestCreate(t *testing.T) { 16 f := newServerFixture(t) 17 18 f.WriteFile("sleep.yaml", ` 19 apiVersion: tilt.dev/v1alpha1 20 kind: Cmd 21 metadata: 22 name: my-sleep 23 spec: 24 args: ["sleep", "1"] 25 `) 26 out := bytes.NewBuffer(nil) 27 streams := genericclioptions.IOStreams{Out: out} 28 29 cmd := newCreateCmd(streams) 30 c := cmd.register() 31 err := c.Flags().Parse([]string{"-f", f.JoinPath("sleep.yaml")}) 32 require.NoError(t, err) 33 34 err = cmd.run(f.ctx, nil) 35 require.NoError(t, err) 36 assert.Contains(t, out.String(), `cmd.tilt.dev/my-sleep created`) 37 38 var sleep v1alpha1.Cmd 39 err = f.client.Get(f.ctx, types.NamespacedName{Name: "my-sleep"}, &sleep) 40 require.NoError(t, err) 41 assert.Equal(t, []string{"sleep", "1"}, sleep.Spec.Args) 42 }