MCPcopy Index your code
hub / github.com/mongodb/mongo-python-driver / test_basic_encode

Method test_basic_encode

test/test_bson.py:410–515  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

408 )
409
410 def test_basic_encode(self):
411 self.assertRaises(TypeError, encode, 100)
412 self.assertRaises(TypeError, encode, "hello")
413 self.assertRaises(TypeError, encode, None)
414 self.assertRaises(TypeError, encode, [])
415
416 self.assertEqual(encode({}), BSON(b"\x05\x00\x00\x00\x00"))
417 self.assertEqual(encode({}), b"\x05\x00\x00\x00\x00")
418 self.assertEqual(
419 encode({"test": "hello world"}),
420 b"\x1B\x00\x00\x00\x02\x74\x65\x73\x74\x00\x0C\x00"
421 b"\x00\x00\x68\x65\x6C\x6C\x6F\x20\x77\x6F\x72\x6C"
422 b"\x64\x00\x00",
423 )
424 self.assertEqual(
425 encode({"mike": 100}),
426 b"\x0F\x00\x00\x00\x10\x6D\x69\x6B\x65\x00\x64\x00\x00\x00\x00",
427 )
428 self.assertEqual(
429 encode({"hello": 1.5}),
430 b"\x14\x00\x00\x00\x01\x68\x65\x6C\x6C\x6F\x00\x00\x00\x00\x00\x00\x00\xF8\x3F\x00",
431 )
432 self.assertEqual(
433 encode({"true": True}), b"\x0C\x00\x00\x00\x08\x74\x72\x75\x65\x00\x01\x00"
434 )
435 self.assertEqual(
436 encode({"false": False}), b"\x0D\x00\x00\x00\x08\x66\x61\x6C\x73\x65\x00\x00\x00"
437 )
438 self.assertEqual(
439 encode({"empty": []}),
440 b"\x11\x00\x00\x00\x04\x65\x6D\x70\x74\x79\x00\x05\x00\x00\x00\x00\x00",
441 )
442 self.assertEqual(
443 encode({"none": {}}),
444 b"\x10\x00\x00\x00\x03\x6E\x6F\x6E\x65\x00\x05\x00\x00\x00\x00\x00",
445 )
446 self.assertEqual(
447 encode({"test": Binary(b"test", 0)}),
448 b"\x14\x00\x00\x00\x05\x74\x65\x73\x74\x00\x04\x00\x00\x00\x00\x74\x65\x73\x74\x00",
449 )
450 self.assertEqual(
451 encode({"test": Binary(b"test", 2)}),
452 b"\x18\x00\x00\x00\x05\x74\x65\x73\x74\x00\x08\x00"
453 b"\x00\x00\x02\x04\x00\x00\x00\x74\x65\x73\x74\x00",
454 )
455 self.assertEqual(
456 encode({"test": Binary(b"test", 128)}),
457 b"\x14\x00\x00\x00\x05\x74\x65\x73\x74\x00\x04\x00\x00\x00\x80\x74\x65\x73\x74\x00",
458 )
459 self.assertEqual(
460 encode({"vector_int8": Binary.from_vector([-128, -1, 127], BinaryVectorDtype.INT8)}),
461 b"\x1c\x00\x00\x00\x05vector_int8\x00\x05\x00\x00\x00\t\x03\x00\x80\xff\x7f\x00",
462 )
463 self.assertEqual(
464 encode({"vector_bool": Binary.from_vector([1, 127], BinaryVectorDtype.PACKED_BIT)}),
465 b"\x1b\x00\x00\x00\x05vector_bool\x00\x04\x00\x00\x00\t\x10\x00\x01\x7f\x00",
466 )
467 self.assertEqual(

Callers

nothing calls this directly

Calls 7

encodeFunction · 0.90
BSONClass · 0.90
BinaryClass · 0.90
CodeClass · 0.90
ObjectIdClass · 0.90
DBRefClass · 0.90
from_vectorMethod · 0.80

Tested by

no test coverage detected