open-vault/command/server/hcp_link_config_test.go

55 lines
1.4 KiB
Go

// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0
package server
import (
"testing"
"github.com/go-test/deep"
sdkResource "github.com/hashicorp/hcp-sdk-go/resource"
"github.com/hashicorp/vault/internalshared/configutil"
)
func TestHCPLinkConfig(t *testing.T) {
t.Setenv("HCP_CLIENT_ID", "")
t.Setenv("HCP_CLIENT_SECRET", "")
t.Setenv("HCP_RESOURCE_ID", "")
config, err := LoadConfigFile("./test-fixtures/hcp_link_config.hcl")
if err != nil {
t.Fatalf("err: %s", err)
}
resIDRaw := "organization/bc58b3d0-2eab-4ab8-abf4-f61d3c9975ff/project/1c78e888-2142-4000-8918-f933bbbc7690/hashicorp.example.resource/example"
res, _ := sdkResource.FromString(resIDRaw)
expected := &Config{
Storage: &Storage{
Type: "inmem",
Config: map[string]string{},
},
SharedConfig: &configutil.SharedConfig{
Listeners: []*configutil.Listener{
{
Type: "tcp",
Address: "127.0.0.1:8200",
TLSDisable: true,
CustomResponseHeaders: DefaultCustomHeaders,
},
},
HCPLinkConf: &configutil.HCPLinkConfig{
ResourceIDRaw: resIDRaw,
Resource: &res,
ClientID: "J2TtcSYOyPUkPV2z0mSyDtvitxLVjJmu",
ClientSecret: "N9JtHZyOnHrIvJZs82pqa54vd4jnkyU3xCcqhFXuQKJZZuxqxxbP1xCfBZVB82vY",
},
DisableMlock: true,
},
}
config.Prune()
if diff := deep.Equal(config, expected); diff != nil {
t.Fatal(diff)
}
}