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, certAlias, proposalAlias, timeout, proposalResponsesAlias): assert 'table' in context, "Expected table of endorsers" directory = bootstrap_util.getDirectory(context=context) user = directory.getUser(userName=userName) assert proposalAlias in user.tags, "Proposal alias '{0}' not found for user '{1}'".format( proposalAlias, userName) signedProposal = user.tags[proposalAlias] # Send proposal to each specified endorser, waiting 'timeout' seconds for response/error endorsers = [row['Endorser'] for row in context.table.rows] nodeAdminTuple = user.tags[certAlias] endorserStubs = endorser_util.getEndorserStubs( context, composeServices=endorsers, directory=directory, nodeAdminTuple=nodeAdminTuple) proposalResponseFutures = [ endorserStub.ProcessProposal.future(signedProposal, int(timeout)) for endorserStub in endorserStubs ] resultsDict = dict( zip(endorsers, [respFuture.result() for respFuture in proposalResponseFutures])) user.setTagValue(proposalResponsesAlias, 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, proposalAlias, timeout, proposalResponsesAlias): assert 'table' in context, "Expected table of endorsers" directory = bootstrap_util.getDirectory(context=context) user = directory.getUser(userName=userName) assert proposalAlias in user.tags, "Proposal alias '{0}' not found for user '{1}'".format(proposalAlias, userName) signedProposal = user.tags[proposalAlias] # Send proposal to each specified endorser, waiting 'timeout' seconds for response/error endorsers = [row['Endorser'] for row in context.table.rows] endorserStubs = endorser_util.getEndorserStubs(context, endorsers) proposalResponseFutures = [endorserStub.ProcessProposal.future(signedProposal, int(timeout)) for endorserStub in endorserStubs] resultsDict = dict(zip(endorsers, [respFuture.result() for respFuture in proposalResponseFutures])) user.tags[proposalResponsesAlias] = resultsDict
def step_impl(context, enrollId, proposalAlias, timeout): assert 'table' in context, "Expected table of endorsers" userRegistration = bdd_test_util.getUserRegistration(context, enrollId) assert proposalAlias in userRegistration.tags, "Proposal alias '{0}' not found for user '{1}'".format( proposalAlias, enrollId) proposal = userRegistration.tags[proposalAlias] # Send proposal to each specified endorser, waiting 'timeout' seconds for response/error endorsers = context.table.headings proposalResponseFutures = [ endorserStub.ProcessProposal.future(proposal, int(timeout)) for endorserStub in endorser_util.getEndorserStubs(context, endorsers) ] resultsDict = dict( zip(endorsers, [respFuture.result() for respFuture in proposalResponseFutures])) userRegistration.lastResult = resultsDict
def step_impl(context, userName, certAlias, genisisBlockName, joinChannelResult): timeout = 10 directory = bootstrap_util.getDirectory(context) user = directory.getUser(userName) nodeAdminTuple = user.tags[certAlias] # Find the cert using the cert tuple information saved for the user under certAlias signersCert = directory.findCertForNodeAdminTuple(nodeAdminTuple) # 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,composeServices=endorsers, directory=directory, nodeAdminTuple=nodeAdminTuple)] resultsDict = dict(zip(endorsers, [respFuture.result() for respFuture in proposalResponseFutures])) user.setTagValue(joinChannelResult, resultsDict)
def step_impl(context, enrollId, proposalAlias, timeout): assert 'table' in context, "Expected table of endorsers" userRegistration = bdd_test_util.getUserRegistration(context, enrollId) assert proposalAlias in userRegistration.tags, "Proposal alias '{0}' not found for user '{1}'".format(proposalAlias, enrollId) proposal = userRegistration.tags[proposalAlias] # Send proposal to each specified endorser, waiting 'timeout' seconds for response/error endorsers = context.table.headings proposalResponseFutures = [endorserStub.ProcessProposal.future(proposal, int(timeout)) for endorserStub in endorser_util.getEndorserStubs(context, endorsers)] resultsDict = dict(zip(endorsers, [respFuture.result() for respFuture in proposalResponseFutures])) userRegistration.lastResult = resultsDict