// 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) } }