78 lines
1.4 KiB
Go
78 lines
1.4 KiB
Go
package main
|
|
|
|
import (
|
|
"os"
|
|
"testing"
|
|
)
|
|
|
|
func TestValidateOptionsWithoutVaultURL(t *testing.T) {
|
|
os.Setenv("VAULT_ADDR", "")
|
|
|
|
cfg := &config{}
|
|
err := validateOptions(cfg)
|
|
|
|
if err == nil {
|
|
t.Errorf("should have raised error: %v", err)
|
|
}
|
|
|
|
}
|
|
|
|
func TestValidateOptionsWithEnvFallback(t *testing.T) {
|
|
os.Setenv("VAULT_ADDR", "http://testurl:8080")
|
|
|
|
cfg := &config{}
|
|
err := validateOptions(cfg)
|
|
|
|
if err != nil {
|
|
t.Errorf("raised an error: %v", err)
|
|
}
|
|
|
|
actual := cfg.vaultURL
|
|
expected := "http://testurl:8080"
|
|
|
|
if actual != expected {
|
|
t.Errorf("Expected Vault URL to be %s got %s", expected, actual)
|
|
}
|
|
|
|
}
|
|
|
|
func TestValidateOptionsWithInvalidVaultURL(t *testing.T) {
|
|
cfg := &config{
|
|
vaultURL: "%invalid_url",
|
|
}
|
|
err := validateOptions(cfg)
|
|
|
|
if err == nil {
|
|
t.Errorf("should have raised error")
|
|
}
|
|
}
|
|
|
|
func TestValidateOptionsWithInvalidVaultURLFromAuthFile(t *testing.T) {
|
|
cfg := &config{
|
|
vaultAuthFile: "tests/invalid_kubernetes_vault_auth_file.json",
|
|
}
|
|
err := validateOptions(cfg)
|
|
|
|
if err == nil {
|
|
t.Errorf("should have raised error")
|
|
}
|
|
}
|
|
|
|
func TestValidateOptionsWithVaultURLFromAuthFile(t *testing.T) {
|
|
cfg := &config{
|
|
vaultAuthFile: "tests/kubernetes_vault_auth_file.json",
|
|
}
|
|
err := validateOptions(cfg)
|
|
|
|
if err != nil {
|
|
t.Errorf("raising an error %v", err)
|
|
}
|
|
|
|
actual := cfg.vaultURL
|
|
expected := "http://testurl:8080"
|
|
|
|
if actual != expected {
|
|
t.Errorf("Expected Vault URL to be %s got %s", expected, actual)
|
|
}
|
|
}
|