Skip to content

Commit 5d5574e

Browse files
committed
Merge branch 'main' into A0-1635-jolmen
2 parents 80e9cbb + 4d8ca62 commit 5d5574e

File tree

15 files changed

+354
-386
lines changed

15 files changed

+354
-386
lines changed

finality-aleph/src/network/manager/compatibility.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,11 +140,11 @@ mod test {
140140
crypto::AuthorityVerifier,
141141
network::{
142142
manager::{compatibility::MAX_AUTHENTICATION_SIZE, SessionHandler},
143-
mock::MockMultiaddress,
144143
NetworkIdentity,
145144
},
146145
nodes::testing::new_pen,
147146
tcp_network::{testing::new_identity, TcpMultiaddress},
147+
testing::mocks::validator_network::MockMultiaddress,
148148
NodeIndex, SessionId, Version,
149149
};
150150

finality-aleph/src/network/manager/connections.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,13 @@ mod tests {
5656
use std::collections::HashSet;
5757

5858
use super::Connections;
59-
use crate::{network::mock::MockPeerId, SessionId};
59+
use crate::{
60+
validator_network::mock::{random_keys, MockPublicKey},
61+
SessionId,
62+
};
6063

61-
fn random_peer_ids(num: usize) -> HashSet<MockPeerId> {
62-
(0..num).map(|_| MockPeerId::random()).collect()
64+
fn random_peer_ids(num: usize) -> HashSet<MockPublicKey> {
65+
random_keys(num).into_keys().collect()
6366
}
6467

6568
#[test]

finality-aleph/src/network/manager/discovery.rs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -136,9 +136,9 @@ mod tests {
136136

137137
use super::{Discovery, DiscoveryMessage};
138138
use crate::{
139-
network::{
140-
manager::SessionHandler,
141-
mock::{crypto_basics, MockMultiaddress, MockPeerId},
139+
network::{manager::SessionHandler, mock::crypto_basics},
140+
testing::mocks::validator_network::{
141+
random_identity, random_multiaddress, MockMultiaddress,
142142
},
143143
SessionId,
144144
};
@@ -147,9 +147,7 @@ mod tests {
147147
const MS_COOLDOWN: u64 = 200;
148148

149149
fn addresses() -> Vec<MockMultiaddress> {
150-
(0..NUM_NODES)
151-
.map(|_| MockMultiaddress::random_with_id(MockPeerId::random()))
152-
.collect()
150+
(0..NUM_NODES).map(|_| random_multiaddress()).collect()
153151
}
154152

155153
async fn build_number(
@@ -177,7 +175,7 @@ mod tests {
177175
None,
178176
crypto_basics.1.clone(),
179177
SessionId(43),
180-
vec![MockMultiaddress::random_with_id(MockPeerId::random())],
178+
random_identity().0,
181179
)
182180
.await
183181
.unwrap();

finality-aleph/src/network/manager/session.rs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -275,9 +275,10 @@ mod tests {
275275
use super::{get_common_peer_id, Handler, HandlerError};
276276
use crate::{
277277
network::{
278-
mock::{crypto_basics, MockMultiaddress, MockNetworkIdentity, MockPeerId},
278+
mock::{crypto_basics, MockNetworkIdentity},
279279
NetworkIdentity,
280280
},
281+
testing::mocks::validator_network::{random_multiaddress, MockMultiaddress},
281282
NodeIndex, SessionId,
282283
};
283284

@@ -378,10 +379,7 @@ mod tests {
378379
#[tokio::test]
379380
async fn fails_to_create_with_non_unique_peer_id() {
380381
let mut crypto_basics = crypto_basics(NUM_NODES).await;
381-
let addresses = vec![
382-
MockMultiaddress::random_with_id(MockPeerId::random()),
383-
MockMultiaddress::random_with_id(MockPeerId::random()),
384-
];
382+
let addresses = vec![random_multiaddress(), random_multiaddress()];
385383
assert!(matches!(
386384
Handler::new(
387385
Some(crypto_basics.0.pop().unwrap()),

finality-aleph/src/network/mock.rs

Lines changed: 16 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -7,98 +7,43 @@ use std::{
77

88
use aleph_primitives::KEY_TYPE;
99
use async_trait::async_trait;
10-
use codec::{Decode, Encode};
1110
use futures::{
1211
channel::{mpsc, oneshot},
1312
StreamExt,
1413
};
1514
use parking_lot::Mutex;
16-
use rand::random;
1715
use sp_keystore::{testing::KeyStore, CryptoStore};
1816
use tokio::time::timeout;
1917

2018
use crate::{
2119
crypto::{AuthorityPen, AuthorityVerifier},
2220
network::{
2321
manager::VersionedAuthentication, AddressedData, ConnectionCommand, Event, EventStream,
24-
Multiaddress, Network, NetworkIdentity, NetworkSender, NetworkServiceIO, PeerId, Protocol,
22+
Multiaddress, Network, NetworkIdentity, NetworkSender, NetworkServiceIO, Protocol,
2523
},
24+
testing::mocks::validator_network::{random_identity, MockMultiaddress},
25+
validator_network::mock::MockPublicKey,
2626
AuthorityId, NodeIndex,
2727
};
2828

29-
#[derive(PartialEq, Eq, Copy, Clone, Debug, Hash, Encode, Decode)]
30-
pub struct MockPeerId(u32);
31-
32-
impl MockPeerId {
33-
pub fn random() -> Self {
34-
MockPeerId(random())
35-
}
36-
}
37-
impl fmt::Display for MockPeerId {
38-
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
39-
write!(f, "{}", self.0)
40-
}
41-
}
42-
43-
impl PeerId for MockPeerId {}
44-
45-
#[derive(PartialEq, Eq, Clone, Debug, Hash, Encode, Decode)]
46-
pub struct MockMultiaddress {
47-
peer_id: Option<MockPeerId>,
48-
address: u32,
49-
}
50-
51-
impl MockMultiaddress {
52-
pub fn random_with_id(peer_id: MockPeerId) -> Self {
53-
MockMultiaddress {
54-
peer_id: Some(peer_id),
55-
address: random(),
56-
}
57-
}
58-
}
59-
60-
impl Multiaddress for MockMultiaddress {
61-
type PeerId = MockPeerId;
62-
63-
fn get_peer_id(&self) -> Option<Self::PeerId> {
64-
self.peer_id
65-
}
66-
67-
fn add_matching_peer_id(mut self, peer_id: Self::PeerId) -> Option<Self> {
68-
match self.peer_id {
69-
Some(old_peer_id) => match old_peer_id == peer_id {
70-
true => Some(self),
71-
false => None,
72-
},
73-
None => {
74-
self.peer_id = Some(peer_id);
75-
Some(self)
76-
}
77-
}
78-
}
79-
}
80-
8129
pub struct MockNetworkIdentity {
8230
addresses: Vec<MockMultiaddress>,
83-
peer_id: MockPeerId,
31+
peer_id: MockPublicKey,
8432
}
8533

8634
impl MockNetworkIdentity {
8735
pub fn new() -> Self {
88-
let peer_id = MockPeerId::random();
89-
let addresses = (0..3)
90-
.map(|_| MockMultiaddress::random_with_id(peer_id))
91-
.collect();
36+
let (addresses, peer_id) = random_identity();
9237
MockNetworkIdentity { addresses, peer_id }
9338
}
9439
}
9540

9641
impl NetworkIdentity for MockNetworkIdentity {
97-
type PeerId = MockPeerId;
42+
type PeerId = MockPublicKey;
9843
type Multiaddress = MockMultiaddress;
9944

10045
fn identity(&self) -> (Vec<Self::Multiaddress>, Self::PeerId) {
101-
(self.addresses.clone(), self.peer_id)
46+
(self.addresses.clone(), self.peer_id.clone())
10247
}
10348
}
10449

@@ -133,7 +78,7 @@ impl<T> Channel<T> {
13378
self.1.lock().await.by_ref().take(n).collect::<Vec<_>>(),
13479
)
13580
.await
136-
.unwrap_or(Vec::new())
81+
.unwrap_or_default()
13782
}
13883

13984
pub async fn try_next(&self) -> Option<T> {
@@ -152,7 +97,7 @@ impl<T> Default for Channel<T> {
15297
}
15398
}
15499

155-
pub type MockEvent = Event<MockMultiaddress, MockPeerId>;
100+
pub type MockEvent = Event<MockMultiaddress, MockPublicKey>;
156101

157102
pub type MockData = Vec<u8>;
158103

@@ -196,15 +141,15 @@ impl<M: Multiaddress + 'static> MockIO<M> {
196141
pub struct MockEventStream(mpsc::UnboundedReceiver<MockEvent>);
197142

198143
#[async_trait]
199-
impl EventStream<MockMultiaddress, MockPeerId> for MockEventStream {
144+
impl EventStream<MockMultiaddress, MockPublicKey> for MockEventStream {
200145
async fn next_event(&mut self) -> Option<MockEvent> {
201146
self.0.next().await
202147
}
203148
}
204149

205150
pub struct MockNetworkSender {
206-
sender: mpsc::UnboundedSender<(Vec<u8>, MockPeerId, Protocol)>,
207-
peer_id: MockPeerId,
151+
sender: mpsc::UnboundedSender<(Vec<u8>, MockPublicKey, Protocol)>,
152+
peer_id: MockPublicKey,
208153
protocol: Protocol,
209154
error: Result<(), MockSenderError>,
210155
}
@@ -219,7 +164,7 @@ impl NetworkSender for MockNetworkSender {
219164
) -> Result<(), MockSenderError> {
220165
self.error?;
221166
self.sender
222-
.unbounded_send((data.into(), self.peer_id, self.protocol))
167+
.unbounded_send((data.into(), self.peer_id.clone(), self.protocol))
223168
.unwrap();
224169
Ok(())
225170
}
@@ -228,8 +173,8 @@ impl NetworkSender for MockNetworkSender {
228173
#[derive(Clone)]
229174
pub struct MockNetwork {
230175
pub add_reserved: Channel<(HashSet<MockMultiaddress>, Protocol)>,
231-
pub remove_reserved: Channel<(HashSet<MockPeerId>, Protocol)>,
232-
pub send_message: Channel<(Vec<u8>, MockPeerId, Protocol)>,
176+
pub remove_reserved: Channel<(HashSet<MockPublicKey>, Protocol)>,
177+
pub send_message: Channel<(Vec<u8>, MockPublicKey, Protocol)>,
233178
pub event_sinks: Arc<Mutex<Vec<mpsc::UnboundedSender<MockEvent>>>>,
234179
event_stream_taken_oneshot: Arc<Mutex<Option<oneshot::Sender<()>>>>,
235180
pub create_sender_errors: Arc<Mutex<VecDeque<MockSenderError>>>,
@@ -256,7 +201,7 @@ impl std::error::Error for MockSenderError {}
256201
impl Network for MockNetwork {
257202
type SenderError = MockSenderError;
258203
type NetworkSender = MockNetworkSender;
259-
type PeerId = MockPeerId;
204+
type PeerId = MockPublicKey;
260205
type Multiaddress = MockMultiaddress;
261206
type EventStream = MockEventStream;
262207

0 commit comments

Comments
 (0)