def test_pdf_conversion_job_is_queued_for_every_document(self): api.portal.set_registry_record( 'archival_file_conversion_enabled', True, interface=IDossierResolveProperties) doc1 = create(Builder('document') .within(self.dossier) .attach_file_containing( bumblebee_asset('example.docx').bytes(), u'example.docx')) create(Builder('document') .within(self.dossier) .attach_file_containing( bumblebee_asset('example.docx').bytes(), u'example.docx')) get_queue().reset() with RequestsSessionMock.installed(): api.content.transition(obj=self.dossier, transition='dossier-transition-resolve') transaction.commit() self.assertEquals(2, len(get_queue().queue)) self.assertDictContainsSubset( {'callback_url': '{}/archival_file_conversion_callback'.format( doc1.absolute_url()), 'file_url': 'http://nohost/plone/bumblebee_download?checksum={}&uuid={}'.format( DOCX_CHECKSUM, IUUID(doc1)), 'target_format': 'pdf/a', 'url': '/plone/dossier-1/document-1/bumblebee_trigger_conversion'}, get_queue().queue[0])
def test_pdf_conversion_job_is_queued_for_every_document(self): api.portal.set_registry_record('archival_file_conversion_enabled', True, interface=IDossierResolveProperties) doc1 = create( Builder('document').within(self.dossier).attach_file_containing( bumblebee_asset('example.docx').bytes(), u'example.docx')) create( Builder('document').within(self.dossier).attach_file_containing( bumblebee_asset('example.docx').bytes(), u'example.docx')) get_queue().reset() with RequestsSessionMock.installed(): api.content.transition(obj=self.dossier, transition='dossier-transition-resolve') transaction.commit() self.assertEquals(2, len(get_queue().queue)) self.assertDictContainsSubset( { 'callback_url': '{}/archival_file_conversion_callback'.format( doc1.absolute_url()), 'file_url': 'http://nohost/plone/bumblebee_download?checksum={}&uuid={}' .format(DOCX_CHECKSUM, IUUID(doc1)), 'target_format': 'pdf/a', 'url': '/plone/dossier-1/document-1/bumblebee_trigger_conversion' }, get_queue().queue[0])
def test_queue_storing_on_reviving(self, browser): self.login(self.administrator, browser) browser.visit(self.document) reset_queue() self.assertEquals(0, len(get_queue())) browser.css('.actionMenuContent li').find('Revive preview').first.click() self.assertEquals(1, len(get_queue()))
def test_queue_storing_on_reviving(self, browser): self.login(self.administrator, browser) browser.visit(self.document) reset_queue() self.assertEquals(0, len(get_queue())) browser.css('.actionMenuContent li').find( 'Revive preview').first.click() self.assertEquals(1, len(get_queue()))
def test_pdf_conversion_is_disabled_by_default(self): create( Builder('document').within(self.dossier).attach_file_containing( bumblebee_asset('example.docx').bytes(), u'example.docx')) get_queue().reset() with RequestsSessionMock.installed(): api.content.transition(obj=self.dossier, transition='dossier-transition-resolve') transaction.commit() self.assertEquals(0, len(get_queue().queue))
def test_pdf_conversion_is_disabled_by_default(self): create(Builder('document') .within(self.dossier) .attach_file_containing( bumblebee_asset('example.docx').bytes(), u'example.docx')) get_queue().reset() with RequestsSessionMock.installed(): api.content.transition(obj=self.dossier, transition='dossier-transition-resolve') transaction.commit() self.assertEquals(0, len(get_queue().queue))
def test_queues_demand_pdf_jobs_and_prepares_for_callback(self): self.login(self.meeting_user) self.schedule_proposal(self.meeting, self.submitted_proposal) self.schedule_ad_hoc(self.meeting, 'ad-hoc agenda item') reset_queue() exporter = MeetingZipExporter(self.meeting.model) job = exporter.demand_pdfs() queue = get_queue() self.assertEqual(3, len(queue.queue)) annotations = IAnnotations(self.committee) zip_jobs = annotations[ZIP_JOBS_KEY] self.assertIn(job.job_id, zip_jobs) zip_job_metadata = zip_jobs[job.job_id] self.assertIn('documents', zip_job_metadata) document_jobs = zip_job_metadata['documents'] self.assertEqual(3, len(document_jobs)) doc = self.submitted_proposal.get_proposal_document() document_id = IUUID(doc) self.assertIn(document_id, document_jobs) doc_job = document_jobs[document_id] self.assertDictContainsSubset({'status': 'converting'}, doc_job)
def test_queues_bumblebee_storing_after_revert_to_previous_version(self): dossier = create(Builder('dossier')) document = create( Builder('document').within(dossier).attach_file_containing( 'foo', u'example.docx')) create_document_version(document, 1, data=bumblebee_asset('example.docx').bytes()) create_document_version(document, 2) queue = get_queue() queue.reset() manager = getMultiAdapter((document, self.portal.REQUEST), ICheckinCheckoutManager) manager.revert_to_version(1) self.assertEquals(1, len(queue), 'Expected 1 job in the queue.') job, = queue.queue self.assertDictEqual( { 'application': 'local', 'file_url': ('http://nohost/plone/bumblebee_download' + '?checksum={}'.format(DOCX_CHECKSUM) + '&uuid={}'.format(IUUID(document))), 'salt': IUUID(document), 'checksum': DOCX_CHECKSUM, 'deferred': False, 'url': '/plone/dossier-1/document-1/bumblebee_trigger_storing' }, job)
def test_queues_demand_pdf_jobs_and_prepares_for_callback(self): self.login(self.meeting_user) self.schedule_proposal(self.meeting, self.submitted_proposal) self.schedule_ad_hoc(self.meeting, 'ad-hoc agenda item') reset_queue() exporter = MeetingZipExporter(self.meeting.model) job = exporter.demand_pdfs() queue = get_queue() self.assertEqual(3, len(queue.queue)) annotations = IAnnotations(self.committee) zip_jobs = annotations[ZIP_JOBS_KEY] self.assertIn(job.job_id, zip_jobs) zip_job_metadata = zip_jobs[job.job_id] self.assertIn('documents', zip_job_metadata) document_jobs = zip_job_metadata['documents'] self.assertEqual(3, len(document_jobs)) doc = self.submitted_proposal.get_proposal_document() document_id = IUUID(doc) self.assertIn(document_id, document_jobs) doc_job = document_jobs[document_id] self.assertDictContainsSubset( {'status': 'converting'}, doc_job)
def test_queues_bumblebee_storing_after_revert_to_previous_version(self): dossier = create(Builder('dossier')) document = create(Builder('document') .within(dossier) .attach_file_containing( 'foo', u'example.docx')) create_document_version(document, 1, data=bumblebee_asset('example.docx').bytes()) create_document_version(document, 2) queue = get_queue() queue.reset() manager = getMultiAdapter((document, self.portal.REQUEST), ICheckinCheckoutManager) manager.revert_to_version(1) self.assertEquals(1, len(queue), 'Expected 1 job in the queue.') job, = queue.queue self.assertDictEqual( {'application': 'local', 'file_url': ('http://nohost/plone/bumblebee_download' + '?checksum={}'.format(DOCX_CHECKSUM) + '&uuid={}'.format(IUUID(document))), 'salt': IUUID(document), 'checksum': DOCX_CHECKSUM, 'deferred': False, 'url': '/plone/dossier-1/document-1/bumblebee_trigger_storing'}, job)
def test_does_not_queue_bumblebee_storing_if_not_digitally_available(self): self.login(self.dossier_responsible) create(Builder('document').within(self.dossier)) queue = get_queue() self.assertEquals(0, len(queue), 'Expected no job in the queue.')
def test_queues_bumblebee_storing_after_revert_to_previous_version(self): self.login(self.dossier_responsible) self.subdocument.update_file( 'foo', content_type='text/plain', filename=u'foo.txt', ) create_document_version( self.subdocument, 1, data=bumblebee_asset('example.docx').bytes(), ) create_document_version(self.subdocument, 2) queue = get_queue() queue.reset() manager = self.get_checkout_manager(self.subdocument) manager.revert_to_version(1) self.assertEquals(1, len(queue), 'Expected 1 job in the queue.') expected_job = { 'application': 'local', 'file_url': ('http://nohost/plone/bumblebee_download?checksum={}&uuid={}'. format(DOCX_CHECKSUM, IUUID(self.subdocument))), 'salt': IUUID(self.subdocument), 'checksum': DOCX_CHECKSUM, 'deferred': False, 'url': ('/plone/ordnungssystem/fuhrung/vertrage-und-vereinbarungen' '/dossier-1/dossier-2/document-22/bumblebee_trigger_storing'), } found_job, = queue.queue self.assertDictEqual(expected_job, found_job)
def test_does_not_queue_bumblebee_storing_if_not_digitally_available(self): create(Builder('document')) queue = get_queue() self.assertEquals(0, len(queue), 'Expected no job in the queue.')
def test_does_not_queue_bumblebee_storing_if_not_digitally_available(self): create(Builder('document')) queue = get_queue() self.assertEquals(0, len(queue), 'Expected no job in the queue.')