@@ -92,18 +92,37 @@ func makeSignedConfigurationItem(id, modificationPolicy string, lastModified uin
92
92
func TestOmittedHandler (t * testing.T ) {
93
93
_ , err := NewManagerImpl (& cb.ConfigurationEnvelope {
94
94
Items : []* cb.SignedConfigurationItem {makeSignedConfigurationItem ("foo" , "foo" , 0 , []byte ("foo" ), defaultChain )},
95
- }, & mockconfigtx.Initializer {PolicyManagerVal : & mockPolicyManager {& mockPolicy {}}, HandlersVal : map [cb.ConfigurationItem_ConfigurationType ]Handler {}})
95
+ }, & mockconfigtx.Initializer {PolicyManagerVal : & mockPolicyManager {& mockPolicy {}}, HandlersVal : map [cb.ConfigurationItem_ConfigurationType ]Handler {}}, nil )
96
96
97
97
if err == nil {
98
98
t .Fatal ("Should have failed to construct manager because handlers were missing" )
99
99
}
100
100
}
101
101
102
+ func TestCallback (t * testing.T ) {
103
+ var calledBack Manager
104
+ callback := func (m Manager ) {
105
+ calledBack = m
106
+ }
107
+
108
+ cm , err := NewManagerImpl (& cb.ConfigurationEnvelope {
109
+ Items : []* cb.SignedConfigurationItem {makeSignedConfigurationItem ("foo" , "foo" , 0 , []byte ("foo" ), defaultChain )},
110
+ }, & mockconfigtx.Initializer {PolicyManagerVal : & mockPolicyManager {& mockPolicy {}}, HandlersVal : defaultHandlers ()}, []func (Manager ){callback })
111
+
112
+ if err != nil {
113
+ t .Fatalf ("Error constructing configuration manager: %s" , err )
114
+ }
115
+
116
+ if calledBack != cm {
117
+ t .Fatalf ("Should have called back with the correct manager" )
118
+ }
119
+ }
120
+
102
121
// TestWrongChainID tests that a configuration update for a different chain ID fails
103
122
func TestWrongChainID (t * testing.T ) {
104
123
cm , err := NewManagerImpl (& cb.ConfigurationEnvelope {
105
124
Items : []* cb.SignedConfigurationItem {makeSignedConfigurationItem ("foo" , "foo" , 0 , []byte ("foo" ), defaultChain )},
106
- }, & mockconfigtx.Initializer {PolicyManagerVal : & mockPolicyManager {& mockPolicy {}}, HandlersVal : defaultHandlers ()})
125
+ }, & mockconfigtx.Initializer {PolicyManagerVal : & mockPolicyManager {& mockPolicy {}}, HandlersVal : defaultHandlers ()}, nil )
107
126
108
127
if err != nil {
109
128
t .Fatalf ("Error constructing configuration manager: %s" , err )
@@ -128,7 +147,7 @@ func TestWrongChainID(t *testing.T) {
128
147
func TestOldConfigReplay (t * testing.T ) {
129
148
cm , err := NewManagerImpl (& cb.ConfigurationEnvelope {
130
149
Items : []* cb.SignedConfigurationItem {makeSignedConfigurationItem ("foo" , "foo" , 0 , []byte ("foo" ), defaultChain )},
131
- }, & mockconfigtx.Initializer {PolicyManagerVal : & mockPolicyManager {& mockPolicy {}}, HandlersVal : defaultHandlers ()})
150
+ }, & mockconfigtx.Initializer {PolicyManagerVal : & mockPolicyManager {& mockPolicy {}}, HandlersVal : defaultHandlers ()}, nil )
132
151
133
152
if err != nil {
134
153
t .Fatalf ("Error constructing configuration manager: %s" , err )
@@ -155,7 +174,7 @@ func TestInvalidInitialConfigByStructure(t *testing.T) {
155
174
entries [0 ].ConfigurationItem = []byte ("Corrupted" )
156
175
_ , err := NewManagerImpl (& cb.ConfigurationEnvelope {
157
176
Items : entries ,
158
- }, & mockconfigtx.Initializer {PolicyManagerVal : & mockPolicyManager {& mockPolicy {}}, HandlersVal : defaultHandlers ()})
177
+ }, & mockconfigtx.Initializer {PolicyManagerVal : & mockPolicyManager {& mockPolicy {}}, HandlersVal : defaultHandlers ()}, nil )
159
178
160
179
if err == nil {
161
180
t .Fatal ("Should have failed to construct configuration by policy" )
@@ -166,7 +185,7 @@ func TestInvalidInitialConfigByStructure(t *testing.T) {
166
185
func TestValidConfigChange (t * testing.T ) {
167
186
cm , err := NewManagerImpl (& cb.ConfigurationEnvelope {
168
187
Items : []* cb.SignedConfigurationItem {makeSignedConfigurationItem ("foo" , "foo" , 0 , []byte ("foo" ), defaultChain )},
169
- }, & mockconfigtx.Initializer {PolicyManagerVal : & mockPolicyManager {& mockPolicy {}}, HandlersVal : defaultHandlers ()})
188
+ }, & mockconfigtx.Initializer {PolicyManagerVal : & mockPolicyManager {& mockPolicy {}}, HandlersVal : defaultHandlers ()}, nil )
170
189
171
190
if err != nil {
172
191
t .Fatalf ("Error constructing configuration manager: %s" , err )
@@ -192,7 +211,7 @@ func TestValidConfigChange(t *testing.T) {
192
211
func TestConfigChangeRegressedSequence (t * testing.T ) {
193
212
cm , err := NewManagerImpl (& cb.ConfigurationEnvelope {
194
213
Items : []* cb.SignedConfigurationItem {makeSignedConfigurationItem ("foo" , "foo" , 1 , []byte ("foo" ), defaultChain )},
195
- }, & mockconfigtx.Initializer {PolicyManagerVal : & mockPolicyManager {& mockPolicy {}}, HandlersVal : defaultHandlers ()})
214
+ }, & mockconfigtx.Initializer {PolicyManagerVal : & mockPolicyManager {& mockPolicy {}}, HandlersVal : defaultHandlers ()}, nil )
196
215
197
216
if err != nil {
198
217
t .Fatalf ("Error constructing configuration manager: %s" , err )
@@ -221,7 +240,7 @@ func TestConfigChangeRegressedSequence(t *testing.T) {
221
240
func TestConfigChangeOldSequence (t * testing.T ) {
222
241
cm , err := NewManagerImpl (& cb.ConfigurationEnvelope {
223
242
Items : []* cb.SignedConfigurationItem {makeSignedConfigurationItem ("foo" , "foo" , 1 , []byte ("foo" ), defaultChain )},
224
- }, & mockconfigtx.Initializer {PolicyManagerVal : & mockPolicyManager {& mockPolicy {}}, HandlersVal : defaultHandlers ()})
243
+ }, & mockconfigtx.Initializer {PolicyManagerVal : & mockPolicyManager {& mockPolicy {}}, HandlersVal : defaultHandlers ()}, nil )
225
244
226
245
if err != nil {
227
246
t .Fatalf ("Error constructing configuration manager: %s" , err )
@@ -253,7 +272,7 @@ func TestConfigImplicitDelete(t *testing.T) {
253
272
makeSignedConfigurationItem ("foo" , "foo" , 0 , []byte ("foo" ), defaultChain ),
254
273
makeSignedConfigurationItem ("bar" , "bar" , 0 , []byte ("bar" ), defaultChain ),
255
274
},
256
- }, & mockconfigtx.Initializer {PolicyManagerVal : & mockPolicyManager {& mockPolicy {}}, HandlersVal : defaultHandlers ()})
275
+ }, & mockconfigtx.Initializer {PolicyManagerVal : & mockPolicyManager {& mockPolicy {}}, HandlersVal : defaultHandlers ()}, nil )
257
276
258
277
if err != nil {
259
278
t .Fatalf ("Error constructing configuration manager: %s" , err )
@@ -280,7 +299,7 @@ func TestConfigImplicitDelete(t *testing.T) {
280
299
func TestEmptyConfigUpdate (t * testing.T ) {
281
300
cm , err := NewManagerImpl (& cb.ConfigurationEnvelope {
282
301
Items : []* cb.SignedConfigurationItem {makeSignedConfigurationItem ("foo" , "foo" , 0 , []byte ("foo" ), defaultChain )},
283
- }, & mockconfigtx.Initializer {PolicyManagerVal : & mockPolicyManager {& mockPolicy {}}, HandlersVal : defaultHandlers ()})
302
+ }, & mockconfigtx.Initializer {PolicyManagerVal : & mockPolicyManager {& mockPolicy {}}, HandlersVal : defaultHandlers ()}, nil )
284
303
285
304
if err != nil {
286
305
t .Fatalf ("Error constructing configuration manager: %s" , err )
@@ -308,7 +327,7 @@ func TestSilentConfigModification(t *testing.T) {
308
327
makeSignedConfigurationItem ("foo" , "foo" , 0 , []byte ("foo" ), defaultChain ),
309
328
makeSignedConfigurationItem ("bar" , "bar" , 0 , []byte ("bar" ), defaultChain ),
310
329
},
311
- }, & mockconfigtx.Initializer {PolicyManagerVal : & mockPolicyManager {& mockPolicy {}}, HandlersVal : defaultHandlers ()})
330
+ }, & mockconfigtx.Initializer {PolicyManagerVal : & mockPolicyManager {& mockPolicy {}}, HandlersVal : defaultHandlers ()}, nil )
312
331
313
332
if err != nil {
314
333
t .Fatalf ("Error constructing configuration manager: %s" , err )
@@ -337,7 +356,7 @@ func TestSilentConfigModification(t *testing.T) {
337
356
func TestInvalidInitialConfigByPolicy (t * testing.T ) {
338
357
_ , err := NewManagerImpl (& cb.ConfigurationEnvelope {
339
358
Items : []* cb.SignedConfigurationItem {makeSignedConfigurationItem ("foo" , "foo" , 0 , []byte ("foo" ), defaultChain )},
340
- }, & mockconfigtx.Initializer {PolicyManagerVal : & mockPolicyManager {& mockPolicy {policyResult : fmt .Errorf ("err" )}}, HandlersVal : defaultHandlers ()})
359
+ }, & mockconfigtx.Initializer {PolicyManagerVal : & mockPolicyManager {& mockPolicy {policyResult : fmt .Errorf ("err" )}}, HandlersVal : defaultHandlers ()}, nil )
341
360
342
361
if err == nil {
343
362
t .Fatal ("Should have failed to construct configuration by policy" )
@@ -350,7 +369,7 @@ func TestConfigChangeViolatesPolicy(t *testing.T) {
350
369
mpm := & mockPolicyManager {}
351
370
cm , err := NewManagerImpl (& cb.ConfigurationEnvelope {
352
371
Items : []* cb.SignedConfigurationItem {makeSignedConfigurationItem ("foo" , "foo" , 0 , []byte ("foo" ), defaultChain )},
353
- }, & mockconfigtx.Initializer {PolicyManagerVal : mpm , HandlersVal : defaultHandlers ()})
372
+ }, & mockconfigtx.Initializer {PolicyManagerVal : mpm , HandlersVal : defaultHandlers ()}, nil )
354
373
355
374
if err != nil {
356
375
t .Fatalf ("Error constructing configuration manager: %s" , err )
@@ -379,7 +398,7 @@ func TestUnchangedConfigViolatesPolicy(t *testing.T) {
379
398
mpm := & mockPolicyManager {}
380
399
cm , err := NewManagerImpl (& cb.ConfigurationEnvelope {
381
400
Items : []* cb.SignedConfigurationItem {makeSignedConfigurationItem ("foo" , "foo" , 0 , []byte ("foo" ), defaultChain )},
382
- }, & mockconfigtx.Initializer {PolicyManagerVal : mpm , HandlersVal : defaultHandlers ()})
401
+ }, & mockconfigtx.Initializer {PolicyManagerVal : mpm , HandlersVal : defaultHandlers ()}, nil )
383
402
384
403
if err != nil {
385
404
t .Fatalf ("Error constructing configuration manager: %s" , err )
@@ -424,7 +443,7 @@ func TestInvalidProposal(t *testing.T) {
424
443
initializer := & mockconfigtx.Initializer {PolicyManagerVal : & mockPolicyManager {& mockPolicy {}}, HandlersVal : handlers }
425
444
cm , err := NewManagerImpl (& cb.ConfigurationEnvelope {
426
445
Items : []* cb.SignedConfigurationItem {makeSignedConfigurationItem ("foo" , "foo" , 0 , []byte ("foo" ), defaultChain )},
427
- }, initializer )
446
+ }, initializer , nil )
428
447
429
448
if err != nil {
430
449
t .Fatalf ("Error constructing configuration manager: %s" , err )
@@ -455,7 +474,7 @@ func TestMissingHeader(t *testing.T) {
455
474
data , _ := proto .Marshal (configItem )
456
475
_ , err := NewManagerImpl (& cb.ConfigurationEnvelope {
457
476
Items : []* cb.SignedConfigurationItem {& cb.SignedConfigurationItem {ConfigurationItem : data }},
458
- }, & mockconfigtx.Initializer {PolicyManagerVal : & mockPolicyManager {& mockPolicy {}}, HandlersVal : handlers })
477
+ }, & mockconfigtx.Initializer {PolicyManagerVal : & mockPolicyManager {& mockPolicy {}}, HandlersVal : handlers }, nil )
459
478
460
479
if err == nil {
461
480
t .Error ("Should have errored creating the configuration manager because of the missing header" )
@@ -467,7 +486,7 @@ func TestMissingChainID(t *testing.T) {
467
486
handlers := defaultHandlers ()
468
487
_ , err := NewManagerImpl (& cb.ConfigurationEnvelope {
469
488
Items : []* cb.SignedConfigurationItem {makeSignedConfigurationItem ("foo" , "foo" , 0 , []byte ("foo" ), "" )},
470
- }, & mockconfigtx.Initializer {PolicyManagerVal : & mockPolicyManager {& mockPolicy {}}, HandlersVal : handlers })
489
+ }, & mockconfigtx.Initializer {PolicyManagerVal : & mockPolicyManager {& mockPolicy {}}, HandlersVal : handlers }, nil )
471
490
472
491
if err == nil {
473
492
t .Error ("Should have errored creating the configuration manager because of the missing header" )
@@ -482,7 +501,7 @@ func TestMismatchedChainID(t *testing.T) {
482
501
makeSignedConfigurationItem ("foo" , "foo" , 0 , []byte ("foo" ), "chain1" ),
483
502
makeSignedConfigurationItem ("foo" , "foo" , 0 , []byte ("foo" ), "chain2" ),
484
503
},
485
- }, & mockconfigtx.Initializer {PolicyManagerVal : & mockPolicyManager {& mockPolicy {}}, HandlersVal : handlers })
504
+ }, & mockconfigtx.Initializer {PolicyManagerVal : & mockPolicyManager {& mockPolicy {}}, HandlersVal : handlers }, nil )
486
505
487
506
if err == nil {
488
507
t .Error ("Should have errored creating the configuration manager because of the missing header" )
0 commit comments