async def go(ctx): client1 = genTestClient(ctx.nodeset, tmpdir=ctx.tmpdir) # remove the client's ability to sign assert client1.signer client1.signer = None assert not client1.signer ctx.looper.add(client1) await client1.ensureConnectedToNodes() operation = randomOperation() request = client1.submit(operation)[0] with pytest.raises(AssertionError): for node in ctx.nodeset: await eventually( checkLastClientReqForNode, node, request, retryWait=1, timeout=10) for n in ctx.nodeset: params = n.spylog.getLastParams(Node.reportSuspiciousClient) frm = params['clientName'] reason = params['reason'] assert frm == client1.name assert isinstance(reason, EmptySignature) params = n.spylog.getLastParams(Node.discard) reason = params["reason"] (msg, frm) = params["msg"] assert msg == request.__dict__ assert frm == client1.name assert isinstance(reason, EmptySignature)
def testGeneratedRequestSequencing(tdir_for_func): """ Request ids must be generated in an increasing order """ with TestNodeSet(count=4, tmpdir=tdir_for_func) as nodeSet: cli = genTestClient(nodeSet, tmpdir=tdir_for_func) operation = randomOperation() request = cli.createRequest(operation) assert request.reqId == 1 request = cli.createRequest(operation) assert request.reqId == 2 request = cli.createRequest(randomOperation()) assert request.reqId == 3 cli2 = genTestClient(nodeSet, tmpdir=tdir_for_func) request = cli2.createRequest(operation) assert request.reqId == 1
def request1(): return randomOperation()