boulder/cmd/shell_test.go

40 lines
971 B
Go

package cmd
import (
"encoding/json"
"testing"
"github.com/letsencrypt/boulder/test"
)
var (
validPAConfig = []byte(`{
"dbConnect": "dummyDBConnect",
"enforcePolicyWhitelist": false,
"challenges": { "simpleHttp": true }
}`)
invalidPAConfig = []byte(`{
"dbConnect": "dummyDBConnect",
"enforcePolicyWhitelist": false,
"challenges": { "nonsense": true }
}`)
noChallengesPAConfig = []byte(`{
"dbConnect": "dummyDBConnect",
"enforcePolicyWhitelist": false
}`)
)
func TestPAConfigUnmarshal(t *testing.T) {
var pc PAConfig
err := json.Unmarshal(validPAConfig, &pc)
test.AssertNotError(t, err, "Failed to unmarshal valid PAConfig")
err = json.Unmarshal(invalidPAConfig, &pc)
test.AssertError(t, err, "Failed to reject invalid PAConfig")
err = json.Unmarshal(noChallengesPAConfig, &pc)
test.AssertNotError(t, err, "Failed to unmarshal valid PAConfig")
test.Assert(t, len(pc.Challenges) == 4, "Incorrect number of challenges in default set")
}