2
0
mirror of synced 2025-02-24 22:58:28 +00:00
torrent/peer_protocol/pex_test.go

26 lines
637 B
Go
Raw Normal View History

2018-07-10 11:21:24 +10:00
package peer_protocol
2015-08-17 19:52:47 +10:00
import (
"testing"
"github.com/anacrolix/torrent/bencode"
"github.com/stretchr/testify/require"
2015-08-17 19:52:47 +10:00
)
func TestUnmarshalPex(t *testing.T) {
2018-07-10 11:21:24 +10:00
var pem PexMsg
2015-08-17 19:52:47 +10:00
err := bencode.Unmarshal([]byte("d5:added12:\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0ce"), &pem)
require.NoError(t, err)
require.EqualValues(t, 2, len(pem.Added))
require.EqualValues(t, 1286, pem.Added[0].Port)
require.EqualValues(t, 0x100*0xb+0xc, pem.Added[1].Port)
}
func TestEmptyPexMsg(t *testing.T) {
pm := PexMsg{}
b, err := bencode.Marshal(pm)
t.Logf("%q", b)
require.NoError(t, err)
require.NoError(t, bencode.Unmarshal(b, &pm))
}