mirror of
https://github.com/bigchaindb/bigchaindb.git
synced 2024-10-13 13:34:05 +00:00
Fix changefeed tests that were mocking the wrong thing
This commit is contained in:
parent
27eaae01a7
commit
ae52e015ce
@ -1,56 +1,67 @@
|
|||||||
from unittest.mock import patch
|
import pytest
|
||||||
|
from unittest.mock import Mock
|
||||||
|
|
||||||
from multipipes import Pipe
|
from multipipes import Pipe
|
||||||
|
from bigchaindb import Bigchain
|
||||||
from bigchaindb.backend.connection import Connection
|
from bigchaindb.backend.connection import Connection
|
||||||
from bigchaindb.pipelines.utils import ChangeFeed
|
from bigchaindb.pipelines.utils import ChangeFeed
|
||||||
|
|
||||||
|
|
||||||
MOCK_CHANGEFEED_DATA = [{
|
@pytest.fixture
|
||||||
'new_val': 'seems like we have an insert here',
|
def mock_changefeed_data():
|
||||||
'old_val': None,
|
return [
|
||||||
}, {
|
{
|
||||||
'new_val': None,
|
'new_val': 'seems like we have an insert here',
|
||||||
'old_val': 'seems like we have a delete here',
|
'old_val': None,
|
||||||
}, {
|
}, {
|
||||||
'new_val': 'seems like we have an update here',
|
'new_val': None,
|
||||||
'old_val': 'seems like we have an update here',
|
'old_val': 'seems like we have a delete here',
|
||||||
}]
|
}, {
|
||||||
|
'new_val': 'seems like we have an update here',
|
||||||
|
'old_val': 'seems like we have an update here',
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
@patch.object(Connection, 'run', return_value=MOCK_CHANGEFEED_DATA)
|
@pytest.fixture
|
||||||
def test_changefeed_insert(mock_run):
|
def mock_changefeed_bigchain(mock_changefeed_data):
|
||||||
|
connection = Connection()
|
||||||
|
connection.run = Mock(return_value=mock_changefeed_data)
|
||||||
|
return Bigchain(connection=connection)
|
||||||
|
|
||||||
|
|
||||||
|
def test_changefeed_insert(mock_changefeed_bigchain):
|
||||||
outpipe = Pipe()
|
outpipe = Pipe()
|
||||||
changefeed = ChangeFeed('backlog', ChangeFeed.INSERT)
|
changefeed = ChangeFeed('backlog', ChangeFeed.INSERT, bigchain=mock_changefeed_bigchain)
|
||||||
changefeed.outqueue = outpipe
|
changefeed.outqueue = outpipe
|
||||||
changefeed.run_forever()
|
changefeed.run_forever()
|
||||||
assert outpipe.get() == 'seems like we have an insert here'
|
assert outpipe.get() == 'seems like we have an insert here'
|
||||||
assert outpipe.qsize() == 0
|
assert outpipe.qsize() == 0
|
||||||
|
|
||||||
|
|
||||||
@patch.object(Connection, 'run', return_value=MOCK_CHANGEFEED_DATA)
|
def test_changefeed_delete(mock_changefeed_bigchain):
|
||||||
def test_changefeed_delete(mock_run):
|
|
||||||
outpipe = Pipe()
|
outpipe = Pipe()
|
||||||
changefeed = ChangeFeed('backlog', ChangeFeed.DELETE)
|
changefeed = ChangeFeed('backlog', ChangeFeed.DELETE, bigchain=mock_changefeed_bigchain)
|
||||||
changefeed.outqueue = outpipe
|
changefeed.outqueue = outpipe
|
||||||
changefeed.run_forever()
|
changefeed.run_forever()
|
||||||
assert outpipe.get() == 'seems like we have a delete here'
|
assert outpipe.get() == 'seems like we have a delete here'
|
||||||
assert outpipe.qsize() == 0
|
assert outpipe.qsize() == 0
|
||||||
|
|
||||||
|
|
||||||
@patch.object(Connection, 'run', return_value=MOCK_CHANGEFEED_DATA)
|
def test_changefeed_update(mock_changefeed_bigchain):
|
||||||
def test_changefeed_update(mock_run):
|
|
||||||
outpipe = Pipe()
|
outpipe = Pipe()
|
||||||
changefeed = ChangeFeed('backlog', ChangeFeed.UPDATE)
|
changefeed = ChangeFeed('backlog', ChangeFeed.UPDATE, bigchain=mock_changefeed_bigchain)
|
||||||
changefeed.outqueue = outpipe
|
changefeed.outqueue = outpipe
|
||||||
changefeed.run_forever()
|
changefeed.run_forever()
|
||||||
assert outpipe.get() == 'seems like we have an update here'
|
assert outpipe.get() == 'seems like we have an update here'
|
||||||
assert outpipe.qsize() == 0
|
assert outpipe.qsize() == 0
|
||||||
|
|
||||||
|
|
||||||
@patch.object(Connection, 'run', return_value=MOCK_CHANGEFEED_DATA)
|
def test_changefeed_multiple_operations(mock_changefeed_bigchain):
|
||||||
def test_changefeed_multiple_operations(mock_run):
|
|
||||||
outpipe = Pipe()
|
outpipe = Pipe()
|
||||||
changefeed = ChangeFeed('backlog', ChangeFeed.INSERT | ChangeFeed.UPDATE)
|
changefeed = ChangeFeed('backlog',
|
||||||
|
ChangeFeed.INSERT | ChangeFeed.UPDATE,
|
||||||
|
bigchain=mock_changefeed_bigchain)
|
||||||
changefeed.outqueue = outpipe
|
changefeed.outqueue = outpipe
|
||||||
changefeed.run_forever()
|
changefeed.run_forever()
|
||||||
assert outpipe.get() == 'seems like we have an insert here'
|
assert outpipe.get() == 'seems like we have an insert here'
|
||||||
@ -58,10 +69,12 @@ def test_changefeed_multiple_operations(mock_run):
|
|||||||
assert outpipe.qsize() == 0
|
assert outpipe.qsize() == 0
|
||||||
|
|
||||||
|
|
||||||
@patch.object(Connection, 'run', return_value=MOCK_CHANGEFEED_DATA)
|
def test_changefeed_prefeed(mock_changefeed_bigchain):
|
||||||
def test_changefeed_prefeed(mock_run):
|
|
||||||
outpipe = Pipe()
|
outpipe = Pipe()
|
||||||
changefeed = ChangeFeed('backlog', ChangeFeed.INSERT, prefeed=[1, 2, 3])
|
changefeed = ChangeFeed('backlog',
|
||||||
|
ChangeFeed.INSERT,
|
||||||
|
prefeed=[1, 2, 3],
|
||||||
|
bigchain=mock_changefeed_bigchain)
|
||||||
changefeed.outqueue = outpipe
|
changefeed.outqueue = outpipe
|
||||||
changefeed.run_forever()
|
changefeed.run_forever()
|
||||||
assert outpipe.qsize() == 4
|
assert outpipe.qsize() == 4
|
||||||
|
Loading…
x
Reference in New Issue
Block a user