// Copyright (c) HashiCorp, Inc. // SPDX-License-Identifier: BUSL-1.1 package command import ( "testing" "github.com/hashicorp/cli" "github.com/stretchr/testify/require" ) func Test_Commands_HCPInit(t *testing.T) { tests := map[string]struct { expectError bool expectedErrorMsg string }{ "initialize with success": { expectError: false, }, "initialize with error: existing commands conflict with init commands": { expectError: true, expectedErrorMsg: "Failed to initialize HCP commands.", }, } for n, tst := range tests { n := n tst := tst t.Run(n, func(t *testing.T) { t.Parallel() mockUi := cli.NewMockUi() commands := initCommands(mockUi, nil, nil) if tst.expectError { initHCPCommands(mockUi, commands) errMsg := mockUi.ErrorWriter.String() require.NotEmpty(t, errMsg) require.Contains(t, errMsg, tst.expectedErrorMsg) } else { errMsg := mockUi.ErrorWriter.String() require.Empty(t, errMsg) require.NotEmpty(t, commands) } }) } }