def test_json_serializer(self): dthandler = lambda x: (x.isoformat() if isinstance(x, datetime.datetime) else x) typerror = lambda x: json_response(self.data['with_time']) self.assertRaises(TypeError, typerror) response = json_response(self.data['with_time'], serializer=dthandler) # Back to datetime object t = datetime.datetime.strptime( json.loads(response.content.decode())['time'], '%Y-%m-%dT%H:%M:%S.%f') self.assertEquals(t, self.data['with_time']['time'])
def test_null_json_response(self): response = json_response(self.data['null']) self.assertIsNotNone(response.content) self.assertIsInstance(response.content.decode(), six.string_types) self.assertEquals(json.loads(response.content.decode()), self.data['null'])
def post(self, request, *args, **kwargs): """ Creates a new image from the upload form""" form = self.form_class(request.POST, request.FILES) # set the maximum upload file size to 10MB if form.files['image'].size > 10485760: return json_response(data="file too large", status=500) image = form.save(commit=False) image.owner = request.user image.title = form.files['image'].name image.save() response_json = json.dumps(image.to_json()) return HttpResponse(response_json, content_type="application/json")
def test_json_response(self): response = json_response(self.data['dict']) self.assertIsNotNone(response) self.assertIsInstance(response, HttpResponse) self.assertIsNotNone(response.content) self.assertIsInstance(response.content.decode(), six.string_types) self.assertEquals(json.loads(response.content.decode()), self.data['dict']) self.assertEquals(response.status_code, 200)
def test_json_response_code(self): response = json_response(self.data['null'], status=400) self.assertEquals(response.status_code, 400)