Files
rvbox/internal/config/effective_test.go
T

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 = "65c938efd935ce0c0d2354cdb62c38a2dc177755520d1ae1e5951902a70dd323"
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)
}
}