39 lines
918 B
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)
|
|
}
|
|
})
|
|
}
|