github.com/khulnasoft/cli@v0.0.0-20240402070845-01bcad7beefa/cli/command/context/update_test.go (about) 1 package context 2 3 import ( 4 "testing" 5 6 "github.com/khulnasoft/cli/cli/command" 7 "github.com/khulnasoft/cli/cli/context/docker" 8 "gotest.tools/v3/assert" 9 "gotest.tools/v3/assert/cmp" 10 ) 11 12 func TestUpdateDescriptionOnly(t *testing.T) { 13 cli := makeFakeCli(t) 14 err := RunCreate(cli, &CreateOptions{ 15 Name: "test", 16 Docker: map[string]string{}, 17 }) 18 assert.NilError(t, err) 19 cli.OutBuffer().Reset() 20 cli.ErrBuffer().Reset() 21 assert.NilError(t, RunUpdate(cli, &UpdateOptions{ 22 Name: "test", 23 Description: "description", 24 })) 25 c, err := cli.ContextStore().GetMetadata("test") 26 assert.NilError(t, err) 27 dc, err := command.GetDockerContext(c) 28 assert.NilError(t, err) 29 assert.Equal(t, dc.Description, "description") 30 31 assert.Equal(t, "test\n", cli.OutBuffer().String()) 32 assert.Equal(t, "Successfully updated context \"test\"\n", cli.ErrBuffer().String()) 33 } 34 35 func TestUpdateDockerOnly(t *testing.T) { 36 cli := makeFakeCli(t) 37 createTestContext(t, cli, "test") 38 assert.NilError(t, RunUpdate(cli, &UpdateOptions{ 39 Name: "test", 40 Docker: map[string]string{ 41 keyHost: "tcp://some-host", 42 }, 43 })) 44 c, err := cli.ContextStore().GetMetadata("test") 45 assert.NilError(t, err) 46 dc, err := command.GetDockerContext(c) 47 assert.NilError(t, err) 48 assert.Equal(t, dc.Description, "description of test") 49 assert.Check(t, cmp.Contains(c.Endpoints, docker.DockerEndpoint)) 50 assert.Equal(t, c.Endpoints[docker.DockerEndpoint].(docker.EndpointMeta).Host, "tcp://some-host") 51 } 52 53 func TestUpdateInvalidDockerHost(t *testing.T) { 54 cli := makeFakeCli(t) 55 err := RunCreate(cli, &CreateOptions{ 56 Name: "test", 57 Docker: map[string]string{}, 58 }) 59 assert.NilError(t, err) 60 err = RunUpdate(cli, &UpdateOptions{ 61 Name: "test", 62 Docker: map[string]string{ 63 keyHost: "some///invalid/host", 64 }, 65 }) 66 assert.ErrorContains(t, err, "unable to parse docker host") 67 }