コード例 #1
0
 def round_trip(self, doc):
     bson_bytes = to_bson(doc)
     self.assertEqual(bson_bytes, bsonjs.loads(bsonjs.dumps(bson_bytes)))
     # Check compatibility between bsonjs and json_util
     self.assertEqual(doc, json_util.loads(
         bsonjs.dumps(bson_bytes),
         json_options=json_util.STRICT_JSON_OPTIONS))
     self.assertEqual(bson_bytes, bsonjs.loads(json_util.dumps(
         doc, json_options=json_util.STRICT_JSON_OPTIONS)))
コード例 #2
0
 def test_dump_basic(self):
     json_str = '{ "test" : "me" }'
     bson_bytes = bsonjs.loads(json_str)
     filep = StringIO()
     bsonjs.dump(bson_bytes, filep)
     filep.seek(0)
     self.assertEqual(json_str, filep.read())
コード例 #3
0
    def test_load_unicode(self):
        json_unicode = u'{ "test" : "me" }'

        class UnicodeRead(object):
            def read(self):
                return json_unicode
        self.assertEqual(bsonjs.loads(json_unicode),
                         bsonjs.load(UnicodeRead()))
コード例 #4
0
 def setUpClass(cls) -> None:
     cls.dict = {
         'a': 'sdg',
         'b': .5,
         'aihghfasiuhhsdojkhgfhoijhdgh': 8762135476,
         'f': {
             'fdghgdfh': 763187225,
             'dfsgh': 'fd'
         },
         'd': [1, 2, 3, 4, 45],
     }
     cls.json = json.dumps(cls.dict)
     cls.doc = LazyDoc(bsonjs.loads(cls.json))
コード例 #5
0
 def dump_to_file(self, entry):
     oplog_entry_in_json_format=dumps(entry)  ## DISCUSS dumps
     # Reading ts value from Timestamp(ts,i)
     oplog_entry_epoch_time = entry['ts'].time
     LOG.info("timestamp : '%s'",oplog_entry_epoch_time)
     start_time, end_time = self.get_oplog_file_name(oplog_entry_epoch_time)
     oplog_file_name = str(start_time) + '-' + str(end_time) + '.bson'
     LOG.info("timestamp : '%s' belong '%s'",oplog_entry_epoch_time, oplog_file_name)
     LOG.info("oplogEntry '%s'",oplog_entry_in_json_format)
     bson_bytes = bsonjs.loads(oplog_entry_in_json_format)
     f= open("/var/vcap/store/oplogDump/"+oplog_file_name,"a")
     f.write(bson_bytes)
     f.close()
     self.write_to_localdb(oplog_file_name)
     # noqa: E501

    :param body: ${KEY} to be created
    :type body: dict | bytes

    :rtype: str
    """
    if connexion.request.is_json:
        body = connexion.request.get_json()  # noqa: E501

    doc_id = str(uuid.uuid4())
    body['_id'] = doc_id
    body['_sys'] = {'created_ts': int(time.time()), 'created_by': connexion.request.headers['x-api-user']}
    body_str = json.dumps(body)
    collection.insert_one(RawBSONDocument(bsonjs.loads(body_str)))

    qKey='{}{}'.format(KEY, dpath(body))
    publisher(body_str, routing_key='{}.create'.format(qKey), retry=True, declare=createQueues(qKey), headers={'_id':doc_id})

    skey = '{}|{}'.format(KEY, doc_id)
    r.set(skey, body_str, ex=3)
    r.delete(KEY)

    return doc_id


def delete${KEY}(ID):  # noqa: E501
    """Delete the ${KEY} instance based on ID

     # noqa: E501
コード例 #7
0
def bsonjs_loads(json_str):
    """Provide same API as json_util.loads"""
    return to_object(bsonjs.loads(json_str))
コード例 #8
0
 def test_load_basic(self):
     json_str = '{ "test" : "me" }'
     filep = StringIO(json_str)
     self.assertEqual(bsonjs.loads(json_str), bsonjs.load(filep))
コード例 #9
0
 def test_dump_throws_no_write_attribute(self):
     bson_bytes = bsonjs.loads('{ "test" : "me" }')
     not_file = {}
     self.assertRaises(AttributeError, bsonjs.dump, bson_bytes, not_file)
コード例 #10
0
 def test_loads_multiple_json_documents(self):
     json_str = '{ "test" : "me" }'
     self.assertEqual(bsonjs.loads(json_str), bsonjs.loads(json_str + "{}"))
コード例 #11
0
 def test_dumps_multiple_bson_documents(self):
     json_str = '{ "test" : "me" }'
     bson_bytes = bsonjs.loads(json_str)
     self.assertEqual(json_str, bsonjs.dumps(bson_bytes + bson_bytes))
コード例 #12
0
 def test_load_mongodb_extended_type_at_top_level(self):
     self.assertRaises(ValueError, bsonjs.loads,
                       '{"$numberLong": "42"}')
     self.assertRaises(ValueError, bsonjs.loads,
                       '{"$numberLong": "42", "a": 1}')
     _ = bsonjs.loads('{"a": 1, "$numberLong": "42"}')
コード例 #13
0
 def test_load_mongodb_extended_type_at_top_level(self):
     _ = bsonjs.loads('{"$numberLong": "42"}')
     _ = bsonjs.loads('{"$numberLong": "42", "a": 1}')
     _ = bsonjs.loads('{"a": 1, "$numberLong": "42"}')