def test_publish(self, args=sys.argv[1:]):

        gossip = GossipMock()

        LOGGER.info(self.blocks)
        publisher = BlockPublisher(
            consensus=TestModePublisher(),
            transaction_executor=TransactionExecutorMock(),
            send_message=gossip.send_message,
            squash_handler=None)

        LOGGER.info("1")

        # initial load of existing state
        publisher.on_chain_updated(self.blocks.chain_head.block, [], [])

        LOGGER.info("2")
        # repeat as necessary
        batch = Batch()
        publisher.on_batch_received(batch)
        LOGGER.info("3")
        # current dev_mode consensus always claims blocks when asked.
        # this will be called on a polling every so often or possibly triggered
        # by events in the consensus it's self ... TBD
        publisher.on_check_publish_block()
        LOGGER.info("4")
        LOGGER.info(self.blocks)

        # repeat as necessary
        batch = Batch()
        publisher.on_batch_received(batch)

        publisher.on_check_publish_block()

        LOGGER.info(self.blocks)
    def setUp(self):
        self.blocks = BlockTreeManager()
        self.gossip = GossipMock()
        self.executor = SynchronousExecutor()
        self.txn_executor = TransactionExecutorMock()

        def chain_updated(head):
            pass

        self.chain_ctrl = ChainController(
            consensus=TestModeVerifier(),
            block_store=self.blocks.block_store,
            send_message=self.gossip.send_message,
            executor=self.executor,
            transaction_executor=TransactionExecutorMock(),
            on_chain_updated=chain_updated,
            squash_handler=None)
    def __init__(self):
        self.block_store = {}
        self._new_block = None
        self.block_publisher = BlockPublisher(
            consensus=TestModePublisher(),
            transaction_executor=TransactionExecutorMock(),
            send_message=self._send_message,
            squash_handler=None)

        block = self.generate_block(add_to_store=True,
                                    status=BlockStatus.Valid)
        self.set_chain_head(block)
Exemple #4
0
 def setUp(self):
     self.gossip = GossipMock()
     self.txn_executor = TransactionExecutorMock()