Files
AAA da47189fc3 refactor: unify Go runtime and audited frontend
Squash integration of the reviewed Go core, frontend audit fixes, release tooling, and deployment hygiene. CI passed all Server/Client jobs.
2026-09-06 23:26:01 +08:00

109 lines
4.1 KiB
Go

package protocol
import "testing"
func TestEndpointMediaCopyLimits(t *testing.T) {
for _, sample := range []struct {
capacity, steady, transition int
}{{1, 1, 2}, {2, 2, 3}, {3, 3, 3}} {
if got := EndpointMediaCopyLimit(sample.capacity, EndpointMediaCopySteady); got != sample.steady {
t.Errorf("steady limit for %d = %d, want %d", sample.capacity, got, sample.steady)
}
if got := EndpointMediaCopyLimit(sample.capacity, EndpointMediaCopyTransition); got != sample.transition {
t.Errorf("transition limit for %d = %d, want %d", sample.capacity, got, sample.transition)
}
if !EndpointMediaCopyCountFits(sample.transition, sample.capacity, EndpointMediaCopyTransition) {
t.Errorf("%d copies must fit capacity %d in transition", sample.transition, sample.capacity)
}
if EndpointMediaCopyCountFits(sample.transition+1, sample.capacity, EndpointMediaCopyTransition) {
t.Errorf("%d copies must not fit capacity %d in transition",
sample.transition+1, sample.capacity)
}
}
}
func TestEndpointMediaCopyCapacityGuards(t *testing.T) {
for _, capacity := range []int{0, 4, -1} {
if err := AssertEndpointMediaCopyCapacity(capacity); err == nil {
t.Errorf("capacity %d must be rejected", capacity)
}
}
// An unavailable runtime capacity returns false instead of throwing.
if EndpointMediaCopyCountFits(0, 0, EndpointMediaCopySteady) {
t.Error("a zero capacity must never fit")
}
}
// Ported from tests/nat-candidate.test.ts.
func TestNatCandidateDiagnostics(t *testing.T) {
for _, sample := range []struct {
candidate string
want CandidateSignalOrigin
}{
{"", CandidateOriginEnd},
{" ", CandidateOriginEnd},
{"candidate:sp2 1 udp 1 203.0.113.1 50000 typ srflx", CandidateOriginPredicted},
{"candidate:base 1 udp 1 203.0.113.1 50000 typ srflx", CandidateOriginOrdinary},
} {
if got := CandidateSignalOriginOf(sample.candidate); got != sample.want {
t.Errorf("CandidateSignalOriginOf(%q) = %q, want %q",
sample.candidate, got, sample.want)
}
}
}
// Ported from tests/packet-loss.test.ts ("keeps receive-side delta validation").
func TestPacketLossPercentFromDeltas(t *testing.T) {
number := func(value float64) *float64 { return &value }
for _, sample := range []struct {
name string
received, lost *float64
want float64
ok bool
}{
{"ninety received and ten lost", number(90), number(10), 10, true},
{"no packets at all", number(0), number(0), 0, false},
{"missing received delta", nil, number(1), 0, false},
{"negative lost delta", number(10), number(-1), 0, false},
} {
t.Run(sample.name, func(t *testing.T) {
got, ok := PacketLossPercentFromDeltas(sample.received, sample.lost)
if ok != sample.ok || (ok && got != sample.want) {
t.Fatalf("PacketLossPercentFromDeltas = (%v, %v), want (%v, %v)",
got, ok, sample.want, sample.ok)
}
})
}
}
// Ported from the codec cases in tests/protocol.test.ts.
func TestIsCanonicalVideoCodecEvidence(t *testing.T) {
for _, sample := range []struct {
codec, profile, parameters string
want bool
}{
{"video/H264", "profile-level-id=42e01f",
"packetization-mode=1; level-asymmetry-allowed=1", true},
{"video/VP8", "", "max-fr=60; max-fs=8160", true},
{"video/VP9", "profile-id=2", "max-fs=8160", true},
{"video/AV1", "profile=1", "level-idx=31; tier=0", true},
{"video/unknown", "", "", true},
{"", "", "", true},
{"video/unknown", "profile=1", "", false},
{"video/H264", "device-id=deadbeef", "", false},
{"video/H264", "", "sprop-parameter-sets=deadbeef", false},
// Order is part of the canonical form.
{"video/H264", "", "level-asymmetry-allowed=1; packetization-mode=1", false},
// A duplicate key exceeds the ordered key budget.
{"video/VP8", "", "max-fr=60; max-fr=60", false},
{"video/AV1", "profile=3", "", false},
} {
t.Run(sample.codec+"|"+sample.profile+"|"+sample.parameters, func(t *testing.T) {
got := IsCanonicalVideoCodecEvidence(sample.codec, sample.profile, sample.parameters)
if got != sample.want {
t.Fatalf("IsCanonicalVideoCodecEvidence = %v, want %v", got, sample.want)
}
})
}
}