kopia lustrzana https://github.com/glidernet/ogn-python
46 wiersze
1.9 KiB
Python
46 wiersze
1.9 KiB
Python
import datetime
|
|
import unittest
|
|
from unittest.mock import MagicMock
|
|
|
|
from ogn_python.gateway.process_tools import DbSaver
|
|
|
|
|
|
class DbSaverTest(unittest.TestCase):
|
|
@unittest.skip('Obsolete due to new saving method. Needs rework')
|
|
def test_different_keys(self):
|
|
a = {'name': 'Jeff', 'receiver_name': 'Observer1', 'timestamp': datetime.datetime(2018, 5, 20, 18, 4, 45)}
|
|
b = {'name': 'John', 'receiver_name': 'Observer1', 'timestamp': datetime.datetime(2018, 5, 20, 18, 4, 45)}
|
|
c = {'name': 'John', 'receiver_name': 'Observer2', 'timestamp': datetime.datetime(2018, 5, 20, 18, 4, 45)}
|
|
d = {'name': 'John', 'receiver_name': 'Observer1', 'timestamp': datetime.datetime(2018, 5, 20, 18, 4, 46)}
|
|
|
|
session = MagicMock()
|
|
saver = DbSaver(session=session)
|
|
saver.add_message(a)
|
|
saver.add_message(b)
|
|
saver.add_message(c)
|
|
saver.add_message(d)
|
|
session.commit.assert_not_called()
|
|
|
|
saver.flush()
|
|
session.commit.assert_called_once()
|
|
|
|
@unittest.skip('Obsolete due to new saving method. Needs rework')
|
|
def test_pair(self):
|
|
a = {'name': 'Jeff', 'receiver_name': 'Observer1', 'timestamp': datetime.datetime(2018, 5, 20, 18, 4, 45), 'field_a': None, 'field_b': 3.141}
|
|
b = {'name': 'Jeff', 'receiver_name': 'Observer1', 'timestamp': datetime.datetime(2018, 5, 20, 18, 4, 45), 'field_a': 'WTF', 'field_c': None, 'field_d': 1.4142}
|
|
|
|
# merged = {'name': 'Jeff', 'receiver_name': 'Observer1', 'timestamp': datetime.datetime(2018, 5, 20, 18, 4, 45), 'field_a': 'WTF', 'field_b': 3.141, 'field_d': 1.4142}
|
|
|
|
session = MagicMock()
|
|
saver = DbSaver(session=session)
|
|
saver.add_message(a)
|
|
saver.add_message(b)
|
|
session.commit.assert_not_called()
|
|
|
|
saver.flush()
|
|
session.commit.assert_called_once()
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|