| 428 | cls.db_type = cls.access_type.impl.model |
| 429 | |
| 430 | def _assert_fields_equal(self, a, b, exclude=None): |
| 431 | exclude = exclude or [] |
| 432 | fields = { |
| 433 | k: v for k, v in six.iteritems(self.db_type._fields) if k not in exclude |
| 434 | } |
| 435 | |
| 436 | assert_funcs = { |
| 437 | "mongoengine.fields.DictField": self.assertDictEqual, |
| 438 | "mongoengine.fields.ListField": self.assertListEqual, |
| 439 | "mongoengine.fields.SortedListField": self.assertListEqual, |
| 440 | } |
| 441 | |
| 442 | for k, v in six.iteritems(fields): |
| 443 | assert_func = assert_funcs.get(str(v), self.assertEqual) |
| 444 | assert_func(getattr(a, k, None), getattr(b, k, None)) |
| 445 | |
| 446 | def _assert_values_equal(self, a, values=None): |
| 447 | values = values or {} |