|
@@ -1,4 +1,5 @@
|
1
|
1
|
import copy
|
|
2
|
+import datetime
|
2
|
3
|
import unittest
|
3
|
4
|
from unittest import mock
|
4
|
5
|
from unittest.mock import patch
|
|
@@ -116,9 +117,22 @@ class LeQueryDatasourceTestCase(unittest.TestCase):
|
116
|
117
|
'lastname': 'bar',
|
117
|
118
|
'alias': None}
|
118
|
119
|
query.execute(datas)
|
119
|
|
- self.mockwrite.insert.assert_called_once_with(
|
120
|
|
- cls,
|
121
|
|
- cls.prepare_datas(datas, True, False))
|
|
120
|
+ self.assertEqual(self.mockwrite.insert.call_count, 1)
|
|
121
|
+ cargs , _ = self.mockwrite.insert.call_args
|
|
122
|
+ pdatas = cls.prepare_datas(datas, True, False)
|
|
123
|
+ self.assertEqual(cargs[0], cls)
|
|
124
|
+ cargs = cargs[1]
|
|
125
|
+ self.assertEqual(set(pdatas.keys()), set(cargs.keys()))
|
|
126
|
+ for dname in pdatas:
|
|
127
|
+ if isinstance(pdatas[dname], datetime.datetime):
|
|
128
|
+ d1 = pdatas[dname]
|
|
129
|
+ d2 = cargs[dname]
|
|
130
|
+ for vname in ('year', 'month', 'day', 'hour', 'minute'):
|
|
131
|
+ self.assertEqual(
|
|
132
|
+ getattr(d1, vname), getattr(d2, vname))
|
|
133
|
+ pass
|
|
134
|
+ else:
|
|
135
|
+ self.assertEqual(pdatas[dname], cargs[dname])
|
122
|
136
|
self.check_nocall(read = False, exclude = ['insert'])
|
123
|
137
|
self.check_nocall(read = True)
|
124
|
138
|
|