def test_json_dumps_string(self): json_string = json.dumps({"foo": "bar"}) m = JSONModel(attrs=json_string) assert m.attrs == json_string m.save() m = JSONModel.objects.get() assert m.attrs == json_string
def test_control_characters(self): chars = "".join(chr(i) for i in range(32)) m = JSONModel(attrs=[chars]) assert m.attrs == [chars] m.save() m = JSONModel.objects.get() assert m.attrs == [chars]
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_false(self): m = JSONModel(attrs=False) assert m.attrs is False m.save() m = JSONModel.objects.get() assert m.attrs is False
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_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_awkward_2(self): m = JSONModel(attrs="\\") assert m.attrs == "\\" m.save() m = JSONModel.objects.get() assert m.attrs == "\\"
def test_awkward_1(self): m = JSONModel(attrs='"') assert m.attrs == '"' m.save() m = JSONModel.objects.get() assert m.attrs == '"'
def test_string(self): m = JSONModel(attrs="value") assert m.attrs == "value" m.save() m = JSONModel.objects.get() assert m.attrs == "value"
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_empty_dict(self): m = JSONModel() assert m.attrs == {} m.save() m = JSONModel.objects.get() assert m.attrs == {}
def test_nan_raises_valueerror(self): m = JSONModel(attrs=float("nan")) with pytest.raises(ValueError): m.save()
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'}