consul/agent/hcp/scada/scada_test.go

53 lines
1.3 KiB
Go

// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: BUSL-1.1
package scada
import (
"testing"
"github.com/hashicorp/consul/agent/hcp/config"
"github.com/hashicorp/go-hclog"
"github.com/stretchr/testify/require"
)
func TestUpdateHCPConfig(t *testing.T) {
for name, tc := range map[string]struct {
cfg config.CloudConfig
expectedErr string
}{
"Success": {
cfg: config.CloudConfig{
ResourceID: "organization/85702e73-8a3d-47dc-291c-379b783c5804/project/8c0547c0-10e8-1ea2-dffe-384bee8da634/hashicorp.consul.global-network-manager.cluster/test",
ClientID: "test",
ClientSecret: "test",
},
},
"Empty": {
cfg: config.CloudConfig{},
expectedErr: "could not parse resource: unexpected number of tokens 1",
},
"InvalidResource": {
cfg: config.CloudConfig{
ResourceID: "invalid",
},
expectedErr: "could not parse resource: unexpected number of tokens 1",
},
} {
t.Run(name, func(t *testing.T) {
// Create a provider
p, err := New(hclog.NewNullLogger())
require.NoError(t, err)
// Update the provider
err = p.UpdateHCPConfig(tc.cfg)
if tc.expectedErr != "" {
require.Error(t, err)
require.Contains(t, err.Error(), tc.expectedErr)
return
}
require.NoError(t, err)
})
}
}