-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathtest_document_creator.py
More file actions
37 lines (29 loc) · 1.68 KB
/
Copy pathtest_document_creator.py
File metadata and controls
37 lines (29 loc) · 1.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from __future__ import unicode_literals
from __future__ import print_function
from __future__ import division
from __future__ import absolute_import
from future import standard_library
standard_library.install_aliases()
from builtins import *
from mapr.ojai.ojai_utils.ojai_document_creator import OJAIDocumentCreator
try:
import unittest2 as unittest
except ImportError:
import unittest
class DocumentCreatorTest(unittest.TestCase):
def test_doc_creator_o_types(self):
doc_string = '{"test_float": {"$numberFloat": 11.1}, "_id": "121212", "test_int": {"$numberLong": 123}, ' \
'"first": {"test_timestamp": {"$date": "1970-12-12T19:12:12.000000Z"}, "test_int": {' \
'"$numberLong": 1235}}}'
doc = OJAIDocumentCreator.create_document(json_string=doc_string)
self.assertEqual(doc_string, doc.as_json_str())
def test_doc_creator_list(self):
doc_string = '{"test_list": [{"$numberLong": 1}, {"$numberLong": 2}, {"$numberLong": 3}, {"$numberLong": 4}]}'
doc = OJAIDocumentCreator.create_document(json_string=doc_string)
self.assertEqual(doc_string, doc.as_json_str())
def test_doc_creator_list_with_one_dict(self):
doc_string = '{"_id":"id008","test_dict":{"test_int":{"$numberLong":5}},"test_int":{"$numberLong":51},' \
'"test_list":[{"$numberLong":5},{"$numberLong":6}],"test_null":null,"test_str":"strstr"}'
doc = OJAIDocumentCreator.create_document(json_string=doc_string)
self.assertEqual({'test_null': None, 'test_dict': {'test_int': 5}, 'test_list': [5, 6], '_id': u'id008',
'test_str': 'strstr', 'test_int': 51}, doc.as_dictionary())