2018-09-03 17:58:35 +00:00
|
|
|
import time
|
|
|
|
import unittest
|
|
|
|
from unittest.mock import MagicMock
|
|
|
|
|
2018-12-03 18:43:46 +00:00
|
|
|
from ogn.gateway.process_tools import DbSaver
|
2018-09-03 17:58:35 +00:00
|
|
|
|
|
|
|
|
|
|
|
class DbSaverTest(unittest.TestCase):
|
|
|
|
def test(self):
|
|
|
|
a = "Albert"
|
|
|
|
b = "Bertram"
|
|
|
|
c = "Caspar"
|
2018-12-03 18:43:46 +00:00
|
|
|
|
2018-09-03 17:58:35 +00:00
|
|
|
session = MagicMock()
|
|
|
|
saver = DbSaver(session=session)
|
|
|
|
saver.add_message(a)
|
|
|
|
session.bulk_save_objects.assert_not_called()
|
|
|
|
|
|
|
|
saver.add_message(b)
|
|
|
|
session.bulk_save_objects.assert_not_called()
|
|
|
|
|
|
|
|
saver.add_message(c)
|
|
|
|
saver.flush()
|
|
|
|
session.bulk_save_objects.assert_called_once_with([a, b, c])
|
|
|
|
|
|
|
|
def test_timeout(self):
|
|
|
|
a = "Xanthippe"
|
|
|
|
b = "Yvonne"
|
2018-12-03 18:43:46 +00:00
|
|
|
|
2018-09-03 17:58:35 +00:00
|
|
|
session = MagicMock()
|
|
|
|
saver = DbSaver(session=session)
|
|
|
|
saver.add_message(a)
|
|
|
|
session.bulk_save_objects.assert_not_called()
|
|
|
|
|
|
|
|
time.sleep(1)
|
|
|
|
|
|
|
|
saver.add_message(b)
|
|
|
|
session.bulk_save_objects.assert_called_once_with([a, b])
|
2018-12-03 18:43:46 +00:00
|
|
|
|
2018-09-03 17:58:35 +00:00
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
unittest.main()
|