Skip to content
This repository was archived by the owner on Nov 15, 2023. It is now read-only.

Commit bb224d7

Browse files
committed
network: fix tests
1 parent 1e0669d commit bb224d7

File tree

1 file changed

+37
-37
lines changed

1 file changed

+37
-37
lines changed

network/src/tests.rs

Lines changed: 37 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ use polkadot_primitives::parachain::{CandidateReceipt, CollatorId, HeadData, Blo
2626
use substrate_primitives::crypto::UncheckedInto;
2727
use codec::Encode;
2828
use substrate_network::{
29-
Severity, NodeIndex, PeerInfo, ClientHandle, Context, config::Roles,
29+
Severity, PeerId, PeerInfo, ClientHandle, Context, config::Roles,
3030
message::Message as SubstrateMessage, specialization::NetworkSpecialization,
3131
generic_message::Message as GenericMessage
3232
};
@@ -36,34 +36,34 @@ use futures::Future;
3636

3737
#[derive(Default)]
3838
struct TestContext {
39-
disabled: Vec<NodeIndex>,
40-
disconnected: Vec<NodeIndex>,
41-
messages: Vec<(NodeIndex, SubstrateMessage<Block>)>,
39+
disabled: Vec<PeerId>,
40+
disconnected: Vec<PeerId>,
41+
messages: Vec<(PeerId, SubstrateMessage<Block>)>,
4242
}
4343

4444
impl Context<Block> for TestContext {
4545
fn client(&self) -> &ClientHandle<Block> {
4646
unimplemented!()
4747
}
4848

49-
fn report_peer(&mut self, peer: NodeIndex, reason: Severity) {
49+
fn report_peer(&mut self, peer: PeerId, reason: Severity) {
5050
match reason {
5151
Severity::Bad(_) => self.disabled.push(peer),
5252
_ => self.disconnected.push(peer),
5353
}
5454
}
5555

56-
fn peer_info(&self, _peer: NodeIndex) -> Option<PeerInfo<Block>> {
56+
fn peer_info(&self, _peer: &PeerId) -> Option<PeerInfo<Block>> {
5757
unimplemented!()
5858
}
5959

60-
fn send_message(&mut self, who: NodeIndex, data: SubstrateMessage<Block>) {
60+
fn send_message(&mut self, who: PeerId, data: SubstrateMessage<Block>) {
6161
self.messages.push((who, data))
6262
}
6363
}
6464

6565
impl TestContext {
66-
fn has_message(&self, to: NodeIndex, message: Message) -> bool {
66+
fn has_message(&self, to: PeerId, message: Message) -> bool {
6767
use substrate_network::generic_message::Message as GenericMessage;
6868

6969
let encoded = message.encode();
@@ -93,7 +93,7 @@ fn make_consensus(local_key: SessionKey) -> (CurrentConsensus, Arc<Mutex<Knowled
9393
(c, knowledge)
9494
}
9595

96-
fn on_message(protocol: &mut PolkadotProtocol, ctx: &mut TestContext, from: NodeIndex, message: Message) {
96+
fn on_message(protocol: &mut PolkadotProtocol, ctx: &mut TestContext, from: PeerId, message: Message) {
9797
let encoded = message.encode();
9898
protocol.on_message(ctx, from, &mut Some(GenericMessage::ChainSpecific(encoded)));
9999
}
@@ -102,8 +102,8 @@ fn on_message(protocol: &mut PolkadotProtocol, ctx: &mut TestContext, from: Node
102102
fn sends_session_key() {
103103
let mut protocol = PolkadotProtocol::new(None);
104104

105-
let peer_a = 1;
106-
let peer_b = 2;
105+
let peer_a = PeerId::random();
106+
let peer_b = PeerId::random();
107107
let parent_hash = [0; 32].into();
108108
let local_key: SessionKey = [1; 32].unchecked_into();
109109

@@ -112,30 +112,30 @@ fn sends_session_key() {
112112

113113
{
114114
let mut ctx = TestContext::default();
115-
protocol.on_connect(&mut ctx, peer_a, make_status(&validator_status, Roles::AUTHORITY));
115+
protocol.on_connect(&mut ctx, peer_a.clone(), make_status(&validator_status, Roles::AUTHORITY));
116116
assert!(ctx.messages.is_empty());
117117
}
118118

119119
{
120120
let mut ctx = TestContext::default();
121121
let (consensus, _knowledge) = make_consensus(local_key.clone());
122122
protocol.new_consensus(&mut ctx, parent_hash, consensus);
123-
assert!(ctx.has_message(peer_a, Message::SessionKey(local_key.clone())));
123+
assert!(ctx.has_message(peer_a.clone(), Message::SessionKey(local_key.clone())));
124124
}
125125

126126
{
127127
let mut ctx = TestContext::default();
128-
protocol.on_connect(&mut ctx, peer_b, make_status(&collator_status, Roles::NONE));
129-
assert!(ctx.has_message(peer_b, Message::SessionKey(local_key)));
128+
protocol.on_connect(&mut ctx, peer_b.clone(), make_status(&collator_status, Roles::NONE));
129+
assert!(ctx.has_message(peer_b.clone(), Message::SessionKey(local_key)));
130130
}
131131
}
132132

133133
#[test]
134134
fn fetches_from_those_with_knowledge() {
135135
let mut protocol = PolkadotProtocol::new(None);
136136

137-
let peer_a = 1;
138-
let peer_b = 2;
137+
let peer_a = PeerId::random();
138+
let peer_b = PeerId::random();
139139
let parent_hash = [0; 32].into();
140140
let local_key: SessionKey = [1; 32].unchecked_into();
141141

@@ -167,35 +167,35 @@ fn fetches_from_those_with_knowledge() {
167167
// connect peer A
168168
{
169169
let mut ctx = TestContext::default();
170-
protocol.on_connect(&mut ctx, peer_a, make_status(&status, Roles::AUTHORITY));
171-
assert!(ctx.has_message(peer_a, Message::SessionKey(local_key)));
170+
protocol.on_connect(&mut ctx, peer_a.clone(), make_status(&status, Roles::AUTHORITY));
171+
assert!(ctx.has_message(peer_a.clone(), Message::SessionKey(local_key)));
172172
}
173173

174174
// peer A gives session key and gets asked for data.
175175
{
176176
let mut ctx = TestContext::default();
177-
on_message(&mut protocol, &mut ctx, peer_a, Message::SessionKey(a_key.clone()));
177+
on_message(&mut protocol, &mut ctx, peer_a.clone(), Message::SessionKey(a_key.clone()));
178178
assert!(protocol.validators.contains_key(&a_key));
179-
assert!(ctx.has_message(peer_a, Message::RequestBlockData(1, parent_hash, candidate_hash)));
179+
assert!(ctx.has_message(peer_a.clone(), Message::RequestBlockData(1, parent_hash, candidate_hash)));
180180
}
181181

182182
knowledge.lock().note_statement(b_key.clone(), &GenericStatement::Valid(candidate_hash));
183183

184184
// peer B connects and sends session key. request already assigned to A
185185
{
186186
let mut ctx = TestContext::default();
187-
protocol.on_connect(&mut ctx, peer_b, make_status(&status, Roles::AUTHORITY));
188-
on_message(&mut protocol, &mut ctx, peer_b, Message::SessionKey(b_key.clone()));
189-
assert!(!ctx.has_message(peer_b, Message::RequestBlockData(2, parent_hash, candidate_hash)));
187+
protocol.on_connect(&mut ctx, peer_b.clone(), make_status(&status, Roles::AUTHORITY));
188+
on_message(&mut protocol, &mut ctx, peer_b.clone(), Message::SessionKey(b_key.clone()));
189+
assert!(!ctx.has_message(peer_b.clone(), Message::RequestBlockData(2, parent_hash, candidate_hash)));
190190

191191
}
192192

193193
// peer A disconnects, triggering reassignment
194194
{
195195
let mut ctx = TestContext::default();
196-
protocol.on_disconnect(&mut ctx, peer_a);
196+
protocol.on_disconnect(&mut ctx, peer_a.clone());
197197
assert!(!protocol.validators.contains_key(&a_key));
198-
assert!(ctx.has_message(peer_b, Message::RequestBlockData(2, parent_hash, candidate_hash)));
198+
assert!(ctx.has_message(peer_b.clone(), Message::RequestBlockData(2, parent_hash, candidate_hash)));
199199
}
200200

201201
// peer B comes back with block data.
@@ -211,7 +211,7 @@ fn fetches_from_those_with_knowledge() {
211211
fn fetches_available_block_data() {
212212
let mut protocol = PolkadotProtocol::new(None);
213213

214-
let peer_a = 1;
214+
let peer_a = PeerId::random();
215215
let parent_hash = [0; 32].into();
216216

217217
let block_data = BlockData(vec![1, 2, 3, 4]);
@@ -246,13 +246,13 @@ fn fetches_available_block_data() {
246246
// connect peer A
247247
{
248248
let mut ctx = TestContext::default();
249-
protocol.on_connect(&mut ctx, peer_a, make_status(&status, Roles::FULL));
249+
protocol.on_connect(&mut ctx, peer_a.clone(), make_status(&status, Roles::FULL));
250250
}
251251

252252
// peer A asks for historic block data and gets response
253253
{
254254
let mut ctx = TestContext::default();
255-
on_message(&mut protocol, &mut ctx, peer_a, Message::RequestBlockData(1, parent_hash, candidate_hash));
255+
on_message(&mut protocol, &mut ctx, peer_a.clone(), Message::RequestBlockData(1, parent_hash, candidate_hash));
256256
assert!(ctx.has_message(peer_a, Message::BlockData(1, Some(block_data))));
257257
}
258258
}
@@ -261,14 +261,14 @@ fn fetches_available_block_data() {
261261
fn remove_bad_collator() {
262262
let mut protocol = PolkadotProtocol::new(None);
263263

264-
let who = 1;
264+
let who = PeerId::random();
265265
let account_id: CollatorId = [2; 32].unchecked_into();
266266

267267
let status = Status { collating_for: Some((account_id.clone(), 5.into())) };
268268

269269
{
270270
let mut ctx = TestContext::default();
271-
protocol.on_connect(&mut ctx, who, make_status(&status, Roles::NONE));
271+
protocol.on_connect(&mut ctx, who.clone(), make_status(&status, Roles::NONE));
272272
}
273273

274274
{
@@ -296,30 +296,30 @@ fn many_session_keys() {
296296

297297
assert_eq!(protocol.live_consensus.recent_keys(), &[local_key_a.clone(), local_key_b.clone()]);
298298

299-
let peer_a = 1;
299+
let peer_a = PeerId::random();
300300

301301
// when connecting a peer, we should get both those keys.
302302
{
303303
let mut ctx = TestContext::default();
304304

305305
let status = Status { collating_for: None };
306-
protocol.on_connect(&mut ctx, peer_a, make_status(&status, Roles::AUTHORITY));
306+
protocol.on_connect(&mut ctx, peer_a.clone(), make_status(&status, Roles::AUTHORITY));
307307

308-
assert!(ctx.has_message(peer_a, Message::SessionKey(local_key_a.clone())));
308+
assert!(ctx.has_message(peer_a.clone(), Message::SessionKey(local_key_a.clone())));
309309
assert!(ctx.has_message(peer_a, Message::SessionKey(local_key_b.clone())));
310310
}
311311

312-
let peer_b = 2;
312+
let peer_b = PeerId::random();
313313

314314
protocol.remove_consensus(&parent_a);
315315

316316
{
317317
let mut ctx = TestContext::default();
318318

319319
let status = Status { collating_for: None };
320-
protocol.on_connect(&mut ctx, peer_b, make_status(&status, Roles::AUTHORITY));
320+
protocol.on_connect(&mut ctx, peer_b.clone(), make_status(&status, Roles::AUTHORITY));
321321

322-
assert!(!ctx.has_message(peer_b, Message::SessionKey(local_key_a.clone())));
322+
assert!(!ctx.has_message(peer_b.clone(), Message::SessionKey(local_key_a.clone())));
323323
assert!(ctx.has_message(peer_b, Message::SessionKey(local_key_b.clone())));
324324
}
325325
}

0 commit comments

Comments
 (0)