(self)
| 199 | self.assertEqual(dct, collections.defaultdict(dict, [("foo", "bar")])) |
| 200 | |
| 201 | def test_basic_validation(self): |
| 202 | self.assertRaises(TypeError, is_valid, 100) |
| 203 | self.assertRaises(TypeError, is_valid, "test") |
| 204 | self.assertRaises(TypeError, is_valid, 10.4) |
| 205 | |
| 206 | self.assertInvalid(b"test") |
| 207 | |
| 208 | # the simplest valid BSON document |
| 209 | self.assertTrue(is_valid(b"\x05\x00\x00\x00\x00")) |
| 210 | self.assertTrue(is_valid(BSON(b"\x05\x00\x00\x00\x00"))) |
| 211 | |
| 212 | # failure cases |
| 213 | self.assertInvalid(b"\x04\x00\x00\x00\x00") |
| 214 | self.assertInvalid(b"\x05\x00\x00\x00\x01") |
| 215 | self.assertInvalid(b"\x05\x00\x00\x00") |
| 216 | self.assertInvalid(b"\x05\x00\x00\x00\x00\x00") |
| 217 | self.assertInvalid(b"\x07\x00\x00\x00\x02a\x00\x78\x56\x34\x12") |
| 218 | self.assertInvalid(b"\x09\x00\x00\x00\x10a\x00\x05\x00") |
| 219 | self.assertInvalid(b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00") |
| 220 | self.assertInvalid(b"\x13\x00\x00\x00\x02foo\x00\x04\x00\x00\x00bar\x00\x00") |
| 221 | self.assertInvalid( |
| 222 | b"\x18\x00\x00\x00\x03foo\x00\x0f\x00\x00\x00\x10bar\x00\xff\xff\xff\x7f\x00\x00" |
| 223 | ) |
| 224 | self.assertInvalid(b"\x15\x00\x00\x00\x03foo\x00\x0c\x00\x00\x00\x08bar\x00\x01\x00\x00") |
| 225 | self.assertInvalid( |
| 226 | b"\x1c\x00\x00\x00\x03foo\x00" |
| 227 | b"\x12\x00\x00\x00\x02bar\x00" |
| 228 | b"\x05\x00\x00\x00baz\x00\x00\x00" |
| 229 | ) |
| 230 | self.assertInvalid(b"\x10\x00\x00\x00\x02a\x00\x04\x00\x00\x00abc\xff\x00") |
| 231 | |
| 232 | def test_bad_string_lengths(self): |
| 233 | self.assertInvalid(b"\x0c\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00") |
nothing calls this directly
no test coverage detected