mirror of
https://source.quilibrium.com/quilibrium/ceremonyclient.git
synced 2024-12-26 00:25:17 +00:00
102 lines
2.6 KiB
Go
102 lines
2.6 KiB
Go
|
package libp2pwebrtc
|
||
|
|
||
|
import (
|
||
|
"encoding/hex"
|
||
|
"net"
|
||
|
"testing"
|
||
|
|
||
|
"github.com/multiformats/go-multihash"
|
||
|
"github.com/stretchr/testify/require"
|
||
|
)
|
||
|
|
||
|
const expectedServerSDP = `v=0
|
||
|
o=- 0 0 IN IP4 0.0.0.0
|
||
|
s=-
|
||
|
t=0 0
|
||
|
a=ice-lite
|
||
|
m=application 37826 UDP/DTLS/SCTP webrtc-datachannel
|
||
|
c=IN IP4 0.0.0.0
|
||
|
a=mid:0
|
||
|
a=ice-options:ice2
|
||
|
a=ice-ufrag:d2c0fc07-8bb3-42ae-bae2-a6fce8a0b581
|
||
|
a=ice-pwd:d2c0fc07-8bb3-42ae-bae2-a6fce8a0b581
|
||
|
a=fingerprint:sha-256 ba:78:16:bf:8f:01:cf:ea:41:41:40:de:5d:ae:22:23:b0:03:61:a3:96:17:7a:9c:b4:10:ff:61:f2:00:15:ad
|
||
|
|
||
|
a=setup:passive
|
||
|
a=sctp-port:5000
|
||
|
a=max-message-size:16384
|
||
|
a=candidate:1 1 UDP 1 0.0.0.0 37826 typ host
|
||
|
a=end-of-candidates
|
||
|
`
|
||
|
|
||
|
func TestRenderServerSDP(t *testing.T) {
|
||
|
encoded, err := hex.DecodeString("ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad")
|
||
|
require.NoError(t, err)
|
||
|
|
||
|
testMultihash := multihash.DecodedMultihash{
|
||
|
Code: multihash.SHA2_256,
|
||
|
Name: multihash.Codes[multihash.SHA2_256],
|
||
|
Digest: encoded,
|
||
|
Length: len(encoded),
|
||
|
}
|
||
|
addr := &net.UDPAddr{IP: net.IPv4(0, 0, 0, 0), Port: 37826}
|
||
|
ufrag := "d2c0fc07-8bb3-42ae-bae2-a6fce8a0b581"
|
||
|
fingerprint := testMultihash
|
||
|
|
||
|
sdp, err := createServerSDP(addr, ufrag, fingerprint)
|
||
|
require.NoError(t, err)
|
||
|
require.Equal(t, expectedServerSDP, sdp)
|
||
|
}
|
||
|
|
||
|
const expectedClientSDP = `v=0
|
||
|
o=- 0 0 IN IP4 0.0.0.0
|
||
|
s=-
|
||
|
c=IN IP4 0.0.0.0
|
||
|
t=0 0
|
||
|
|
||
|
m=application 37826 UDP/DTLS/SCTP webrtc-datachannel
|
||
|
a=mid:0
|
||
|
a=ice-options:ice2
|
||
|
a=ice-ufrag:d2c0fc07-8bb3-42ae-bae2-a6fce8a0b581
|
||
|
a=ice-pwd:d2c0fc07-8bb3-42ae-bae2-a6fce8a0b581
|
||
|
a=fingerprint:sha-256 ba:78:16:bf:8f:01:cf:ea:41:41:40:de:5d:ae:22:23:b0:03:61:a3:96:17:7a:9c:b4:10:ff:61:f2:00:15:ad
|
||
|
a=setup:actpass
|
||
|
a=sctp-port:5000
|
||
|
a=max-message-size:16384
|
||
|
`
|
||
|
|
||
|
func TestRenderClientSDP(t *testing.T) {
|
||
|
addr := &net.UDPAddr{IP: net.IPv4(0, 0, 0, 0), Port: 37826}
|
||
|
ufrag := "d2c0fc07-8bb3-42ae-bae2-a6fce8a0b581"
|
||
|
sdp := createClientSDP(addr, ufrag)
|
||
|
require.Equal(t, expectedClientSDP, sdp)
|
||
|
}
|
||
|
|
||
|
func BenchmarkRenderClientSDP(b *testing.B) {
|
||
|
addr := &net.UDPAddr{IP: net.IPv4(0, 0, 0, 0), Port: 37826}
|
||
|
ufrag := "d2c0fc07-8bb3-42ae-bae2-a6fce8a0b581"
|
||
|
|
||
|
for i := 0; i < b.N; i++ {
|
||
|
createClientSDP(addr, ufrag)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func BenchmarkRenderServerSDP(b *testing.B) {
|
||
|
encoded, _ := hex.DecodeString("ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad")
|
||
|
|
||
|
testMultihash := multihash.DecodedMultihash{
|
||
|
Code: multihash.SHA2_256,
|
||
|
Name: multihash.Codes[multihash.SHA2_256],
|
||
|
Digest: encoded,
|
||
|
Length: len(encoded),
|
||
|
}
|
||
|
addr := &net.UDPAddr{IP: net.IPv4(0, 0, 0, 0), Port: 37826}
|
||
|
ufrag := "d2c0fc07-8bb3-42ae-bae2-a6fce8a0b581"
|
||
|
fingerprint := testMultihash
|
||
|
|
||
|
for i := 0; i < b.N; i++ {
|
||
|
createServerSDP(addr, ufrag, fingerprint)
|
||
|
}
|
||
|
|
||
|
}
|