tailscale/types/tkatype/tkatype_test.go

44 lines
970 B
Go

// Copyright (c) Tailscale Inc & AUTHORS
// SPDX-License-Identifier: BSD-3-Clause
package tkatype
import (
"encoding/json"
"testing"
"golang.org/x/crypto/blake2s"
)
func TestSigHashSize(t *testing.T) {
var sigHash AUMSigHash
if len(sigHash) != blake2s.Size {
t.Errorf("AUMSigHash is wrong size: got %d, want %d", len(sigHash), blake2s.Size)
}
var nksHash NKSSigHash
if len(nksHash) != blake2s.Size {
t.Errorf("NKSSigHash is wrong size: got %d, want %d", len(nksHash), blake2s.Size)
}
}
func TestMarshaledSignatureJSON(t *testing.T) {
sig := MarshaledSignature("abcdef")
j, err := json.Marshal(sig)
if err != nil {
t.Fatal(err)
}
const encoded = `"YWJjZGVm"`
if string(j) != encoded {
t.Errorf("got JSON %q; want %q", j, encoded)
}
var back MarshaledSignature
if err := json.Unmarshal([]byte(encoded), &back); err != nil {
t.Fatal(err)
}
if string(back) != string(sig) {
t.Errorf("decoded JSON back to %q; want %q", back, sig)
}
}