Пример #1
0
 def setUp(self):
     super().setUp()
     self.objs = [
         DynamicModel(attrs={"a": "b"}),
         DynamicModel(attrs={
             "a": "b",
             "c": "d"
         }),
         DynamicModel(attrs={"c": "d"}),
         DynamicModel(attrs={}),
         DynamicModel(
             attrs={
                 "datetimey": datetime(2001, 1, 4, 14, 15, 16),
                 "datey": date(2001, 1, 4),
                 "floaty": 128.5,
                 "inty": 9001,
                 "stry": "strvalue",
                 "str_underscorey": "strvalue2",
                 "timey": time(14, 15, 16),
                 "nesty": {
                     "level2": "chirp"
                 },
             }),
     ]
     DynamicModel.objects.bulk_create(self.objs)
     self.objs = list(DynamicModel.objects.all().order_by("id"))
Пример #2
0
 def setUp(self):
     super(QueryTests, self).setUp()
     self.objs = [
         DynamicModel(attrs={'a': 'b'}),
         DynamicModel(attrs={
             'a': 'b',
             'c': 'd'
         }),
         DynamicModel(attrs={'c': 'd'}),
         DynamicModel(attrs={}),
         DynamicModel(
             attrs={
                 'datetimey': datetime(2001, 1, 4, 14, 15, 16),
                 'datey': date(2001, 1, 4),
                 'floaty': 128.5,
                 'inty': 9001,
                 'stry': "strvalue",
                 'str_underscorey': "strvalue2",
                 'timey': time(14, 15, 16),
                 'nesty': {
                     'level2': 'chirp',
                 },
             }),
     ]
     DynamicModel.objects.bulk_create(self.objs)
     self.objs = list(DynamicModel.objects.all().order_by('id'))
Пример #3
0
 def test_bulk_create(self):
     DynamicModel.objects.bulk_create(
         [DynamicModel(attrs={"a": "value"}), DynamicModel(attrs={"b": "value2"})]
     )
     dm1, dm2 = DynamicModel.objects.all().order_by("id")
     assert dm1.attrs == {"a": "value"}
     assert dm2.attrs == {"b": "value2"}
Пример #4
0
 def test_bulk_create(self):
     DynamicModel.objects.bulk_create([
         DynamicModel(attrs={'a': 'value'}),
         DynamicModel(attrs={'b': 'value2'}),
     ])
     dm1, dm2 = DynamicModel.objects.all().order_by('id')
     assert dm1.attrs == {'a': 'value'}
     assert dm2.attrs == {'b': 'value2'}
Пример #5
0
    def test_character_set_not_utf8_compatible(self):
        with connection.cursor() as cursor:
            cursor.execute("SELECT @@character_set_client")
            orig_charset = cursor.fetchone()[0]
            cursor.execute("SET NAMES 'latin1'")
            try:
                errors = DynamicModel.check()
            finally:
                cursor.execute(f"SET NAMES '{orig_charset}'")

        assert len(errors) == 1
        assert errors[0].id == "django_mysql.E014"
        assert "The MySQL charset must be 'utf8'" in errors[0].msg
Пример #6
0
 def test_illegal_nested_type(self):
     m = DynamicModel(attrs={"nesty": []})
     with pytest.raises(TypeError) as excinfo:
         m.save()
     assert "Key 'nesty' should be of type dict" in str(excinfo.value)
Пример #7
0
 def test_illegal_nested(self):
     m = DynamicModel(attrs={"nesty": {"level2": 1}})
     with pytest.raises(TypeError) as excinfo:
         m.save()
     assert "Key 'nesty.level2' should be of type " in str(excinfo.value)
Пример #8
0
 def test_illegal_int(self):
     m = DynamicModel(attrs={"inty": 1.0})
     with pytest.raises(TypeError) as excinfo:
         m.save()
     assert "Key 'inty' should be of type int" in str(excinfo.value)
Пример #9
0
 def test_dumping(self):
     instance = DynamicModel(attrs={"a": "b"})
     data = serializers.serialize("json", [instance])
     assert json.loads(data) == json.loads(self.test_data)
Пример #10
0
 def test_mariadb_dyncol_missing(self):
     errors = DynamicModel.check()
     assert len(errors) == 1
     assert errors[0].id == "django_mysql.E012"
     assert "'mariadb_dyncol' is required" in errors[0].msg
Пример #11
0
 def test_dumping(self):
     instance = DynamicModel(attrs={'a': 'b'})
     data = serializers.serialize('json', [instance])
     assert json.loads(data) == json.loads(self.test_data)