mirror of
https://github.com/hashicorp/vault.git
synced 2025-08-20 06:01:10 +02:00
* add kerberos auth agent * strip old comment * changes from feedback * strip appengine indirect dependency
68 lines
1.8 KiB
Go
68 lines
1.8 KiB
Go
package kerberos
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/hashicorp/go-hclog"
|
|
"github.com/hashicorp/vault/command/agent/auth"
|
|
)
|
|
|
|
func TestNewKerberosAuthMethod(t *testing.T) {
|
|
if _, err := NewKerberosAuthMethod(nil); err == nil {
|
|
t.Fatal("err should be returned for nil input")
|
|
}
|
|
if _, err := NewKerberosAuthMethod(&auth.AuthConfig{}); err == nil {
|
|
t.Fatal("err should be returned for nil config map")
|
|
}
|
|
|
|
authConfig := simpleAuthConfig()
|
|
delete(authConfig.Config, "username")
|
|
if _, err := NewKerberosAuthMethod(authConfig); err == nil {
|
|
t.Fatal("err should be returned for missing username")
|
|
}
|
|
|
|
authConfig = simpleAuthConfig()
|
|
delete(authConfig.Config, "service")
|
|
if _, err := NewKerberosAuthMethod(authConfig); err == nil {
|
|
t.Fatal("err should be returned for missing service")
|
|
}
|
|
|
|
authConfig = simpleAuthConfig()
|
|
delete(authConfig.Config, "realm")
|
|
if _, err := NewKerberosAuthMethod(authConfig); err == nil {
|
|
t.Fatal("err should be returned for missing realm")
|
|
}
|
|
|
|
authConfig = simpleAuthConfig()
|
|
delete(authConfig.Config, "keytab_path")
|
|
if _, err := NewKerberosAuthMethod(authConfig); err == nil {
|
|
t.Fatal("err should be returned for missing keytab_path")
|
|
}
|
|
|
|
authConfig = simpleAuthConfig()
|
|
delete(authConfig.Config, "krb5conf_path")
|
|
if _, err := NewKerberosAuthMethod(authConfig); err == nil {
|
|
t.Fatal("err should be returned for missing krb5conf_path")
|
|
}
|
|
|
|
authConfig = simpleAuthConfig()
|
|
if _, err := NewKerberosAuthMethod(authConfig); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
}
|
|
|
|
func simpleAuthConfig() *auth.AuthConfig {
|
|
return &auth.AuthConfig{
|
|
Logger: hclog.NewNullLogger(),
|
|
MountPath: "kerberos",
|
|
WrapTTL: 20,
|
|
Config: map[string]interface{}{
|
|
"username": "grace",
|
|
"service": "HTTP/05a65fad28ef.matrix.lan:8200",
|
|
"realm": "MATRIX.LAN",
|
|
"keytab_path": "grace.keytab",
|
|
"krb5conf_path": "krb5.conf",
|
|
},
|
|
}
|
|
}
|