package executables_test import ( "bytes" "context" "errors" "testing" "github.com/golang/mock/gomock" "github.com/aws/eks-anywhere/pkg/executables" mockexecutables "github.com/aws/eks-anywhere/pkg/executables/mocks" ) func TestCreateAccessKeySuccess(t *testing.T) { var userName string ctx := context.Background() mockCtrl := gomock.NewController(t) executable := mockexecutables.NewMockExecutable(mockCtrl) executable.EXPECT().Execute(ctx, "iam", "create-access-key", "--user-name", userName).Return(bytes.Buffer{}, nil) c := executables.NewAwsCli(executable) _, err := c.CreateAccessKey(ctx, userName) if err != nil { t.Fatalf("Awscli.CreateAccessKey() error = %v, want nil", err) } } func TestCreateAccessKeyError(t *testing.T) { var userName string ctx := context.Background() mockCtrl := gomock.NewController(t) executable := mockexecutables.NewMockExecutable(mockCtrl) executable.EXPECT().Execute(ctx, "iam", "create-access-key", "--user-name", userName).Return(bytes.Buffer{}, errors.New("error from execute")) c := executables.NewAwsCli(executable) _, err := c.CreateAccessKey(ctx, userName) if err == nil { t.Fatalf("Awscli.CreateAccessKey() error = %v, want not nil", err) } }