def make_db_and_store(size=3): database = DictDatabase() store = MockBlockStore(size=0) roots = [] merkle = MerkleDatabase(database) data = {} # Create all the keys that will be used. Keys are zero-padded hex strings # starting with '1'. keys = [format(i, 'x').zfill(70) for i in range(1, size + 1)] for i in range(1, size + 1): # Construct the state for this root data = {} for key_idx in range(i): key = keys[key_idx] # Calculate unique values based on the key and root val = i + (2 * key_idx) data[key] = str(val).encode() root = merkle.update(data, virtual=False) roots.append(root) store.add_block(str(i), root) return database, store, roots
def setUp(self): store = MockBlockStore() self.initialize( handlers.BlockListRequest(store), client_pb2.ClientBlockListRequest, client_pb2.ClientBlockListResponse, store=store)
def setUp(self): store = MockBlockStore() self.initialize( handlers.TransactionListRequest(store), client_transaction_pb2.ClientTransactionListRequest, client_transaction_pb2.ClientTransactionListResponse, store=store)
def setUp(): store = MockBlockStore() clientHanlerTestCase.initialize( handlers.TransactionListRequest(store), client_transaction_pb2.ClientTransactionListRequest, client_transaction_pb2.ClientTransactionListResponse, store=store)
def make_store_and_tracker(size=3): store = MockBlockStore(size=size) tracker = BatchTracker(store) tracker.notify_batch_pending(make_mock_batch('d')) tracker.notify_batch_pending(make_mock_batch('f')) tracker.notify_txn_invalid('c' * 127 + 'f', 'error message', b'error data') return store, tracker
def test_not_in_valid_block_publisher_list(self): factory = self.create_state_view_factory({}) dev_mode = \ BlockPublisher( block_cache=BlockCache(block_store=MockBlockStore()), state_view_factory=factory, batch_publisher=None, data_dir=None) block_header = self.create_block_header("name") self.assertTrue(dev_mode.check_publish_block(block_header))
def test_in_valid_block_publisher_list(self): factory = self.create_state_view_factory( {"sawtooth.consensus.valid_block_publisher": ["name"]}) dev_mode = \ BlockPublisher( block_cache=BlockCache(block_store=MockBlockStore()), state_view_factory=factory, batch_publisher=None, data_dir=None, validator_id='Validator_001') block_header = self.create_block_header("name") self.assertTrue(dev_mode.check_publish_block(block_header))
def test_default_settings(self): factory = self.create_state_view_factory(values=None) dev_mode = \ BlockPublisher( block_cache=BlockCache(block_store=MockBlockStore()), state_view_factory=factory, batch_publisher=None, data_dir=None) block_header = self.create_block_header() self.assertTrue(dev_mode.check_publish_block(block_header))
def test_min_wait_time(self): # non zero value of min wait time factory = self.create_state_view_factory( {"sawtooth.consensus.min_wait_time": 1}) dev_mode = \ BlockPublisher( block_cache=BlockCache(block_store=MockBlockStore()), state_view_factory=factory, batch_publisher=None, data_dir=None) block_header = self.create_block_header() dev_mode.initialize_block(block_header) self.assertFalse(dev_mode.check_publish_block(block_header)) time.sleep(1) self.assertTrue(dev_mode.check_publish_block(block_header))
def setUp(self): store = MockBlockStore() self.initialize(handlers.BatchGetRequest(store), client_batch_pb2.ClientBatchGetRequest, client_batch_pb2.ClientBatchGetResponse)
def setUp(self): store = MockBlockStore() self.initialize(handlers.BlockGetByBatchRequest(store), client_block_pb2.ClientBlockGetByBatchIdRequest, client_block_pb2.ClientBlockGetResponse)
def setUp(): store = MockBlockStore() clientHanlerTestCase.initialize(handlers.BatchListRequest(store), client_batch_pb2.ClientBatchListRequest, client_batch_pb2.ClientBatchListResponse, store=store)