def test_get_with_attachments(self): form = create_form_for_test(DOMAIN) form = FormAccessorSQL.get_form( form.form_id) # refetch to clear cached attachments with self.assertNumQueries( 1, using=db_for_read_write(XFormAttachmentSQL)): form.get_attachment_meta('form.xml') with self.assertNumQueries( 1, using=db_for_read_write(XFormAttachmentSQL)): form.get_attachment_meta('form.xml') with ExitStack() as stack: if settings.USE_PARTITIONED_DATABASE: proxy_queries = 1 stack.enter_context(self.assertNumQueries(1, using=form.db)) else: proxy_queries = 2 stack.enter_context( self.assertNumQueries( proxy_queries, using=db_for_read_write(XFormAttachmentSQL))) form = FormAccessorSQL.get_with_attachments(form.form_id) self._check_simple_form(form) with self.assertNumQueries( 0, using=db_for_read_write(XFormAttachmentSQL)): attachment_meta = form.get_attachment_meta('form.xml') self.assertEqual(form.form_id, attachment_meta.form_id) self.assertEqual('form.xml', attachment_meta.name) self.assertEqual('text/xml', attachment_meta.content_type)
def test_get_with_attachments(self): form = create_form_for_test(DOMAIN) with self.assertNumQueries(1, using=db_for_read_write(XFormAttachmentSQL)): form.get_attachment_meta('form.xml') with self.assertNumQueries(2, using=db_for_read_write(XFormAttachmentSQL)): form = FormAccessorSQL.get_with_attachments(form.form_id) self._check_simple_form(form) with self.assertNumQueries(0, using=db_for_read_write(XFormAttachmentSQL)): attachment_meta = form.get_attachment_meta('form.xml') self.assertEqual(form.form_id, attachment_meta.form_id) self.assertEqual('form.xml', attachment_meta.name) self.assertEqual('text/xml', attachment_meta.content_type)
def test_get_with_attachments(self): form = create_form_for_test(DOMAIN) form = FormAccessorSQL.get_form( form.form_id) # refetch to clear cached attachments form_db = get_db_alias_for_partitioned_doc(form.form_id) with self.assertNumQueries(1, using=form_db): form.get_attachment_meta('form.xml') with self.assertNumQueries(1, using=form_db): form.get_attachment_meta('form.xml') with self.assertNumQueries(2, using=form_db): form = FormAccessorSQL.get_with_attachments(form.form_id) self._check_simple_form(form) with self.assertNumQueries(0, using=form_db): attachment_meta = form.get_attachment_meta('form.xml') self.assertEqual(form.form_id, attachment_meta.parent_id) self.assertEqual('form.xml', attachment_meta.name) self.assertEqual('text/xml', attachment_meta.content_type)