def checkRequest(cli, operation): cName = "Joe" cli.enterCmd("new client {}".format(cName)) # Let client connect to the nodes cli.looper.run(eventually(checkClientConnected, cli, list(cli.nodes.keys()), cName, retryWait=1, timeout=5)) # Send request to all nodes createNewKeyring(cName, cli) cli.enterCmd("new key {}".format("testkey1")) assert "Key created in keyring {}".format(cName) in cli.lastCmdOutput cli.enterCmd("client {} send {}".format(cName, operation)) client = cli.clients[cName] wallet = cli.wallets[cName] # type: Wallet f = getMaxFailures(len(cli.nodes)) # Ensure client gets back the replies lastReqId = wallet._getIdData().lastReqId cli.looper.run(eventually(checkSufficientRepliesRecvd, client.inBox, lastReqId, f, retryWait=2, timeout=10)) txn, status = client.getReply(wallet.defaultId, lastReqId) # Ensure the cli shows appropriate output cli.enterCmd("client {} show {}".format(cName, lastReqId)) printeds = cli.printeds printedReply = printeds[1] printedStatus = printeds[0] # txnTimePattern = "'txnTime', \d+\.*\d*" # txnIdPattern = "'txnId', '" + txn['txnId'] + "'" txnTimePattern = "'txnTime': \d+\.*\d*" txnIdPattern = "'txnId': '" + txn["txnId"] + "'" assert re.search(txnIdPattern, printedReply["msg"]) assert re.search(txnTimePattern, printedReply["msg"]) assert printedStatus["msg"] == "Status: {}".format(status) return client, wallet
def createClientAndConnect(cli, nodeNames, clientName): cli.enterCmd("new client {}".format(clientName)) createNewKeyring(clientName, cli) cli.enterCmd("new key clientName{}".format("key")) cli.looper.run( eventually(checkClientConnected, cli, nodeNames, clientName, retryWait=1, timeout=3))
def checkRequest(cli, operation): cName = "Joe" cli.enterCmd("new client {}".format(cName)) # Let client connect to the nodes cli.looper.run( eventually(checkClientConnected, cli, list(cli.nodes.keys()), cName, retryWait=1, timeout=5)) # Send request to all nodes createNewKeyring(cName, cli) cli.enterCmd("new key {}".format("testkey1")) assert 'Key created in keyring {}'.format(cName) in cli.lastCmdOutput cli.enterCmd('client {} send {}'.format(cName, operation)) client = cli.clients[cName] wallet = cli.wallets[cName] # type: Wallet f = getMaxFailures(len(cli.nodes)) # Ensure client gets back the replies lastReqId = wallet._getIdData().lastReqId cli.looper.run( eventually(checkSufficientRepliesRecvd, client.inBox, lastReqId, f, retryWait=2, timeout=10)) txn, status = client.getReply(wallet.defaultId, lastReqId) # Ensure the cli shows appropriate output cli.enterCmd('client {} show {}'.format(cName, lastReqId)) printeds = cli.printeds printedReply = printeds[1] printedStatus = printeds[0] # txnTimePattern = "'txnTime', \d+\.*\d*" # txnIdPattern = "'txnId', '" + txn['txnId'] + "'" txnTimePattern = "\'txnTime\': \d+\.*\d*" txnIdPattern = "\'txnId\': '" + txn['txnId'] + "'" assert re.search(txnIdPattern, printedReply['msg']) assert re.search(txnTimePattern, printedReply['msg']) assert printedStatus['msg'] == "Status: {}".format(status) return client, wallet
def checkRequest(cli, operation): cName = "Joe" cli.enterCmd("new client {}".format(cName)) # Let client connect to the nodes nodeNames = list(cli.nodes.keys()) waitClientConnected(cli, nodeNames, cName) # Send request to all nodes createNewKeyring(cName, cli) cli.enterCmd("new key {}".format("testkey1")) assert 'Key created in wallet {}'.format(cName) in cli.lastCmdOutput cli.enterCmd('client {} send {}'.format(cName, operation)) client = cli.clients[cName] wallet = cli.wallets[cName] # type: Wallet # Ensure client gets back the replies lastReqId = wallet._getIdData().lastReqId request = Request(identifier=wallet.defaultId, reqId=lastReqId, protocolVersion=CURRENT_PROTOCOL_VERSION) waitForSufficientRepliesForRequests(cli.looper, client, requests=[request]) txn, status = client.getReply(wallet.defaultId, lastReqId) # Ensure the cli shows appropriate output cli.enterCmd('client {} show {}'.format(cName, lastReqId)) printeds = cli.printeds printedReply = printeds[1] printedStatus = printeds[0] # txnTimePattern = "'txnTime', \d+\.*\d*" # txnIdPattern = "'txnId', '" + txn['txnId'] + "'" txnTimePattern = "\'txnTime\': \d+\.*\d*" # DEPR # txnIdPattern = "\'txnId\': '" + txn['txnId'] + "'" # assert re.search(txnIdPattern, printedReply['msg']) assert re.search(txnTimePattern, printedReply['msg']) assert printedStatus['msg'] == "Status: {}".format(status) return client, wallet
def createClientAndConnect(cli, nodeNames, clientName): cli.enterCmd("new client {}".format(clientName)) createNewKeyring(clientName, cli) cli.enterCmd("new key clientName{}".format("key")) waitClientConnected(cli, nodeNames, clientName)
def createClientAndConnect(cli, nodeNames, clientName): cli.enterCmd("new client {}".format(clientName)) createNewKeyring(clientName, cli) cli.enterCmd("new key clientName{}".format("key")) cli.looper.run(eventually(checkClientConnected, cli, nodeNames, clientName, retryWait=1, timeout=3))