internal/server/hosttoken/hosttoken_test.go
Ref: Size: 737 B History
package hosttoken
import (
"testing"
"time"
"github.com/stretchr/testify/assert"
)
func TestMintedCredentialVerifiesAndRecoversHostID(t *testing.T) {
secret := []byte("server-secret")
cred := Mint(secret, "host-123", 1, time.Unix(1_750_000_000, 0))
claims, ok := Verify(secret, cred)
assert.True(t, ok)
assert.Equal(t, "host-123", claims.HostID)
}
func TestVerifyRejectsTamperedAndWrongSecret(t *testing.T) {
secret := []byte("server-secret")
cred := Mint(secret, "host-123", 1, time.Unix(1_750_000_000, 0))
_, ok := Verify([]byte("other"), cred)
assert.False(t, ok, "wrong secret")
_, ok = Verify(secret, cred+"x")
assert.False(t, ok, "tampered")
_, ok = Verify(secret, "garbage")
assert.False(t, ok, "malformed")
}