def saving(request): xform = XFormInstance() xform.deferred_put_attachment('-', 'form.xml') xform.save() case = CommCareCase() case.save() xform.initial_processing_complete = True xform.save() case.delete() xform.delete() return HttpResponse('Thanks for submitting', status=201)
def test_extract_form_attachment_info(self): image_1_name = "1234.jpg" image_2_name = "5678.jpg" form = { "name": "foo", "color": "bar", "image_1": image_1_name, "my_group": { "image_2": image_2_name } } attachments = { image_1_name: { "content_type": "image/jpeg", "content_length": 1024, }, image_2_name: { "content_type": "image/jpeg", "content_length": 2048, }, "form.xml": { "content_type": "text/xml", "content_length": 2048, } } with mock.patch.object(XFormInstanceSQL, 'form_data') as form_data_mock: form_data_mock.__get__ = mock.MagicMock(return_value=form) couch_xform = XFormInstance( received_on=datetime.datetime.now(), form=form, ) for name, meta in attachments.items(): couch_xform.deferred_put_attachment("content", name, **meta) sql_xform = XFormInstanceSQL(received_on=datetime.datetime.now()) sql_xform.unsaved_attachments = [ XFormAttachmentSQL(name=name, **meta) for name, meta in attachments.items() ] for xform in (couch_xform, sql_xform): print(type(xform).__name__) form_info = _extract_form_attachment_info( xform, {"my_group-image_2", "image_1"}) attachments = {a['name']: a for a in form_info['attachments']} self.assertTrue(image_1_name in attachments) self.assertTrue(image_2_name in attachments) self.assertEqual(attachments[image_1_name]['question_id'], "image_1") self.assertEqual(attachments[image_2_name]['question_id'], "my_group-image_2")
def test_extract_form_attachment_info(self): image_1_name = "1234.jpg" image_2_name = "5678.jpg" form = { "name": "foo", "color": "bar", "image_1": image_1_name, "my_group": { "image_2": image_2_name } } attachments = { image_1_name: { "content_type": "image/jpeg", "content_length": 1024, }, image_2_name: { "content_type": "image/jpeg", "content_length": 2048, }, "form.xml": { "content_type": "text/xml", "content_length": 2048, } } with mock.patch.object(XFormInstanceSQL, 'form_data') as form_data_mock: form_data_mock.__get__ = mock.MagicMock(return_value=form) couch_xform = XFormInstance( received_on=datetime.datetime.now(), form=form, ) for name, meta in attachments.items(): couch_xform.deferred_put_attachment("content", name, **meta) sql_xform = XFormInstanceSQL(received_on=datetime.datetime.now()) sql_xform.attachments_list = [BlobMeta(name=name, **meta) for name, meta in attachments.items()] for xform in (couch_xform, sql_xform): print(type(xform).__name__) form_info = _extract_form_attachment_info(xform, {"my_group-image_2", "image_1"}) attachments = {a['name']: a for a in form_info['attachments']} self.assertTrue(image_1_name in attachments) self.assertTrue(image_2_name in attachments) self.assertEqual(attachments[image_1_name]['question_id'], "image_1") self.assertEqual(attachments[image_2_name]['question_id'], "my_group-image_2")