]> Sergey Matveev's repositories - btrtrc.git/blob - metainfo/nodes_test.go
metainfo: Support nodes as []string or [](string, int64)
[btrtrc.git] / metainfo / nodes_test.go
1 package metainfo
2
3 import (
4         "testing"
5
6         "github.com/stretchr/testify/assert"
7         "github.com/stretchr/testify/require"
8 )
9
10 func testFileNodesMatch(t *testing.T, file string, nodes []Node) {
11         mi, err := LoadFromFile(file)
12         require.NoError(t, err)
13         assert.EqualValues(t, nodes, mi.Nodes)
14 }
15
16 func TestNodesListStrings(t *testing.T) {
17         testFileNodesMatch(t, "testdata/trackerless.torrent", []Node{
18                 "udp://tracker.openbittorrent.com:80",
19                 "udp://tracker.openbittorrent.com:80",
20         })
21 }
22
23 func TestNodesListPairsBEP5(t *testing.T) {
24         testFileNodesMatch(t, "testdata/issue_65a.torrent", []Node{
25                 "185.34.3.132:5680",
26                 "185.34.3.103:12340",
27                 "94.209.253.165:47232",
28                 "78.46.103.11:34319",
29                 "195.154.162.70:55011",
30                 "185.34.3.137:3732",
31         })
32         testFileNodesMatch(t, "testdata/issue_65b.torrent", []Node{
33                 "95.211.203.130:6881",
34                 "84.72.116.169:6889",
35                 "204.83.98.77:7000",
36                 "101.187.175.163:19665",
37                 "37.187.118.32:6881",
38                 "83.128.223.71:23865",
39         })
40 }