95
95
peers = subject . decode_bootstrap_peers ( data )
96
96
expect ( peers . size ) . to eq ( 2 )
97
97
peer1_id , peer1_ip , peer1_udp , peer1_tcp , peer1_type = peers . first
98
+ expect ( peer1_id ) . to eq ( '3020100070605040B0A09080F0E0D0C' )
98
99
expect ( peer1_ip ) . to eq ( '192.168.40.4' )
99
100
expect ( peer1_udp ) . to eq ( 54321 )
100
101
expect ( peer1_tcp ) . to eq ( 12345 )
101
102
expect ( peer1_type ) . to eq ( 8 )
102
103
peer2_id , peer2_ip , peer2_udp , peer2_tcp , peer2_type = peers . last
104
+ expect ( peer2_id ) . to eq ( '2020101040403030606050508080707' )
103
105
expect ( peer2_ip ) . to eq ( '192.168.40.5' )
104
106
expect ( peer2_udp ) . to eq ( 4444 )
105
107
expect ( peer2_tcp ) . to eq ( 5555 )
111
113
it 'should properly decode valid bootstrap responses' do
112
114
data = IO . read ( File . join ( File . dirname ( __FILE__ ) , 'kademlia_bootstrap_res.bin' ) )
113
115
peer_id , tcp , version , peers = subject . decode_bootstrap_res ( data )
114
- # expect(peer_id).to eq('XXXX ')
116
+ expect ( peer_id ) . to eq ( 'B54A83462529B21EF51FD54B956B07B0 ' )
115
117
expect ( tcp ) . to eq ( 4662 )
116
118
expect ( version ) . to eq ( 8 )
117
119
# don't bother checking every peer
118
120
expect ( peers . size ) . to eq ( 20 )
119
121
end
120
122
end
121
- end
123
+
124
+ describe '#decode_peer_id' do
125
+ it 'should decode a peer ID properly' do
126
+ bytes = "\x00 \x60 \x89 \x9B \x0A \x0B \xBE \xAE \x45 \x35 \xCB \x0E \x07 \xA1 \x77 \x71 "
127
+ peer_id = "9B896000AEBE0B0A0ECB35457177A107"
128
+ expect ( subject . decode_peer_id ( bytes ) ) . to eq ( peer_id )
129
+ end
130
+ end
131
+
132
+ describe '#encode_peer' do
133
+ skip 'should encode a peer ID properly' do
134
+ bytes = "\x00 \x60 \x89 \x9B \x0A \x0B \xBE \xAE \x45 \x35 \xCB \x0E \x07 \xA1 \x77 \x71 "
135
+ peer_id = "9B896000AEBE0B0A0ECB35457177A107"
136
+ expect ( subject . encode_peer_id ( peer_id ) ) . to eq ( bytes )
137
+ end
138
+ end
139
+ end
0 commit comments