class UploadForm(forms.Form): entry = forms.CharField(max_length=100) args = JSONField(required=False) working_dir = forms.CharField(max_length=50, required=False) git_user = forms.CharField(max_length=50) git_repo = forms.CharField(max_length=50) git_commit = forms.CharField(max_length=40) record_information = JSONField(required=False) result = JSONField()
def test_invalid(self): field = JSONField() with pytest.raises(exceptions.ValidationError) as excinfo: field.clean('{some badly formed: json}') assert ( excinfo.value.messages[0] == "'{some badly formed: json}' value must be valid JSON." )
def test_prepare_value(self): field = JSONField() assert field.prepare_value({'a': 'b'}) == '{"a": "b"}' assert field.prepare_value(['a', 'b']) == '["a", "b"]' assert field.prepare_value(True) == 'true' assert field.prepare_value(False) == 'false' assert field.prepare_value(3.14) == '3.14' assert field.prepare_value(None) == 'null' assert field.prepare_value('foo') == '"foo"'
def test_prepare_value(self): field = JSONField() assert field.prepare_value({"a": "b"}) == '{"a": "b"}' assert field.prepare_value(["a", "b"]) == '["a", "b"]' assert field.prepare_value(True) == "true" assert field.prepare_value(False) == "false" assert field.prepare_value(3.14) == "3.14" assert field.prepare_value(None) == "null" assert field.prepare_value("foo") == '"foo"'
def test_already_converted_value(self): field = JSONField(required=False) tests = [ '["a", "b", "c"]', '{"a": 1, "b": 2}', '1', '1.5', '"foo"', 'true', 'false', 'null', ] for json_string in tests: val = field.clean(json_string) assert field.clean(val) == val
def test_prepare_value(self): field = JSONField() assert field.prepare_value({'a': 'b'}) == '{"a": "b"}' assert field.prepare_value(None) == 'null'
def test_valid_empty(self): field = JSONField(required=False) value = field.clean('') assert value is None
def test_valid(self): field = JSONField() value = field.clean('{"a": "b"}') assert value == {'a': 'b'}
class JsonForm(forms.Form): jfield = JSONField(disabled=True)
class JsonForm(forms.Form): name = forms.CharField(max_length=2) jfield = JSONField()