mirror of https://github.com/hashicorp/consul
53 lines
1.3 KiB
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)
|
||
|
})
|
||
|
}
|
||
|
}
|