45 lines
1.2 KiB
Go
45 lines
1.2 KiB
Go
package config
|
|
|
|
import (
|
|
"bytes"
|
|
"crypto/sha256"
|
|
"encoding/hex"
|
|
"testing"
|
|
)
|
|
|
|
func TestEffectiveConfigurationGolden_HP_CFG_09(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
server, err := DecodeServer(nil)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
first, err := RenderEffectiveServer(server)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
second, _ := RenderEffectiveServer(server)
|
|
if !bytes.Equal(first, second) {
|
|
t.Fatal("effective server configuration is nondeterministic")
|
|
}
|
|
digest := sha256.Sum256(first)
|
|
const goldenSHA256 = "55c5fec2c10bc27372353a60f317c5a2959f8087685cf7c11202bb12dc59aa28"
|
|
if got := hex.EncodeToString(digest[:]); got != goldenSHA256 {
|
|
t.Fatalf("effective server configuration golden changed: got %s", got)
|
|
}
|
|
|
|
client, err := DecodeClient(nil, ClientOptions{Platform: PlatformUnix})
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
rendered, err := RenderEffectiveClient(client)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
digest = sha256.Sum256(rendered)
|
|
const clientGoldenSHA256 = "4c54c212f18f65cad0a2ea65ecbf1d1a6a0f45da5192857ff61f0cdf85ebb68b"
|
|
if got := hex.EncodeToString(digest[:]); got != clientGoldenSHA256 {
|
|
t.Fatalf("effective client configuration golden changed: got %s", got)
|
|
}
|
|
}
|