From e375537af4df95fb9e2b95430cc7e56e329bbb16 Mon Sep 17 00:00:00 2001 From: James Prestwich Date: Fri, 15 Sep 2017 11:12:13 -0600 Subject: [PATCH] start unit tests for db --- .gitignore | 1 + xcat/tests/test_cli.py | 6 +++-- xcat/tests/unit/test_cli.py | 9 +++++-- xcat/tests/unit/test_db.py | 53 +++++++++++++++++++++++++++++++++++++ 4 files changed, 65 insertions(+), 4 deletions(-) create mode 100644 xcat/tests/unit/test_db.py diff --git a/.gitignore b/.gitignore index f3921a7..d1c8dec 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ venv/ .tox/ coverage/ .coverage +.cache diff --git a/xcat/tests/test_cli.py b/xcat/tests/test_cli.py index 5d012cf..36a7bd3 100644 --- a/xcat/tests/test_cli.py +++ b/xcat/tests/test_cli.py @@ -2,13 +2,13 @@ import unittest import xcat.cli as cli from xcat.db import DB from xcat.protocol import Protocol -from xcat.tests.utils import mktrade +import xcat.tests.utils as testutils from xcat.trades import Trade # , Contract class SimpleTestCase(unittest.TestCase): def setUp(self): - self.trade = mktrade() + self.trade = testutils.mktrade() def test_exporttrade(self): self.__class__.hexstr = cli.exporttrade('test') @@ -20,6 +20,7 @@ class SimpleTestCase(unittest.TestCase): class CliTest(SimpleTestCase): + def test_findtrade(self): # trade = cli.findtrade('test') pass @@ -33,6 +34,7 @@ class CliTest(SimpleTestCase): protocol = Protocol() trade = db.get('new') + status = cli.seller_check_status(trade) print("Trade status: {0}\n".format(status)) self.assertEqual(status, 'init') diff --git a/xcat/tests/unit/test_cli.py b/xcat/tests/unit/test_cli.py index 8bf0ecd..1887b1c 100644 --- a/xcat/tests/unit/test_cli.py +++ b/xcat/tests/unit/test_cli.py @@ -7,8 +7,13 @@ import xcat.cli as cli class TestCLI(unittest.TestCase): - def test_save_state(self): - pass + @mock.patch('xcat.cli.DB') + @mock.patch('xcat.cli.utils') + def test_save_state(self, mock_utils, mock_db): + cli.save_state('fake_trade', 'fake_id') + + mock_utils.save.assert_called_with('fake_trade') + mock_db.return_value.create.assert_called_with('fake_trade', 'fake_id') def test_checkSellStatus(self): pass diff --git a/xcat/tests/unit/test_db.py b/xcat/tests/unit/test_db.py new file mode 100644 index 0000000..1e4281b --- /dev/null +++ b/xcat/tests/unit/test_db.py @@ -0,0 +1,53 @@ +import unittest +import unittest.mock as mock +import xcat.db as db +import xcat.tests.utils as utils + + +class TestDB(unittest.TestCase): + + @mock.patch('xcat.db.plyvel') + def setUp(self, mock_plyvel): + self.db = db.DB() + + def test_init(self): + self.assertIsInstance(self.db.db, mock.Mock) + self.assertIsInstance(self.db.preimageDB, mock.Mock) + + @mock.patch('xcat.db.json') + def test_create_with_dict(self, mock_json): + test_id = 'test trade id' + trade_string = 'trade string' + mock_json.dumps.return_value = trade_string + test_trade = utils.test_trade + + self.db.create(test_trade, test_id) + + mock_json.dumps.assert_called_with(test_trade) + self.db.db.put.assert_called_with( + str.encode(test_id), + str.encode(trade_string)) + + def test_create_with_trade(self): + pass + + def test_createByFundtx(self): + pass + + def test_get(self): + pass + + def test_instantiate(self): + pass + + def test_save_secret(self): + pass + + def test_get_secret(self): + pass + + def test_dump(self): + pass + + def test_print_entries(self): + pass