def test_list(self): m = JSONModel(attrs=[1, 2, 4]) assert m.attrs == [1, 2, 4] m.save() m = JSONModel.objects.get() assert m.attrs == [1, 2, 4]
def test_true(self): m = JSONModel(attrs=True) assert m.attrs is True m.save() m = JSONModel.objects.get() assert m.attrs is True
def test_string(self): m = JSONModel(attrs='value') assert m.attrs == 'value' m.save() m = JSONModel.objects.get() assert m.attrs == 'value'
def test_awkward_2(self): m = JSONModel(attrs='\\') assert m.attrs == '\\' m.save() m = JSONModel.objects.get() assert m.attrs == '\\'
def test_values(self): m = JSONModel(attrs={'key': 'value'}) assert m.attrs == {'key': 'value'} m.save() m = JSONModel.objects.get() assert m.attrs == {'key': 'value'}
def test_dumping(self): instance = JSONModel(attrs={'a': 'b', 'c': None}) data = serializers.serialize('json', [instance]) assert json.loads(data) == json.loads(self.test_data)
def test_nan_raises_valueerror(self): m = JSONModel(attrs=float('nan')) with pytest.raises(ValueError): m.save()
def test_empty_dict(self): m = JSONModel() assert m.attrs == {} m.save() m = JSONModel.objects.get() assert m.attrs == {}
def test_false(self): m = JSONModel(attrs=False) assert m.attrs is False m.save() m = JSONModel.objects.get() assert m.attrs is False
def test_null(self): m = JSONModel(attrs=None) assert m.attrs is None m.save() m = JSONModel.objects.get() assert m.attrs is None
def test_old_django(self): errors = JSONModel.check() assert len(errors) == 1 assert errors[0].id == 'django_mysql.E015' assert 'Django 1.8+ is required' in errors[0].msg