@@ -22,6 +22,7 @@ import (
22
22
"time"
23
23
24
24
"github.com/hyperledger/fabric/common/configtx"
25
+ configtxtest "github.com/hyperledger/fabric/common/configtx/test"
25
26
genesisconfig "github.com/hyperledger/fabric/common/configtx/tool/localconfig"
26
27
"github.com/hyperledger/fabric/common/configtx/tool/provisional"
27
28
mockcrypto "github.com/hyperledger/fabric/common/mocks/crypto"
@@ -31,7 +32,6 @@ import (
31
32
ab "github.com/hyperledger/fabric/protos/orderer"
32
33
"github.com/hyperledger/fabric/protos/utils"
33
34
34
- "github.com/hyperledger/fabric/msp"
35
35
logging "github.com/op/go-logging"
36
36
"github.com/stretchr/testify/assert"
37
37
)
@@ -223,23 +223,18 @@ func TestNewChain(t *testing.T) {
223
223
224
224
manager := NewManagerImpl (lf , consenters , mockCrypto ())
225
225
226
- generator := provisional .New (conf )
227
- channelTemplate := generator .ChannelTemplate ()
228
-
229
- signer , err := msp .NewNoopMsp ().GetDefaultSigningIdentity ()
230
- assert .NoError (t , err )
231
-
232
226
newChainID := "TestNewChain"
233
- newChainMessage , err := configtx .MakeChainCreationTransaction (provisional .AcceptAllPolicyKey , newChainID , signer , channelTemplate )
227
+
228
+ configEnv , err := configtx .NewChainCreationTemplate (provisional .AcceptAllPolicyKey , configtxtest .CompositeTemplate ()).Envelope (newChainID )
234
229
if err != nil {
235
- t .Fatalf ("Error producing config transaction: %s" , err )
230
+ t .Fatalf ("Error constructing configtx" )
236
231
}
232
+ ingressTx := makeConfigTxFromConfigUpdateEnvelope (newChainID , configEnv )
233
+ wrapped := wrapConfigTx (ingressTx )
237
234
238
- status := manager .ProposeChain (newChainMessage )
239
-
240
- if status != cb .Status_SUCCESS {
241
- t .Fatalf ("Error submitting chain creation request" )
242
- }
235
+ chainSupport , ok := manager .GetChain (manager .SystemChannelID ())
236
+ assert .True (t , ok , "Could not find system channel" )
237
+ chainSupport .Enqueue (wrapped )
243
238
244
239
it , _ := rl .Iterator (& ab.SeekPosition {Type : & ab.SeekPosition_Specified {Specified : & ab.SeekSpecified {Number : 1 }}})
245
240
select {
@@ -251,21 +246,13 @@ func TestNewChain(t *testing.T) {
251
246
if len (block .Data .Data ) != 1 {
252
247
t .Fatalf ("Should have had only one message in the orderer transaction block" )
253
248
}
254
- configEnv , err := configtx .UnmarshalConfigEnvelope (utils .UnmarshalPayloadOrPanic (
255
- utils .UnmarshalEnvelopeOrPanic (utils .UnmarshalPayloadOrPanic (utils .ExtractEnvelopeOrPanic (block , 0 ).Payload ).Data ).Payload ).Data )
256
249
257
- if err != nil {
258
- t .Fatal (err )
259
- }
260
-
261
- if ! reflect .DeepEqual (configEnv .LastUpdate , newChainMessage ) {
262
- t .Errorf ("Orderer config block contains wrong transaction, expected %v got %v" , configEnv .LastUpdate , newChainMessage )
263
- }
250
+ assert .Equal (t , wrapped , utils .UnmarshalEnvelopeOrPanic (block .Data .Data [0 ]), "Orderer config block contains wrong transaction" )
264
251
case <- time .After (time .Second ):
265
252
t .Fatalf ("Block 1 not produced after timeout in system chain" )
266
253
}
267
254
268
- chainSupport , ok : = manager .GetChain (newChainID )
255
+ chainSupport , ok = manager .GetChain (newChainID )
269
256
270
257
if ! ok {
271
258
t .Fatalf ("Should have gotten new chain which was created" )
@@ -290,14 +277,8 @@ func TestNewChain(t *testing.T) {
290
277
if len (block .Data .Data ) != 1 {
291
278
t .Fatalf ("Should have had only one message in the new genesis block" )
292
279
}
293
- configEnv , err := configtx .ConfigEnvelopeFromBlock (block )
294
- if err != nil {
295
- t .Fatal (err )
296
- }
297
280
298
- if ! reflect .DeepEqual (configEnv .LastUpdate , newChainMessage ) {
299
- t .Errorf ("Genesis block contains wrong transaction, expected %v got %v" , configEnv .LastUpdate , newChainMessage )
300
- }
281
+ assert .Equal (t , ingressTx , utils .UnmarshalEnvelopeOrPanic (block .Data .Data [0 ]), "Genesis block contains wrong transaction" )
301
282
case <- time .After (time .Second ):
302
283
t .Fatalf ("Block 1 not produced after timeout in system chain" )
303
284
}
0 commit comments