From 8d685da4b7543a3cd7fdae3effeffd6ccd818f73 Mon Sep 17 00:00:00 2001 From: Joe Turki Date: Wed, 10 Dec 2025 07:29:36 +0200 Subject: [PATCH] Test wasm GetRemoteCertificate --- peerconnection_js_test.go | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/peerconnection_js_test.go b/peerconnection_js_test.go index b431c1e8..20b47252 100644 --- a/peerconnection_js_test.go +++ b/peerconnection_js_test.go @@ -121,3 +121,24 @@ func TestPeerConnectionCanTrickleICECandidatesJS(t *testing.T) { pc.underlying = js.ValueOf(map[string]any{}) assert.Equal(t, ICETrickleCapabilityUnknown, pc.CanTrickleICECandidates()) } + +func TestDTLSTransportGetRemoteCertificateMock(t *testing.T) { + expected := []byte{0x01, 0x02, 0x03, 0x04} + + u8 := js.Global().Get("Uint8Array").New(len(expected)) + if n := js.CopyBytesToJS(u8, expected); n != len(expected) { + t.Fatalf("copied %d bytes to Uint8Array; expected %d", n, len(expected)) + } + certBuffer := u8.Get("buffer") + + getRemoteCertificates := js.FuncOf(func(this js.Value, args []js.Value) any { + return js.ValueOf([]any{certBuffer}) + }) + defer getRemoteCertificates.Release() + + mockTransport := js.Global().Get("Object").New() + mockTransport.Set("getRemoteCertificates", getRemoteCertificates) + + dtlsTransport := &DTLSTransport{underlying: mockTransport} + assert.Equal(t, expected, dtlsTransport.GetRemoteCertificate()) +}