mirror of
https://github.com/bigchaindb/bigchaindb.git
synced 2024-10-13 13:34:05 +00:00
added tests for the events
This commit is contained in:
parent
d260e16f11
commit
da29bbc605
@ -1,14 +0,0 @@
|
|||||||
import multiprocessing as mp
|
|
||||||
|
|
||||||
from bigchaindb.events import EventHandler
|
|
||||||
|
|
||||||
|
|
||||||
def consume_events(events_queue):
|
|
||||||
event_handler = EventHandler(events_queue)
|
|
||||||
while True:
|
|
||||||
event = event_handler.get_event()
|
|
||||||
print('Event type: {} Event data: {}'.format(event.type, event.data))
|
|
||||||
|
|
||||||
|
|
||||||
def events_consumer(events_queue):
|
|
||||||
return mp.Process(target=consume_events, args=(events_queue,))
|
|
@ -199,3 +199,27 @@ def test_full_pipeline(b, user_pk):
|
|||||||
tx_from_block = set([tx.id for tx in invalid_block.transactions])
|
tx_from_block = set([tx.id for tx in invalid_block.transactions])
|
||||||
tx_from_backlog = set([tx['id'] for tx in list(query.get_stale_transactions(b.connection, 0))])
|
tx_from_backlog = set([tx['id'] for tx in list(query.get_stale_transactions(b.connection, 0))])
|
||||||
assert tx_from_block == tx_from_backlog
|
assert tx_from_block == tx_from_backlog
|
||||||
|
|
||||||
|
|
||||||
|
def test_handle_block_events():
|
||||||
|
from bigchaindb.events import setup_events_queue, EventTypes
|
||||||
|
|
||||||
|
events_queue = setup_events_queue()
|
||||||
|
e = election.Election(events_queue=events_queue)
|
||||||
|
block_id = 'a' * 64
|
||||||
|
|
||||||
|
assert events_queue.qsize() == 0
|
||||||
|
|
||||||
|
# no event should be emited in case a block is undecided
|
||||||
|
e.handle_block_events({'status': Bigchain.BLOCK_UNDECIDED}, block_id)
|
||||||
|
assert events_queue.qsize() == 0
|
||||||
|
|
||||||
|
# put an invalid block event in the queue
|
||||||
|
e.handle_block_events({'status': Bigchain.BLOCK_INVALID}, block_id)
|
||||||
|
event = e.event_handler.get_event()
|
||||||
|
assert event.type == EventTypes.BLOCK_INVALID
|
||||||
|
|
||||||
|
# put an valid block event in the queue
|
||||||
|
e.handle_block_events({'status': Bigchain.BLOCK_VALID}, block_id)
|
||||||
|
event = e.event_handler.get_event()
|
||||||
|
assert event.type == EventTypes.BLOCK_VALID
|
||||||
|
21
tests/test_events.py
Normal file
21
tests/test_events.py
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
def tests_event_handler():
|
||||||
|
from bigchaindb.events import (EventTypes, Event, EventHandler,
|
||||||
|
setup_events_queue)
|
||||||
|
|
||||||
|
# create and event
|
||||||
|
event_data = {'msg': 'some data'}
|
||||||
|
event = Event(EventTypes.BLOCK_VALID, event_data)
|
||||||
|
# create the events queue
|
||||||
|
events_queue = setup_events_queue()
|
||||||
|
|
||||||
|
# create event handler
|
||||||
|
event_handler = EventHandler(events_queue)
|
||||||
|
|
||||||
|
# push and event to the queue
|
||||||
|
event_handler.put_event(event)
|
||||||
|
|
||||||
|
# get the event from the queue
|
||||||
|
event_from_queue = event_handler.get_event()
|
||||||
|
|
||||||
|
assert event_from_queue.type == event.type
|
||||||
|
assert event_from_queue.data == event.data
|
Loading…
x
Reference in New Issue
Block a user