Skip to content

Commit

Permalink
[FAB-8616]: Resource Mgmt: Move resource from context
Browse files Browse the repository at this point in the history
Change-Id: I5f095f81913863e310cd147c83ba0506c72cb375
Signed-off-by: Sandra Vrtikapa <sandra.vrtikapa@securekey.com>
  • Loading branch information
sandrask committed Mar 1, 2018
1 parent c3bbc2c commit 096e8c6
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 22 deletions.
6 changes: 4 additions & 2 deletions pkg/client/resmgmt/resmgmt.go
Expand Up @@ -122,7 +122,6 @@ type Context struct {
DiscoveryProvider fab.DiscoveryProvider
ChannelProvider fab.ChannelProvider
FabricProvider sdkApi.FabricProvider
Resource api.Resource
}

type fabContext struct {
Expand All @@ -144,14 +143,17 @@ func WithDefaultTargetFilter(filter TargetFilter) ClientOption {
// New returns a ResourceMgmtClient instance
func New(ctx Context, opts ...ClientOption) (*Client, error) {

resource := resource.New(ctx)

resourceClient := &Client{
provider: ctx,
identity: ctx,
discoveryProvider: ctx.DiscoveryProvider,
channelProvider: ctx.ChannelProvider,
fabricProvider: ctx.FabricProvider,
resource: ctx.Resource,
resource: resource,
}

for _, opt := range opts {
err := opt(resourceClient)
if err != nil {
Expand Down
13 changes: 7 additions & 6 deletions pkg/client/resmgmt/resmgmt_test.go
Expand Up @@ -138,7 +138,6 @@ func TestNoSigningUserFailure(t *testing.T) {
fabCtx := fcmocks.NewMockContext(user)
config := getNetworkConfig(t)
fabCtx.SetConfig(config)
resource := fcmocks.NewMockResource()

discovery, err := setupTestDiscovery(nil, nil)
if err != nil {
Expand All @@ -153,7 +152,6 @@ func TestNoSigningUserFailure(t *testing.T) {
ctx := Context{
ProviderContext: fabCtx,
IdentityContext: fabCtx,
Resource: resource,
ChannelProvider: chProvider,
DiscoveryProvider: discovery,
}
Expand Down Expand Up @@ -1155,12 +1153,9 @@ func setupResMgmtClient(fabCtx context.Context, discErr error, t *testing.T, opt
}
chProvider.SetTransactor(&transactor)

resource := fcmocks.NewMockResource()

ctx := Context{
ProviderContext: fabCtx,
IdentityContext: fabCtx,
Resource: resource,
ChannelProvider: chProvider,
DiscoveryProvider: discovery,
FabricProvider: fabProvider,
Expand All @@ -1170,6 +1165,11 @@ func setupResMgmtClient(fabCtx context.Context, discErr error, t *testing.T, opt
if err != nil {
t.Fatalf("Failed to create new client with options: %s %v", err, opts)
}

// Set mock resource
resource := fcmocks.NewMockResource()
resClient.resource = resource

return resClient

}
Expand Down Expand Up @@ -1266,7 +1266,6 @@ func TestSaveChannelFailure(t *testing.T) {
ctx := Context{
ProviderContext: errCtx,
IdentityContext: fabCtx,
Resource: resource,
ChannelProvider: chProvider,
DiscoveryProvider: discovery,
}
Expand All @@ -1275,6 +1274,8 @@ func TestSaveChannelFailure(t *testing.T) {
t.Fatalf("Failed to create new channel management client: %s", err)
}

cc.resource = resource

// Test create channel failure
err = cc.SaveChannel(SaveChannelRequest{ChannelID: "mychannel", ChannelConfig: channelConfig})
if err == nil {
Expand Down
5 changes: 0 additions & 5 deletions pkg/fabsdk/client.go
Expand Up @@ -158,18 +158,13 @@ func (c *ClientContext) ResourceMgmt(opts ...ClientOption) (*resmgmt.Client, err
session := newSession(p.identity, p.providers.ChannelProvider())

fabProvider := p.providers.FabricProvider()
resource, err := fabProvider.CreateResourceClient(session)
if err != nil {
return nil, err
}

discovery := p.providers.DiscoveryProvider()
chProvider := p.providers.ChannelProvider()

ctx := resmgmt.Context{
ProviderContext: p.providers,
IdentityContext: session,
Resource: resource,
DiscoveryProvider: discovery,
ChannelProvider: chProvider,
FabricProvider: fabProvider,
Expand Down
12 changes: 3 additions & 9 deletions test/integration/utils.go
Expand Up @@ -14,7 +14,6 @@ import (
"github.com/hyperledger/fabric-sdk-go/pkg/context/api/core"
"github.com/hyperledger/fabric-sdk-go/pkg/context/api/fab"
"github.com/hyperledger/fabric-sdk-go/pkg/fab/peer"
"github.com/hyperledger/fabric-sdk-go/pkg/fab/resource/api"
"github.com/hyperledger/fabric-sdk-go/pkg/fabsdk"
"github.com/pkg/errors"
)
Expand Down Expand Up @@ -58,19 +57,14 @@ func InitializeChannel(sdk *fabsdk.FabricSDK, orgID string, req resmgmt.SaveChan
// FilterTargetsJoinedChannel filters targets to those that have joined the named channel.
func FilterTargetsJoinedChannel(sdk *fabsdk.FabricSDK, orgID string, channelID string, targets []fab.ProposalProcessor) ([]fab.ProposalProcessor, error) {
joinedTargets := []fab.ProposalProcessor{}
session, err := sdk.NewClient(fabsdk.WithUser("Admin"), fabsdk.WithOrg(orgID)).Session()
rc, err := sdk.NewClient(fabsdk.WithUser("Admin"), fabsdk.WithOrg(orgID)).ResourceMgmt()
if err != nil {
return nil, errors.WithMessage(err, "failed getting admin user session for org")
}

sc, err := sdk.FabricProvider().CreateResourceClient(session)
if err != nil {
return nil, errors.WithMessage(err, "NewResourceClient failed")
}

for _, target := range targets {
// Check if primary peer has joined channel
alreadyJoined, err := HasPeerJoinedChannel(sc, target, channelID)
alreadyJoined, err := HasPeerJoinedChannel(rc, target, channelID)
if err != nil {
return nil, errors.WithMessage(err, "failed while checking if primary peer has already joined channel")
}
Expand Down Expand Up @@ -137,7 +131,7 @@ func CreateProposalProcessors(config core.Config, orgs []string) ([]fab.Proposal

// HasPeerJoinedChannel checks whether the peer has already joined the channel.
// It returns true if it has, false otherwise, or an error
func HasPeerJoinedChannel(client api.Resource, peer fab.ProposalProcessor, channel string) (bool, error) {
func HasPeerJoinedChannel(client *resmgmt.Client, peer fab.ProposalProcessor, channel string) (bool, error) {
foundChannel := false
response, err := client.QueryChannels(peer)
if err != nil {
Expand Down

0 comments on commit 096e8c6

Please sign in to comment.