66 lines
2 KiB
Go
66 lines
2 KiB
Go
|
package configuration
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
// TestStringSubstitutionWithPlaceholders tests the string substitution feature.
|
||
|
// It ensures that {name}, {cert_path} and {key_path} get substituted correctly.
|
||
|
func TestStringSubstitutionWithPlaceholders(t *testing.T) {
|
||
|
cert := CertificateData{
|
||
|
Name: "qwer",
|
||
|
CertificatePath: "/fake/path/{name}",
|
||
|
KeyPath: "/fake/path/{name}-key",
|
||
|
Action: "./fake action {cert_path} {key_path}",
|
||
|
}
|
||
|
|
||
|
cfg := ConfigFileData{
|
||
|
Certificates: []CertificateData{cert},
|
||
|
}
|
||
|
|
||
|
cfg.SubstituteKeys(nil)
|
||
|
|
||
|
if cfg.Certificates[0].CertificatePath != "/fake/path/qwer" {
|
||
|
t.Fail()
|
||
|
t.Logf(`CertificatePath = %q, want "/fake/path/qwer"`, cfg.Certificates[0].CertificatePath)
|
||
|
}
|
||
|
if cfg.Certificates[0].KeyPath != "/fake/path/qwer-key" {
|
||
|
t.Fail()
|
||
|
t.Logf(`KeyPath = %q, want "/fake/path/qwer-key"`, cfg.Certificates[0].KeyPath)
|
||
|
}
|
||
|
if cfg.Certificates[0].Action != "./fake action /fake/path/qwer /fake/path/qwer-key" {
|
||
|
t.Fail()
|
||
|
t.Logf(`Action = %q, want "./fake action /fake/path/qwer /fake/path/qwer-key"`, cfg.Certificates[0].Action)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// TestStringSubstitutionWithPlaceholders tests the string substitution feature.
|
||
|
// It ensures that if no substitutes are present, the config values are not changed.
|
||
|
func TestStringSubstitutionWithoutPlaceholders(t *testing.T) {
|
||
|
cert := CertificateData{
|
||
|
Name: "qwer",
|
||
|
CertificatePath: "/fake/path/asd",
|
||
|
KeyPath: "/fake/path/asdf-key",
|
||
|
Action: "./fake action abcd efgh",
|
||
|
}
|
||
|
|
||
|
cfg := ConfigFileData{
|
||
|
Certificates: []CertificateData{cert},
|
||
|
}
|
||
|
|
||
|
cfg.SubstituteKeys(nil)
|
||
|
|
||
|
if cfg.Certificates[0].CertificatePath != "/fake/path/asd" {
|
||
|
t.Fail()
|
||
|
t.Logf(`CertificatePath = %q, want "/fake/path/asd"`, cfg.Certificates[0].CertificatePath)
|
||
|
}
|
||
|
if cfg.Certificates[0].KeyPath != "/fake/path/asdf-key" {
|
||
|
t.Fail()
|
||
|
t.Logf(`KeyPath = %q, want "/fake/path/asdf-key"`, cfg.Certificates[0].KeyPath)
|
||
|
}
|
||
|
if cfg.Certificates[0].Action != "./fake action abcd efgh" {
|
||
|
t.Fail()
|
||
|
t.Logf(`Action = %q, want "./fake action abcd efgh"`, cfg.Certificates[0].Action)
|
||
|
}
|
||
|
}
|