From ea90f7d8276ec9df583b94d7d00c128e63f147ef Mon Sep 17 00:00:00 2001 From: BonfaceKilz Date: Mon, 7 Jun 2021 11:16:45 +0300 Subject: tests: test_db: Add a test-case for fetchall --- tests/unit/db/test_db.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'tests/unit/db/test_db.py') diff --git a/tests/unit/db/test_db.py b/tests/unit/db/test_db.py index 2e38d4c..485678f 100644 --- a/tests/unit/db/test_db.py +++ b/tests/unit/db/test_db.py @@ -2,10 +2,12 @@ from unittest import TestCase from unittest import mock +from gn3.db import fetchall from gn3.db import fetchone from gn3.db import update from gn3.db import diff_from_dict from gn3.db.phenotypes import Phenotype +from gn3.db.metadata_audit import MetadataAudit class TestCrudMethods(TestCase): @@ -65,6 +67,35 @@ class TestCrudMethods(TestCase): "SELECT * FROM Phenotype WHERE id = %s AND Owner = %s", (35, 'Rob')) + def test_fetchall_metadataaudit(self): + """Test that multiple metadata_audit entries are fetched properly + + """ + db_mock = mock.MagicMock() + with db_mock.cursor() as cursor: + test_data = ( + 35, "Rob", ('{"pages": ' + '{"old": "5099-5109", ' + '"new": "5099-5110"}, ' + '"month": {"old": "July", ' + '"new": "June"}, ' + '"year": {"old": "2001", ' + '"new": "2002"}}'), + "2021-06-04 09:01:05" + ) + cursor.fetchall.return_value = (test_data,) + metadata = list(fetchall(db_mock, + "metadata_audit", + where=MetadataAudit(dataset_id=35, + editor="Rob")))[0] + self.assertEqual(metadata.dataset_id, 35) + self.assertEqual(metadata.time_stamp, + "2021-06-04 09:01:05") + cursor.execute.assert_called_once_with( + ("SELECT * FROM metadata_audit WHERE " + "dataset_id = %s AND editor = %s"), + (35, 'Rob')) + def test_diff_from_dict(self): """Test that a correct diff is generated""" self.assertEqual(diff_from_dict({"id": 1, "data": "a"}, -- cgit v1.2.3