a8cc633156
After a more detailed analysis of this feature, the approach taken in PR #12449 was found to be not ideal due to poor UX (users are responsible for setting the entity alias they would like to use) and issues around jobs potentially masquerading itself as another Vault entity.
135 lines
3.2 KiB
Go
135 lines
3.2 KiB
Go
package config
|
|
|
|
import (
|
|
"reflect"
|
|
"testing"
|
|
|
|
"github.com/hashicorp/nomad/ci"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestVaultConfig_Merge(t *testing.T) {
|
|
ci.Parallel(t)
|
|
|
|
trueValue, falseValue := true, false
|
|
c1 := &VaultConfig{
|
|
Enabled: &falseValue,
|
|
Token: "1",
|
|
Role: "1",
|
|
AllowUnauthenticated: &trueValue,
|
|
TaskTokenTTL: "1",
|
|
Addr: "1",
|
|
TLSCaFile: "1",
|
|
TLSCaPath: "1",
|
|
TLSCertFile: "1",
|
|
TLSKeyFile: "1",
|
|
TLSSkipVerify: &trueValue,
|
|
TLSServerName: "1",
|
|
}
|
|
|
|
c2 := &VaultConfig{
|
|
Enabled: &trueValue,
|
|
Token: "2",
|
|
Role: "2",
|
|
AllowUnauthenticated: &falseValue,
|
|
TaskTokenTTL: "2",
|
|
Addr: "2",
|
|
TLSCaFile: "2",
|
|
TLSCaPath: "2",
|
|
TLSCertFile: "2",
|
|
TLSKeyFile: "2",
|
|
TLSSkipVerify: nil,
|
|
TLSServerName: "2",
|
|
}
|
|
|
|
e := &VaultConfig{
|
|
Enabled: &trueValue,
|
|
Token: "2",
|
|
Role: "2",
|
|
AllowUnauthenticated: &falseValue,
|
|
TaskTokenTTL: "2",
|
|
Addr: "2",
|
|
TLSCaFile: "2",
|
|
TLSCaPath: "2",
|
|
TLSCertFile: "2",
|
|
TLSKeyFile: "2",
|
|
TLSSkipVerify: &trueValue,
|
|
TLSServerName: "2",
|
|
}
|
|
|
|
result := c1.Merge(c2)
|
|
if !reflect.DeepEqual(result, e) {
|
|
t.Fatalf("bad:\n%#v\n%#v", result, e)
|
|
}
|
|
}
|
|
|
|
func TestVaultConfig_IsEqual(t *testing.T) {
|
|
ci.Parallel(t)
|
|
|
|
require := require.New(t)
|
|
|
|
trueValue, falseValue := true, false
|
|
c1 := &VaultConfig{
|
|
Enabled: &falseValue,
|
|
Token: "1",
|
|
Role: "1",
|
|
AllowUnauthenticated: &trueValue,
|
|
TaskTokenTTL: "1",
|
|
Addr: "1",
|
|
TLSCaFile: "1",
|
|
TLSCaPath: "1",
|
|
TLSCertFile: "1",
|
|
TLSKeyFile: "1",
|
|
TLSSkipVerify: &trueValue,
|
|
TLSServerName: "1",
|
|
}
|
|
|
|
c2 := &VaultConfig{
|
|
Enabled: &falseValue,
|
|
Token: "1",
|
|
Role: "1",
|
|
AllowUnauthenticated: &trueValue,
|
|
TaskTokenTTL: "1",
|
|
Addr: "1",
|
|
TLSCaFile: "1",
|
|
TLSCaPath: "1",
|
|
TLSCertFile: "1",
|
|
TLSKeyFile: "1",
|
|
TLSSkipVerify: &trueValue,
|
|
TLSServerName: "1",
|
|
}
|
|
|
|
require.True(c1.IsEqual(c2))
|
|
|
|
c3 := &VaultConfig{
|
|
Enabled: &trueValue,
|
|
Token: "1",
|
|
Role: "1",
|
|
AllowUnauthenticated: &trueValue,
|
|
TaskTokenTTL: "1",
|
|
Addr: "1",
|
|
TLSCaFile: "1",
|
|
TLSCaPath: "1",
|
|
TLSCertFile: "1",
|
|
TLSKeyFile: "1",
|
|
TLSSkipVerify: &trueValue,
|
|
TLSServerName: "1",
|
|
}
|
|
|
|
c4 := &VaultConfig{
|
|
Enabled: &falseValue,
|
|
Token: "1",
|
|
Role: "1",
|
|
AllowUnauthenticated: &trueValue,
|
|
TaskTokenTTL: "1",
|
|
Addr: "1",
|
|
TLSCaFile: "1",
|
|
TLSCaPath: "1",
|
|
TLSCertFile: "1",
|
|
TLSKeyFile: "1",
|
|
TLSSkipVerify: &trueValue,
|
|
TLSServerName: "1",
|
|
}
|
|
require.False(c3.IsEqual(c4))
|
|
}
|