github.com/ungtb10d/cli/v2@v2.0.0-20221110210412-98537dd9d6a1/pkg/cmd/ssh-key/add/add_test.go (about) 1 package add 2 3 import ( 4 "net/http" 5 "testing" 6 7 "github.com/ungtb10d/cli/v2/internal/config" 8 "github.com/ungtb10d/cli/v2/pkg/httpmock" 9 "github.com/ungtb10d/cli/v2/pkg/iostreams" 10 "github.com/stretchr/testify/assert" 11 ) 12 13 func Test_runAdd(t *testing.T) { 14 ios, stdin, stdout, stderr := iostreams.Test() 15 ios.SetStdinTTY(false) 16 ios.SetStdoutTTY(true) 17 ios.SetStderrTTY(true) 18 19 stdin.WriteString("PUBKEY") 20 21 tr := httpmock.Registry{} 22 defer tr.Verify(t) 23 24 tr.Register( 25 httpmock.REST("POST", "user/keys"), 26 httpmock.StringResponse(`{}`)) 27 28 err := runAdd(&AddOptions{ 29 IO: ios, 30 Config: func() (config.Config, error) { 31 return config.NewBlankConfig(), nil 32 }, 33 HTTPClient: func() (*http.Client, error) { 34 return &http.Client{Transport: &tr}, nil 35 }, 36 KeyFile: "-", 37 Title: "my sacred key", 38 }) 39 assert.NoError(t, err) 40 41 assert.Equal(t, "", stdout.String()) 42 assert.Equal(t, "✓ Public key added to your account\n", stderr.String()) 43 }