def step_impl(context, userName, certAlias, genisisBlockName, joinChannelResult): timeout = 10 directory = bootstrap_util.getDirectory(context) user = directory.getUser(userName) # Find the cert using the cert tuple information saved for the user under certAlias signersCert = directory.findCertForNodeAdminTuple(user.tags[certAlias]) # Retrieve the genesis block from the returned value of deliver (Will be list with first block as genesis block) genesisBlock = user.tags[genisisBlockName][0] ccSpec = endorser_util.getChaincodeSpec( "GOLANG", "", "cscc", ["JoinChain", genesisBlock.SerializeToString()]) proposal = endorser_util.createInvokeProposalForBDD( context, ccSpec=ccSpec, chainID="", signersCert=signersCert, Mspid=user.tags[certAlias].organization, type="CONFIG") signedProposal = endorser_util.signProposal(proposal=proposal, entity=user, signersCert=signersCert) # Send proposal to each specified endorser, waiting 'timeout' seconds for response/error endorsers = [row['Peer'] for row in context.table.rows] proposalResponseFutures = [ endorserStub.ProcessProposal.future(signedProposal, int(timeout)) for endorserStub in endorser_util.getEndorserStubs(context, endorsers) ] resultsDict = dict( zip(endorsers, [respFuture.result() for respFuture in proposalResponseFutures])) user.setTagValue(joinChannelResult, resultsDict)
def step_impl(context, userName, genisisBlockName, composeService, joinChannelResult): timeout = 10 directory = bootstrap_util.getDirectory(context) user = directory.getUser(userName) # Collect the cert tuple information row = context.table.rows[0] signersCert = directory.findCertByTuple(row['Developer'], row['ChainCreationPolicyName'], row['Organization']) # Retrieve the genesis block from the returned value of deliver (Will be list with first block as genesis block) genesisBlock = user.tags[genisisBlockName][0] ccSpec = endorser_util.getChaincodeSpec( "GOLANG", "", "cscc", ["JoinChain", genesisBlock.SerializeToString()]) proposal = endorser_util.createInvokeProposalForBDD( ccSpec=ccSpec, chainID="", signersCert=signersCert, Mspid="DEFAULT") signedProposal = endorser_util.signProposal(proposal=proposal, entity=user, signersCert=signersCert) # Send proposal to each specified endorser, waiting 'timeout' seconds for response/error endorsers = [composeService] proposalResponseFutures = [ endorserStub.ProcessProposal.future(signedProposal, int(timeout)) for endorserStub in endorser_util.getEndorserStubs(context, endorsers) ] resultsDict = dict( zip(endorsers, [respFuture.result() for respFuture in proposalResponseFutures])) user.tags[joinChannelResult] = resultsDict
def step_impl(context, userName, ccType, chaincodeName, chaincodePath, ccSpecAlias): directory = bootstrap_util.getDirectory(context=context) user = directory.getUser(userName) args = bootstrap_util.getArgsFromContextForUser(context, userName) ccSpec = endorser_util.getChaincodeSpec(ccType=ccType, path=chaincodePath, name=chaincodeName, args=bdd_grpc_util.toStringArray(args)) print("ccSpec = {0}".format(ccSpec)) user.tags[ccSpecAlias] = ccSpec
def step_impl(context, enrollId, ccType, chaincodePath, ccSpecAlias): userRegistration = bdd_test_util.getUserRegistration(context, enrollId) args = bdd_grpc_util.getArgsFromContextForUser(context, enrollId) ccSpec = endorser_util.getChaincodeSpec(ccType, chaincodePath, bdd_grpc_util.toStringArray(args)) print("ccSpec = {0}".format(ccSpec)) userRegistration.tags[ccSpecAlias] = ccSpec
def step_impl(context, userName, ccType, chaincodeName, chaincodePath, ccSpecAlias): directory = bootstrap_util.getDirectory(context=context) user = directory.getUser(userName) args = bootstrap_util.getArgsFromContextForUser(context, userName) ccSpec = endorser_util.getChaincodeSpec( ccType=ccType, path=chaincodePath, name=chaincodeName, args=bdd_grpc_util.toStringArray(args)) print("ccSpec = {0}".format(ccSpec)) user.setTagValue(ccSpecAlias, ccSpec)
def step_impl(context, userName, certAlias, genisisBlockName, joinChannelResult): timeout = 10 directory = bootstrap_util.getDirectory(context) user = directory.getUser(userName) # Find the cert using the cert tuple information saved for the user under certAlias signersCert = directory.findCertForNodeAdminTuple(user.tags[certAlias]) # Retrieve the genesis block from the returned value of deliver (Will be list with first block as genesis block) genesisBlock = user.tags[genisisBlockName][0] ccSpec = endorser_util.getChaincodeSpec("GOLANG", "", "cscc", ["JoinChain", genesisBlock.SerializeToString()]) proposal = endorser_util.createInvokeProposalForBDD(ccSpec=ccSpec, chainID="",signersCert=signersCert, Mspid="DEFAULT", type="CONFIGURATION_TRANSACTION") signedProposal = endorser_util.signProposal(proposal=proposal, entity=user, signersCert=signersCert) # Send proposal to each specified endorser, waiting 'timeout' seconds for response/error endorsers = [row['Peer'] for row in context.table.rows] proposalResponseFutures = [endorserStub.ProcessProposal.future(signedProposal, int(timeout)) for endorserStub in endorser_util.getEndorserStubs(context, endorsers)] resultsDict = dict(zip(endorsers, [respFuture.result() for respFuture in proposalResponseFutures])) user.tags[joinChannelResult] = resultsDict
def step_impl(context, enrollId, ccType, chaincodePath, ccSpecAlias): userRegistration = bdd_test_util.getUserRegistration(context, enrollId) args = bdd_grpc_util.getArgsFromContextForUser(context, enrollId) ccSpec = endorser_util.getChaincodeSpec(ccType, chaincodePath, bdd_grpc_util.toStringArray(args)) print("ccSpec = {0}".format(ccSpec)) userRegistration.tags[ccSpecAlias] = ccSpec