terraform/svchost/auth/static_test.go

39 lines
918 B
Go

package auth
import (
"testing"
"github.com/hashicorp/terraform/svchost"
)
func TestStaticCredentialsSource(t *testing.T) {
src := StaticCredentialsSource(map[svchost.Hostname]map[string]interface{}{
svchost.Hostname("example.com"): map[string]interface{}{
"token": "abc123",
},
})
t.Run("exists", func(t *testing.T) {
creds, err := src.ForHost(svchost.Hostname("example.com"))
if err != nil {
t.Fatal(err)
}
if tokCreds, isToken := creds.(HostCredentialsToken); isToken {
if got, want := string(tokCreds), "abc123"; got != want {
t.Errorf("wrong token %q; want %q", got, want)
}
} else {
t.Errorf("creds is %#v; want HostCredentialsToken", creds)
}
})
t.Run("does not exist", func(t *testing.T) {
creds, err := src.ForHost(svchost.Hostname("example.net"))
if err != nil {
t.Fatal(err)
}
if creds != nil {
t.Errorf("creds is %#v; want nil", creds)
}
})
}