@@ -2,7 +2,7 @@ package io.iohk.ethereum.blockchain.sync
2
2
3
3
import java .net .InetSocketAddress
4
4
5
- import akka .actor .{ActorSystem , Props }
5
+ import akka .actor .{ActorRef , ActorSystem , Props }
6
6
import akka .testkit .{TestActorRef , TestProbe }
7
7
import akka .util .ByteString
8
8
import com .miguno .akka .testing .VirtualTime
@@ -74,17 +74,16 @@ class SyncControllerSpec extends FlatSpec with Matchers {
74
74
storagesInstance.storages.appStateStorage.putBestBlockNumber(targetBlockHeader.number)
75
75
76
76
peerMessageBus.expectMsg(Unsubscribe (MessageClassifier (Set (BlockHeaders .code), PeerSelector .WithId (peer2.id))))
77
- etcPeerManager.expectMsg(EtcPeerManagerActor .SendMessage (GetBlockHeaders (Left (1 ), 10 , 0 , reverse = false ), peer1 .id))
78
- peerMessageBus.expectMsg(Subscribe (MessageClassifier (Set (BlockHeaders .code), PeerSelector .WithId (peer1 .id))))
77
+ etcPeerManager.expectMsg(EtcPeerManagerActor .SendMessage (GetBlockHeaders (Left (1 ), 10 , 0 , reverse = false ), peer2 .id))
78
+ peerMessageBus.expectMsg(Subscribe (MessageClassifier (Set (BlockHeaders .code), PeerSelector .WithId (peer2 .id))))
79
79
80
- val blockHeadersRequestHandler = peerMessageBus.sender()
80
+ val blockHeadersRequestHandler : ActorRef = peerMessageBus.sender()
81
81
peerMessageBus.send(syncController, PeerDisconnected (peer1.id))
82
82
peerMessageBus.send(blockHeadersRequestHandler, PeerDisconnected (peer1.id))
83
83
84
- etcPeerManager.expectMsg(EtcPeerManagerActor .SendMessage (GetNodeData (Seq (targetBlockHeader.stateRoot)), peer2.id))
85
- peerMessageBus.expectMsgAllOf(
86
- Unsubscribe (MessageClassifier (Set (BlockHeaders .code), PeerSelector .WithId (peer1.id))),
87
- Subscribe (MessageClassifier (Set (NodeData .code), PeerSelector .WithId (peer2.id))))
84
+ etcPeerManager.expectMsg(EtcPeerManagerActor .SendMessage (GetNodeData (Seq (targetBlockHeader.stateRoot)), peer1.id))
85
+ peerMessageBus.expectMsg(Subscribe (MessageClassifier (Set (NodeData .code), PeerSelector .WithId (peer1.id))))
86
+ peerMessageBus.expectNoMsg()
88
87
}
89
88
90
89
it should " download target block, request state, blocks and finish when downloaded" in new TestSetup () {
@@ -109,6 +108,18 @@ class SyncControllerSpec extends FlatSpec with Matchers {
109
108
110
109
syncController ! SyncController .StartSync
111
110
111
+ val stateMptLeafWithAccount =
112
+ ByteString (Hex .decode(" f86d9e328415c225a782bb339b22acad1c739e42277bc7ef34de3623114997ce78b84cf84a0186cb7d8738d800a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470" ))
113
+
114
+ val watcher = TestProbe ()
115
+ watcher.watch(syncController)
116
+
117
+ etcPeerManager.expectMsg(
118
+ EtcPeerManagerActor .SendMessage (GetNodeData (Seq (targetBlockHeader.stateRoot)), peer2.id))
119
+ peerMessageBus.expectMsg(Subscribe (MessageClassifier (Set (NodeData .code), PeerSelector .WithId (peer2.id))))
120
+ peerMessageBus.reply(MessageFromPeer (NodeData (Seq (stateMptLeafWithAccount)), peer2.id))
121
+ peerMessageBus.expectMsg(Unsubscribe (MessageClassifier (Set (NodeData .code), PeerSelector .WithId (peer2.id))))
122
+
112
123
etcPeerManager.expectMsg(EtcPeerManagerActor .SendMessage (
113
124
GetBlockHeaders (Left (targetBlockHeader.number), expectedTargetBlock - bestBlockHeaderNumber, 0 , reverse = false ),
114
125
peer2.id))
@@ -128,18 +139,6 @@ class SyncControllerSpec extends FlatSpec with Matchers {
128
139
peerMessageBus.reply(MessageFromPeer (BlockBodies (Seq (BlockBody (Nil , Nil ))), peer2.id))
129
140
peerMessageBus.expectMsg(Unsubscribe (MessageClassifier (Set (BlockBodies .code), PeerSelector .WithId (peer2.id))))
130
141
131
- val stateMptLeafWithAccount =
132
- ByteString (Hex .decode(" f86d9e328415c225a782bb339b22acad1c739e42277bc7ef34de3623114997ce78b84cf84a0186cb7d8738d800a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470" ))
133
-
134
- val watcher = TestProbe ()
135
- watcher.watch(syncController)
136
-
137
- etcPeerManager.expectMsg(
138
- EtcPeerManagerActor .SendMessage (GetNodeData (Seq (targetBlockHeader.stateRoot)), peer2.id))
139
- peerMessageBus.expectMsg(Subscribe (MessageClassifier (Set (NodeData .code), PeerSelector .WithId (peer2.id))))
140
- peerMessageBus.reply(MessageFromPeer (NodeData (Seq (stateMptLeafWithAccount)), peer2.id))
141
- peerMessageBus.expectMsg(Unsubscribe (MessageClassifier (Set (NodeData .code), PeerSelector .WithId (peer2.id))))
142
-
143
142
// switch to regular download
144
143
etcPeerManager.expectMsg(EtcPeerManagerActor .SendMessage (
145
144
GetBlockHeaders (Left (targetBlockHeader.number + 1 ), Config .Sync .blockHeadersPerRequest, 0 , reverse = false ),
0 commit comments