Initial commit

This commit is contained in:
Rosemary Wang committed 2024-07-11 11:15:47 -04:00
1 parent 2a9356fc04
commit e3daac2ce8
26 files changed
+2809

No files matched your search

+55
View File
@@ -0,0 +1,55 @@
// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0
package credential
import (
"testing"
"github.com/stretchr/testify/require"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
"google.golang.org/protobuf/types/known/structpb"
)
func TestGetCredentialAttributes(t *testing.T) {
cases := []struct {
name string
in map[string]any
expected *CredentialAttributes
expectedErrContains string
}{
{
name: "missing project",
in: map[string]any{},
expectedErrContains: "missing required value \"project\"",
},
{
name: "missing zone",
in: map[string]any{},
expectedErrContains: "missing required value \"zone\"",
},
}
for _, tc := range cases {
tc := tc
t.Run(tc.name, func(t *testing.T) {
require := require.New(t)
input, err := structpb.NewStruct(tc.in)
require.NoError(err)
actual, err := GetCredentialAttributes(input)
if tc.expectedErrContains != "" {
require.Error(err)
require.Contains(err.Error(), tc.expectedErrContains)
require.Equal(status.Code(err), codes.InvalidArgument)
return
}
require.NoError(err)
require.EqualValues(tc.expected.Project, actual.Project)
require.EqualValues(tc.expected.Zone, actual.Zone)
})
}
}