Add backend unit tests

This commit is contained in:
Jamie Curnow
2023-07-25 11:59:02 +10:00
parent 72b071dbaa
commit b123ca4fd0
17 changed files with 399 additions and 283 deletions

View File

@ -136,7 +136,15 @@ func getCommonArgs() []string {
}
// This is split out into it's own function so it's testable
func buildCertRequestArgs(domains []string, method, outputFullchainFile, outputKeyFile string, dnsProvider *dnsprovider.Model, ca *certificateauthority.Model, force bool) ([]string, error) {
func buildCertRequestArgs(
domains []string,
method,
outputFullchainFile,
outputKeyFile string,
dnsProvider *dnsprovider.Model,
ca *certificateauthority.Model,
force bool,
) ([]string, error) {
// The argument order matters.
// see https://github.com/acmesh-official/acme.sh/wiki/How-to-issue-a-cert#3-multiple-domains-san-mode--hybrid-mode
// for multiple domains and note that the method of validation is required just after the domain arg, each time.

View File

@ -193,3 +193,33 @@ func TestBuildCertRequestArgs(t *testing.T) {
})
}
}
func TestGetAcmeShFilePath(t *testing.T) {
t.Run("basic test", func(t *testing.T) {
path, err := getAcmeShFilePath()
assert.Equal(t, "/bin/acme.sh", path)
assert.Equal(t, nil, err)
})
}
func TestGetCommonEnvVars(t *testing.T) {
t.Run("basic test", func(t *testing.T) {
expected := []string{
"ACMESH_CONFIG_HOME=/data/.acme.sh/config",
"ACMESH_HOME=/data/.acme.sh",
"CERT_HOME=/data/.acme.sh/certs",
"LE_CONFIG_HOME=/data/.acme.sh/config",
"LE_WORKING_DIR=/data/.acme.sh",
}
vals := getCommonEnvVars()
assert.Equal(t, expected, vals)
})
}
func TestGetAcmeShVersion(t *testing.T) {
t.Run("basic test", func(t *testing.T) {
resp := GetAcmeShVersion()
assert.Greater(t, len(resp), 1)
assert.Equal(t, "v", resp[:1])
})
}