70 lines
1.6 KiB
Go
70 lines
1.6 KiB
Go
package api
|
|
|
|
import (
|
|
"fmt"
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestSSH_CreateTLSClient(t *testing.T) {
|
|
// load the default configuration
|
|
config, err := LoadSSHHelperConfig("./test-fixtures/agent_config.hcl")
|
|
if err != nil {
|
|
panic(fmt.Sprintf("error loading agent's config file: %s", err))
|
|
}
|
|
|
|
client, err := config.NewClient()
|
|
if err != nil {
|
|
panic(fmt.Sprintf("error creating the client: %s", err))
|
|
}
|
|
|
|
// Provide a certificate and enforce setting of transport
|
|
config.CACert = "./test-fixtures/vault.crt"
|
|
|
|
client, err = config.NewClient()
|
|
if err != nil {
|
|
panic(fmt.Sprintf("error creating the client: %s", err))
|
|
}
|
|
if client.config.HttpClient.Transport == nil {
|
|
panic(fmt.Sprintf("error creating client with TLS transport"))
|
|
}
|
|
}
|
|
|
|
func TestParseSSHHelperConfig(t *testing.T) {
|
|
config, err := ParseSSHHelperConfig(`
|
|
vault_addr = "1.2.3.4"
|
|
`)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
if config.SSHMountPoint != SSHHelperDefaultMountPoint {
|
|
t.Errorf("expected %q to be %q", config.SSHMountPoint, SSHHelperDefaultMountPoint)
|
|
}
|
|
}
|
|
|
|
func TestParseSSHHelperConfig_missingVaultAddr(t *testing.T) {
|
|
_, err := ParseSSHHelperConfig("")
|
|
if err == nil {
|
|
t.Fatal("expected error")
|
|
}
|
|
|
|
if !strings.Contains(err.Error(), "ssh_helper: missing config 'vault_addr'") {
|
|
t.Errorf("bad error: %s", err)
|
|
}
|
|
}
|
|
|
|
func TestParseSSHHelperConfig_badKeys(t *testing.T) {
|
|
_, err := ParseSSHHelperConfig(`
|
|
vault_addr = "1.2.3.4"
|
|
nope = "bad"
|
|
`)
|
|
if err == nil {
|
|
t.Fatal("expected error")
|
|
}
|
|
|
|
if !strings.Contains(err.Error(), "ssh_helper: invalid key 'nope' on line 3") {
|
|
t.Errorf("bad error: %s", err)
|
|
}
|
|
}
|