@@ -3,9 +3,10 @@ package blockpresencemanager
3
3
import (
4
4
"testing"
5
5
6
- "github.com/ipfs/boxo/bitswap/internal/testutil"
7
6
cid "github.com/ipfs/go-cid"
7
+ "github.com/ipfs/go-test/random"
8
8
peer "github.com/libp2p/go-libp2p/core/peer"
9
+ "github.com/stretchr/testify/require"
9
10
)
10
11
11
12
const (
@@ -18,111 +19,72 @@ const (
18
19
func TestBlockPresenceManager (t * testing.T ) {
19
20
bpm := New ()
20
21
21
- p := testutil . GeneratePeers (1 )[0 ]
22
- cids := testutil . GenerateCids (2 )
22
+ p := random . Peers (1 )[0 ]
23
+ cids := random . Cids (2 )
23
24
c0 := cids [0 ]
24
25
c1 := cids [1 ]
25
26
26
27
// Nothing stored yet, both PeerHasBlock and PeerDoesNotHaveBlock should
27
28
// return false
28
- if bpm .PeerHasBlock (p , c0 ) {
29
- t .Fatal (expHasFalseMsg )
30
- }
31
- if bpm .PeerDoesNotHaveBlock (p , c0 ) {
32
- t .Fatal (expDoesNotHaveFalseMsg )
33
- }
29
+ require .False (t , bpm .PeerHasBlock (p , c0 ), expHasFalseMsg )
30
+ require .False (t , bpm .PeerDoesNotHaveBlock (p , c0 ), expDoesNotHaveFalseMsg )
34
31
35
32
// HAVE cid0 / DONT_HAVE cid1
36
33
bpm .ReceiveFrom (p , []cid.Cid {c0 }, []cid.Cid {c1 })
37
34
38
35
// Peer has received HAVE for cid0
39
- if ! bpm .PeerHasBlock (p , c0 ) {
40
- t .Fatal (expHasTrueMsg )
41
- }
42
- if bpm .PeerDoesNotHaveBlock (p , c0 ) {
43
- t .Fatal (expDoesNotHaveFalseMsg )
44
- }
36
+ require .True (t , bpm .PeerHasBlock (p , c0 ), expHasTrueMsg )
37
+ require .False (t , bpm .PeerDoesNotHaveBlock (p , c0 ), expDoesNotHaveFalseMsg )
45
38
46
39
// Peer has received DONT_HAVE for cid1
47
- if ! bpm .PeerDoesNotHaveBlock (p , c1 ) {
48
- t .Fatal (expDoesNotHaveTrueMsg )
49
- }
50
- if bpm .PeerHasBlock (p , c1 ) {
51
- t .Fatal (expHasFalseMsg )
52
- }
40
+ require .True (t , bpm .PeerDoesNotHaveBlock (p , c1 ), expDoesNotHaveTrueMsg )
41
+ require .False (t , bpm .PeerHasBlock (p , c1 ), expHasFalseMsg )
53
42
54
43
// HAVE cid1 / DONT_HAVE cid0
55
44
bpm .ReceiveFrom (p , []cid.Cid {c1 }, []cid.Cid {c0 })
56
45
57
46
// DONT_HAVE cid0 should NOT over-write earlier HAVE cid0
58
- if bpm .PeerDoesNotHaveBlock (p , c0 ) {
59
- t .Fatal (expDoesNotHaveFalseMsg )
60
- }
61
- if ! bpm .PeerHasBlock (p , c0 ) {
62
- t .Fatal (expHasTrueMsg )
63
- }
47
+ require .False (t , bpm .PeerDoesNotHaveBlock (p , c0 ), expDoesNotHaveFalseMsg )
48
+ require .True (t , bpm .PeerHasBlock (p , c0 ), expHasTrueMsg )
64
49
65
50
// HAVE cid1 should over-write earlier DONT_HAVE cid1
66
- if ! bpm .PeerHasBlock (p , c1 ) {
67
- t .Fatal (expHasTrueMsg )
68
- }
69
- if bpm .PeerDoesNotHaveBlock (p , c1 ) {
70
- t .Fatal (expDoesNotHaveFalseMsg )
71
- }
51
+ require .True (t , bpm .PeerHasBlock (p , c1 ), expHasTrueMsg )
52
+ require .False (t , bpm .PeerDoesNotHaveBlock (p , c1 ), expDoesNotHaveFalseMsg )
72
53
73
54
// Remove cid0
74
55
bpm .RemoveKeys ([]cid.Cid {c0 })
75
56
76
57
// Nothing stored, both PeerHasBlock and PeerDoesNotHaveBlock should
77
58
// return false
78
- if bpm .PeerHasBlock (p , c0 ) {
79
- t .Fatal (expHasFalseMsg )
80
- }
81
- if bpm .PeerDoesNotHaveBlock (p , c0 ) {
82
- t .Fatal (expDoesNotHaveFalseMsg )
83
- }
59
+ require .False (t , bpm .PeerHasBlock (p , c0 ), expHasFalseMsg )
60
+ require .False (t , bpm .PeerDoesNotHaveBlock (p , c0 ), expDoesNotHaveFalseMsg )
84
61
85
62
// Remove cid1
86
63
bpm .RemoveKeys ([]cid.Cid {c1 })
87
64
88
65
// Nothing stored, both PeerHasBlock and PeerDoesNotHaveBlock should
89
66
// return false
90
- if bpm .PeerHasBlock (p , c1 ) {
91
- t .Fatal (expHasFalseMsg )
92
- }
93
- if bpm .PeerDoesNotHaveBlock (p , c1 ) {
94
- t .Fatal (expDoesNotHaveFalseMsg )
95
- }
67
+ require .False (t , bpm .PeerHasBlock (p , c1 ), expHasFalseMsg )
68
+ require .False (t , bpm .PeerDoesNotHaveBlock (p , c1 ), expDoesNotHaveFalseMsg )
96
69
97
70
bpm .ReceiveFrom (p , []cid.Cid {c0 }, []cid.Cid {c1 })
98
- if ! bpm .PeerHasBlock (p , c0 ) {
99
- t .Fatal (expHasTrueMsg )
100
- }
101
- if ! bpm .PeerDoesNotHaveBlock (p , c1 ) {
102
- t .Fatal (expDoesNotHaveTrueMsg )
103
- }
71
+ require .True (t , bpm .PeerHasBlock (p , c0 ), expHasTrueMsg )
72
+ require .True (t , bpm .PeerDoesNotHaveBlock (p , c1 ), expDoesNotHaveTrueMsg )
73
+
104
74
bpm .RemovePeer (p )
105
- if bpm .PeerHasBlock (p , c0 ) {
106
- t .Fatal (expHasFalseMsg )
107
- }
108
- if bpm .PeerDoesNotHaveBlock (p , c0 ) {
109
- t .Fatal (expDoesNotHaveFalseMsg )
110
- }
111
- if bpm .PeerHasBlock (p , c1 ) {
112
- t .Fatal (expHasFalseMsg )
113
- }
114
- if bpm .PeerDoesNotHaveBlock (p , c1 ) {
115
- t .Fatal (expDoesNotHaveFalseMsg )
116
- }
75
+ require .False (t , bpm .PeerHasBlock (p , c0 ), expHasFalseMsg )
76
+ require .False (t , bpm .PeerDoesNotHaveBlock (p , c0 ), expDoesNotHaveFalseMsg )
77
+ require .False (t , bpm .PeerHasBlock (p , c1 ), expHasFalseMsg )
78
+ require .False (t , bpm .PeerDoesNotHaveBlock (p , c1 ), expDoesNotHaveFalseMsg )
117
79
}
118
80
119
81
func TestAddRemoveMulti (t * testing.T ) {
120
82
bpm := New ()
121
83
122
- peers := testutil . GeneratePeers (2 )
84
+ peers := random . Peers (2 )
123
85
p0 := peers [0 ]
124
86
p1 := peers [1 ]
125
- cids := testutil . GenerateCids (3 )
87
+ cids := random . Cids (3 )
126
88
c0 := cids [0 ]
127
89
c1 := cids [1 ]
128
90
c2 := cids [2 ]
@@ -136,78 +98,46 @@ func TestAddRemoveMulti(t *testing.T) {
136
98
// - HAVE cid0
137
99
// - HAVE cid1
138
100
// - DONT_HAVE cid2
139
- if ! bpm .PeerHasBlock (p0 , c0 ) {
140
- t .Fatal (expHasTrueMsg )
141
- }
142
- if ! bpm .PeerHasBlock (p0 , c1 ) {
143
- t .Fatal (expHasTrueMsg )
144
- }
145
- if ! bpm .PeerDoesNotHaveBlock (p0 , c2 ) {
146
- t .Fatal (expDoesNotHaveTrueMsg )
147
- }
101
+ require .True (t , bpm .PeerHasBlock (p0 , c0 ), expHasTrueMsg )
102
+ require .True (t , bpm .PeerHasBlock (p0 , c1 ), expHasTrueMsg )
103
+ require .True (t , bpm .PeerDoesNotHaveBlock (p0 , c2 ), expDoesNotHaveTrueMsg )
148
104
149
105
// Peer 1 should end up with
150
106
// - HAVE cid1
151
107
// - HAVE cid2
152
108
// - DONT_HAVE cid0
153
- if ! bpm .PeerHasBlock (p1 , c1 ) {
154
- t .Fatal (expHasTrueMsg )
155
- }
156
- if ! bpm .PeerHasBlock (p1 , c2 ) {
157
- t .Fatal (expHasTrueMsg )
158
- }
159
- if ! bpm .PeerDoesNotHaveBlock (p1 , c0 ) {
160
- t .Fatal (expDoesNotHaveTrueMsg )
161
- }
109
+ require .True (t , bpm .PeerHasBlock (p1 , c1 ), expHasTrueMsg )
110
+ require .True (t , bpm .PeerHasBlock (p1 , c2 ), expHasTrueMsg )
111
+ require .True (t , bpm .PeerDoesNotHaveBlock (p1 , c0 ), expDoesNotHaveTrueMsg )
162
112
163
113
// Remove cid1 and cid2. Should end up with
164
114
// Peer 0: HAVE cid0
165
115
// Peer 1: DONT_HAVE cid0
166
116
bpm .RemoveKeys ([]cid.Cid {c1 , c2 })
167
- if ! bpm .PeerHasBlock (p0 , c0 ) {
168
- t .Fatal (expHasTrueMsg )
169
- }
170
- if ! bpm .PeerDoesNotHaveBlock (p1 , c0 ) {
171
- t .Fatal (expDoesNotHaveTrueMsg )
172
- }
117
+ require .True (t , bpm .PeerHasBlock (p0 , c0 ), expHasTrueMsg )
118
+ require .True (t , bpm .PeerDoesNotHaveBlock (p1 , c0 ), expDoesNotHaveTrueMsg )
173
119
174
120
// The other keys should have been cleared, so both HasBlock() and
175
121
// DoesNotHaveBlock() should return false
176
- if bpm .PeerHasBlock (p0 , c1 ) {
177
- t .Fatal (expHasFalseMsg )
178
- }
179
- if bpm .PeerDoesNotHaveBlock (p0 , c1 ) {
180
- t .Fatal (expDoesNotHaveFalseMsg )
181
- }
182
- if bpm .PeerHasBlock (p0 , c2 ) {
183
- t .Fatal (expHasFalseMsg )
184
- }
185
- if bpm .PeerDoesNotHaveBlock (p0 , c2 ) {
186
- t .Fatal (expDoesNotHaveFalseMsg )
187
- }
188
- if bpm .PeerHasBlock (p1 , c1 ) {
189
- t .Fatal (expHasFalseMsg )
190
- }
191
- if bpm .PeerDoesNotHaveBlock (p1 , c1 ) {
192
- t .Fatal (expDoesNotHaveFalseMsg )
193
- }
194
- if bpm .PeerHasBlock (p1 , c2 ) {
195
- t .Fatal (expHasFalseMsg )
196
- }
197
- if bpm .PeerDoesNotHaveBlock (p1 , c2 ) {
198
- t .Fatal (expDoesNotHaveFalseMsg )
199
- }
122
+ require .False (t , bpm .PeerHasBlock (p0 , c1 ), expHasFalseMsg )
123
+ require .False (t , bpm .PeerDoesNotHaveBlock (p0 , c1 ), expDoesNotHaveFalseMsg )
124
+ require .False (t , bpm .PeerHasBlock (p0 , c2 ), expHasFalseMsg )
125
+ require .False (t , bpm .PeerDoesNotHaveBlock (p0 , c2 ), expDoesNotHaveFalseMsg )
126
+ require .False (t , bpm .PeerHasBlock (p1 , c1 ), expHasFalseMsg )
127
+ require .False (t , bpm .PeerDoesNotHaveBlock (p1 , c1 ), expDoesNotHaveFalseMsg )
128
+ require .False (t , bpm .PeerHasBlock (p1 , c2 ), expHasFalseMsg )
129
+ require .False (t , bpm .PeerDoesNotHaveBlock (p1 , c2 ), expDoesNotHaveFalseMsg )
200
130
}
201
131
202
132
func TestAllPeersDoNotHaveBlock (t * testing.T ) {
203
133
bpm := New ()
204
134
205
- peers := testutil . GeneratePeers (3 )
135
+ peers := random . Peers (3 )
206
136
p0 := peers [0 ]
207
137
p1 := peers [1 ]
208
138
p2 := peers [2 ]
209
139
210
- cids := testutil . GenerateCids (3 )
140
+ cids := random . Cids (3 )
211
141
c0 := cids [0 ]
212
142
c1 := cids [1 ]
213
143
c2 := cids [2 ]
@@ -248,11 +178,7 @@ func TestAllPeersDoNotHaveBlock(t *testing.T) {
248
178
}
249
179
250
180
for i , tc := range testcases {
251
- if ! testutil .MatchKeysIgnoreOrder (
252
- bpm .AllPeersDoNotHaveBlock (tc .peers , tc .ks ),
253
- tc .exp ,
254
- ) {
255
- t .Fatalf ("test case %d failed: expected matching keys" , i )
256
- }
181
+ require .ElementsMatchf (t , bpm .AllPeersDoNotHaveBlock (tc .peers , tc .ks ), tc .exp ,
182
+ "test case %d failed: expected matching keys" , i )
257
183
}
258
184
}
0 commit comments