a73x

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")
}