示例#1
0
import pytest

from plenum.common.exceptions import InvalidSignature
from plenum.test.client.conftest import passThroughReqAcked1
from plenum.test.helper import whitelistNode
from plenum.test.malicious_behaviors_node import makeNodeFaulty, changesRequest

from plenum.test.malicious_behaviors_client import \
    genDoesntSendRequestToSomeNodes

nodeCount = 4
faultyNodes = 1
clientFault = genDoesntSendRequestToSomeNodes("GammaC", "DeltaC")
reqAcked1 = passThroughReqAcked1

whitelist = ['for InvalidSignature', 'discarding message']


@pytest.fixture(scope="module")
def nodeChangesRequest(txnPoolNodeSet):
    alpha = txnPoolNodeSet[0]

    # Alpha should not be blacklisted for Invalid Signature by all other nodes
    whitelistNode(alpha.name,
                  [node for node in txnPoolNodeSet if node != alpha],
                  InvalidSignature.code)
    makeNodeFaulty(alpha, changesRequest, )


# noinspection PyIncorrectDocstring,PyUnusedLocal,PyShadowingNames
def testReplyUnaffectedByFaultyNode(looper, txnPoolNodeSet, nodeChangesRequest,
from plenum.test.client.conftest import passThroughReqAcked1

from plenum.client.client import Client
from plenum.test.malicious_behaviors_client import \
    genDoesntSendRequestToSomeNodes

nodeCount = 4
clientFault = genDoesntSendRequestToSomeNodes(skipCount=3)
reqAcked1 = passThroughReqAcked1


# noinspection PyIncorrectDocstring
def testReplyWhenRequestSentToLessThanFPlusOneNodes(looper, nodeSet,
                                                    fClient: Client, replied1):
    """
    In a system with no faulty nodes, even if the client sends the request to
     one node it will get replies from all the nodes.
    """
import pytest

from plenum.common.exceptions import InvalidSignature
from plenum.test.client.conftest import passThroughReqAcked1
from plenum.test.helper import whitelistNode
from plenum.test.malicious_behaviors_node import makeNodeFaulty, changesRequest

from plenum.test.malicious_behaviors_client import genDoesntSendRequestToSomeNodes

nodeCount = 4
faultyNodes = 1
clientFault = genDoesntSendRequestToSomeNodes("GammaC", "DeltaC")
reqAcked1 = passThroughReqAcked1

whitelist = ['for InvalidSignature', 'discarding message']


@pytest.fixture(scope="module")
def nodeChangesRequest(nodeSet):
    alpha = nodeSet.Alpha

    # Alpha should not be blacklisted for Invalid Signature by all other nodes
    whitelistNode(alpha.name,
                  [node for node in nodeSet if node != alpha],
                  InvalidSignature.code)
    makeNodeFaulty(alpha, changesRequest,)


# noinspection PyIncorrectDocstring,PyUnusedLocal,PyShadowingNames
def testReplyUnaffectedByFaultyNode(looper, nodeSet, nodeChangesRequest,
                                    fClient, replied1):
示例#4
0
from stp_core.common.log import getlogger
from stp_core.loop.eventually import eventually

from plenum.test.client.conftest import passThroughReqAcked1

from plenum.test.helper import sendReqsToNodesAndVerifySuffReplies, stopNodes, waitForSufficientRepliesForRequests, \
    send_signed_requests
from plenum.test.malicious_behaviors_client import \
    genDoesntSendRequestToSomeNodes
from plenum.test.node_catchup.helper import waitNodeDataEquality

logger = getlogger()

nodeCount = 4
clientFault = genDoesntSendRequestToSomeNodes("AlphaC")
reqAcked1 = passThroughReqAcked1

def test_client_sends_get_request_to_one_node(looper,
                                              client1,
                                              wallet1,
                                              nodeSet):
    """
    Check that read only equest can be sent
    without having connection to all nodes
    """
    client = client1
    wallet = wallet1

    logger.info("Stopping nodes")
    nodes_to_stop = list(nodeSet)[1:]
from plenum.test.client.conftest import passThroughReqAcked1

from plenum.client.client import Client
from plenum.test.malicious_behaviors_client import \
    genDoesntSendRequestToSomeNodes

nodeCount = 4
clientFault = genDoesntSendRequestToSomeNodes("AlphaC")
reqAcked1 = passThroughReqAcked1


def testReplyWhenRequestSentToMoreThanFPlusOneNodes(looper, nodeSet,
                                                    fClient: Client, replied1):
    pass
from plenum.test.client.conftest import passThroughReqAcked1

from plenum.client.client import Client
from plenum.test.malicious_behaviors_client import \
    genDoesntSendRequestToSomeNodes

nodeCount = 4
clientFault = genDoesntSendRequestToSomeNodes(skipCount=3)
reqAcked1 = passThroughReqAcked1


# noinspection PyIncorrectDocstring
def testReplyWhenRequestSentToLessThanFPlusOneNodes(looper, nodeSet,
                                                    fClient: Client, replied1):
    """
    In a system with no faulty nodes, even if the client sends the request to
     one node it will get replies from all the nodes.
    """
    pass