// Copyright (c) 2021, SailPoint Technologies, Inc. All rights reserved. package connector import ( "bytes" "io" "net/http" "testing" "github.com/golang/mock/gomock" "github.com/sailpoint-oss/sailpoint-cli/mocks" ) func TestNewConnCreateCmd(t *testing.T) { ctrl := gomock.NewController(t) defer ctrl.Finish() client := mocks.NewMockClient(ctrl) client.EXPECT(). Post(gomock.Any(), gomock.Any(), "application/json", gomock.Any()). Return(&http.Response{StatusCode: http.StatusOK, Body: io.NopCloser(bytes.NewReader([]byte("{}")))}, nil). Times(1) cmd := newConnCreateCmd(client) b := new(bytes.Buffer) cmd.SetOut(b) cmd.SetArgs([]string{"test-connector"}) cmd.PersistentFlags().StringP("conn-endpoint", "e", connectorsEndpoint, "Override connectors endpoint") err := cmd.Execute() if err != nil { t.Fatalf("error execute cmd: %v", err) } out, err := io.ReadAll(b) if err != nil { t.Fatalf("error read out: %v", err) } if len(string(out)) == 0 { t.Errorf("error empty out") } }