@@ -10,6 +10,7 @@ import (
1010 "fmt"
1111 "net"
1212 "net/http"
13+ "os"
1314 "strings"
1415 "testing"
1516 "time"
@@ -1343,32 +1344,44 @@ func TestSaveChannelSuccess(t *testing.T) {
13431344 t .Fatalf ("Should have failed for empty channel request" )
13441345 }
13451346
1347+ r , err := os .Open (channelConfig )
1348+ assert .Nil (t , err , "opening channel config file failed" )
1349+ defer r .Close ()
1350+
13461351 // Test empty channel name
1347- err = cc .SaveChannel (SaveChannelRequest {ChannelID : "" , ChannelConfig : channelConfig })
1352+ err = cc .SaveChannel (SaveChannelRequest {ChannelID : "" , ChannelConfig : r })
13481353 if err == nil {
13491354 t .Fatalf ("Should have failed for empty channel id" )
13501355 }
13511356
13521357 // Test empty channel config
1353- err = cc .SaveChannel (SaveChannelRequest {ChannelID : "mychannel" , ChannelConfig : "" })
1358+ err = cc .SaveChannel (SaveChannelRequest {ChannelID : "mychannel" })
13541359 if err == nil {
13551360 t .Fatalf ("Should have failed for empty channel config" )
13561361 }
13571362
13581363 // Test extract configuration error
1359- err = cc .SaveChannel (SaveChannelRequest {ChannelID : "mychannel" , ChannelConfig : "./testdata/extractcherr.tx" })
1364+ r1 , err := os .Open ("./testdata/extractcherr.tx" )
1365+ assert .Nil (t , err , "opening channel config file failed" )
1366+ defer r1 .Close ()
1367+
1368+ err = cc .SaveChannel (SaveChannelRequest {ChannelID : "mychannel" , ChannelConfig : r1 })
13601369 if err == nil {
13611370 t .Fatalf ("Should have failed to extract configuration" )
13621371 }
13631372
13641373 // Test sign channel error
1365- err = cc .SaveChannel (SaveChannelRequest {ChannelID : "mychannel" , ChannelConfig : "./testdata/signcherr.tx" })
1374+ r2 , err := os .Open ("./testdata/signcherr.tx" )
1375+ assert .Nil (t , err , "opening channel config file failed" )
1376+ defer r2 .Close ()
1377+
1378+ err = cc .SaveChannel (SaveChannelRequest {ChannelID : "mychannel" , ChannelConfig : r2 })
13661379 if err == nil {
13671380 t .Fatalf ("Should have failed to sign configuration" )
13681381 }
13691382
13701383 // Test valid Save Channel request (success)
1371- err = cc .SaveChannel (SaveChannelRequest {ChannelID : "mychannel" , ChannelConfig : channelConfig }, WithOrdererURL ("example.com" ))
1384+ err = cc .SaveChannel (SaveChannelRequest {ChannelID : "mychannel" , ChannelConfig : r }, WithOrdererURL ("example.com" ))
13721385 if err != nil {
13731386 t .Fatal (err )
13741387 }
@@ -1395,7 +1408,11 @@ func TestSaveChannelFailure(t *testing.T) {
13951408 }
13961409
13971410 // Test create channel failure
1398- err = cc .SaveChannel (SaveChannelRequest {ChannelID : "Invalid" , ChannelConfig : channelConfig })
1411+ r , err := os .Open (channelConfig )
1412+ assert .Nil (t , err , "opening channel config file failed" )
1413+ defer r .Close ()
1414+
1415+ err = cc .SaveChannel (SaveChannelRequest {ChannelID : "Invalid" , ChannelConfig : r })
13991416 if err == nil {
14001417 t .Fatal ("Should have failed with create channel error" )
14011418 }
@@ -1425,23 +1442,38 @@ func TestSaveChannelWithOpts(t *testing.T) {
14251442 cc := setupResMgmtClient (ctx , nil , t )
14261443
14271444 // Valid request (same for all options)
1428- req := SaveChannelRequest {ChannelID : "mychannel" , ChannelConfig : channelConfig }
1445+ r1 , err := os .Open (channelConfig )
1446+ assert .Nil (t , err , "opening channel config file failed" )
1447+ defer r1 .Close ()
1448+
1449+ req := SaveChannelRequest {ChannelID : "mychannel" , ChannelConfig : r1 }
14291450
14301451 // Test empty option (default order is random orderer from config)
14311452 opts := WithOrdererURL ("" )
1432- err : = cc .SaveChannel (req , opts )
1453+ err = cc .SaveChannel (req , opts )
14331454 if err != nil {
14341455 t .Fatal (err )
14351456 }
14361457
14371458 // Test valid orderer ID
1459+ r2 , err := os .Open (channelConfig )
1460+ assert .Nil (t , err , "opening channel config file failed" )
1461+ defer r2 .Close ()
1462+
1463+ req = SaveChannelRequest {ChannelID : "mychannel" , ChannelConfig : r2 }
1464+
14381465 opts = WithOrdererURL ("orderer.example.com" )
14391466 err = cc .SaveChannel (req , opts )
14401467 if err != nil {
14411468 t .Fatal (err )
14421469 }
14431470
14441471 // Test invalid orderer ID
1472+ r3 , err := os .Open (channelConfig )
1473+ assert .Nil (t , err , "opening channel config file failed" )
1474+ defer r3 .Close ()
1475+
1476+ req = SaveChannelRequest {ChannelID : "mychannel" , ChannelConfig : r3 }
14451477
14461478 mockConfig = & fcmocks.MockConfig {}
14471479 ctx .SetConfig (mockConfig )
@@ -1487,15 +1519,23 @@ func TestSaveChannelWithMultipleSigningIdenities(t *testing.T) {
14871519 cc := setupResMgmtClient (ctx , nil , t )
14881520
14891521 // empty list of signing identities (defaults to context user)
1490- req := SaveChannelRequest {ChannelID : "mychannel" , ChannelConfig : channelConfig , SigningIdentities : []msp.Identity {}}
1491- err := cc .SaveChannel (req , WithOrdererURL ("" ))
1522+ r1 , err := os .Open (channelConfig )
1523+ assert .Nil (t , err , "opening channel config file failed" )
1524+ defer r1 .Close ()
1525+
1526+ req := SaveChannelRequest {ChannelID : "mychannel" , ChannelConfig : r1 , SigningIdentities : []msp.Identity {}}
1527+ err = cc .SaveChannel (req , WithOrdererURL ("" ))
14921528 if err != nil {
14931529 t .Fatalf ("Failed to save channel with default signing identity: %s" , err )
14941530 }
14951531
14961532 // multiple signing identities
1533+ r2 , err := os .Open (channelConfig )
1534+ assert .Nil (t , err , "opening channel config file failed" )
1535+ defer r2 .Close ()
1536+
14971537 secondCtx := fcmocks .NewMockContext (fcmocks .NewMockUser ("second" ))
1498- req = SaveChannelRequest {ChannelID : "mychannel" , ChannelConfig : channelConfig , SigningIdentities : []msp.Identity {cc .ctx , secondCtx }}
1538+ req = SaveChannelRequest {ChannelID : "mychannel" , ChannelConfig : r2 , SigningIdentities : []msp.Identity {cc .ctx , secondCtx }}
14991539 err = cc .SaveChannel (req , WithOrdererURL ("" ))
15001540 if err != nil {
15011541 t .Fatalf ("Failed to save channel with multiple signing identities: %s" , err )
0 commit comments