def test_author_indexers(self):
        """check the author indexers."""

        doc1 = createContentInContainer(self.portal,
                                        'opengever.document.document',
                                        title=u"Doc One",
                                        document_author=u'Hugo Boss',
                                        document_date=datetime.date(
                                            2011, 1, 1))

        self.assertEquals(obj2brain(doc1).document_author, 'Hugo Boss')
        self.assertEquals(
            index_data_for(doc1).get('sortable_author'), u'Hugo Boss')

        # without a author
        doc1.document_author = None
        doc1.reindexObject()

        self.assertEquals(obj2brain(doc1).document_author, None)
        self.assertEquals(index_data_for(doc1).get('sortable_author'), u'')

        # with a non-ascii characters including author

        doc1.document_author = u'H\xfcgo B\xf6ss'
        doc1.reindexObject()

        self.assertEquals(
            obj2brain(doc1).document_author, 'H\xc3\xbcgo B\xc3\xb6ss')
        self.assertEquals(
            index_data_for(doc1).get('sortable_author'), u'H\xfcgo B\xf6ss')
Example #2
0
    def test_filing_no_is_not_indexed_for_default_dossiers(self):
        self.login(self.regular_user)

        self.dossier.reindexObject()

        self.assertEquals(None, index_data_for(self.dossier).get('filing_no'))
        self.assertEquals(None, index_data_for(self.dossier).get('searchable_filing_no'))
    def test_author_indexers(self):
        """check the author indexers."""

        doc1 = createContentInContainer(
            self.portal, 'opengever.document.document',
            title=u"Doc One", document_author=u'Hugo Boss',
            document_date=datetime.date(2011, 1, 1))

        self.assertEquals(obj2brain(doc1).document_author, 'Hugo Boss')
        self.assertEquals(
            index_data_for(doc1).get('sortable_author'),
            u'Hugo Boss')

        # without a author
        doc1.document_author = None
        doc1.reindexObject()

        self.assertEquals(obj2brain(doc1).document_author, None)
        self.assertEquals(
            index_data_for(doc1).get('sortable_author'), u'')

        # with a non-ascii characters including author

        doc1.document_author = u'H\xfcgo B\xf6ss'
        doc1.reindexObject()

        self.assertEquals(
            obj2brain(doc1).document_author, 'H\xc3\xbcgo B\xc3\xb6ss')
        self.assertEquals(
            index_data_for(doc1).get('sortable_author'), u'H\xfcgo B\xf6ss')
    def test_file_extension_uses_extension_of_original_message_if_exists(self):
        self.login(self.regular_user)

        self.assertEqual('.msg',
                         index_data_for(self.mail_msg).get('file_extension'))
        self.assertEqual('.eml',
                         index_data_for(self.mail_eml).get('file_extension'))
    def test_file_extension_uses_extension_of_original_message_if_exists(self):
        self.login(self.regular_user)

        self.assertEqual('.msg',
                         index_data_for(self.mail_msg).get('file_extension'))
        self.assertEqual('.eml',
                         index_data_for(self.mail_eml).get('file_extension'))
    def test_document_type_indexer(self):
        document = create(Builder("document"))
        self.assertEqual(index_data_for(document)['document_type'], None)

        IDocumentMetadata(document).document_type = "question"
        document.reindexObject()
        self.assertEqual(index_data_for(document)['document_type'], "question")
    def test_reindexes_distinct_parent_and_related_documents(self):
        self.login(self.dossier_responsible)

        principal = 'user:{}'.format(self.secretariat_user.id)

        self.assertNotIn(principal,
                         index_data_for(self.dossier)['allowedRolesAndUsers'])
        self.assertNotIn(principal,
                         index_data_for(self.document)['allowedRolesAndUsers'])

        task = create(Builder('task')
                      .within(self.dossier)
                      .titled(u'Aufgabe 1')
                      .having(responsible_client='fa',
                              responsible=self.secretariat_user.id,
                              issuer=self.dossier_responsible.getId(),
                              task_type='correction',
                              deadline=date(2016, 11, 1))
                      .in_state('task-state-in-progress')
                      .relate_to(self.document))

        self.assertIn(principal,
                      index_data_for(self.dossier)['allowedRolesAndUsers'])
        self.assertIn(principal,
                      index_data_for(self.document)['allowedRolesAndUsers'])
        self.assertIn(principal,
                      index_data_for(task)['allowedRolesAndUsers'])
    def test_document_type_indexer(self):
        document = create(Builder("document"))
        self.assertEqual(index_data_for(document)['document_type'], None)

        IDocumentMetadata(document).document_type = "question"
        document.reindexObject()
        self.assertEqual(index_data_for(document)['document_type'], "question")
Example #9
0
    def test_reindexes_distinct_parent_and_related_documents(self):
        self.login(self.dossier_responsible)

        principal = 'user:{}'.format(self.secretariat_user.id)

        self.assertNotIn(principal,
                         index_data_for(self.dossier)['allowedRolesAndUsers'])
        self.assertNotIn(principal,
                         index_data_for(self.document)['allowedRolesAndUsers'])

        task = create(
            Builder('task').within(self.dossier).titled(u'Aufgabe 1').having(
                responsible_client='fa',
                responsible=self.secretariat_user.id,
                issuer=self.dossier_responsible.getId(),
                task_type='correction',
                deadline=date(2016, 11,
                              1)).in_state('task-state-in-progress').relate_to(
                                  self.document))

        self.assertIn(principal,
                      index_data_for(self.dossier)['allowedRolesAndUsers'])
        self.assertIn(principal,
                      index_data_for(self.document)['allowedRolesAndUsers'])
        self.assertIn(principal, index_data_for(task)['allowedRolesAndUsers'])
Example #10
0
    def test_filing_no_is_not_indexed_for_default_dossiers(self):
        self.login(self.regular_user)

        self.dossier.reindexObject()

        self.assertEquals(None, index_data_for(self.dossier).get('filing_no'))
        self.assertEquals(None, index_data_for(self.dossier).get('searchable_filing_no'))
Example #11
0
    def test_returns_empty_string_for_dossiers_without_filing_information(self):

        dossier = create(Builder("dossier"))

        # no number, no prefix
        self.assertEquals(None, index_data_for(dossier).get('filing_no'))
        self.assertEquals('',
                          index_data_for(dossier).get('searchable_filing_no'))
Example #12
0
    def test_filing_no_is_not_indexed_for_default_dossiers(self):
        dossier = create(Builder("dossier")
                         .having(filing_prefix='directorate',
                                 filing_no='SKA ARCH-Administration-2012-3'))

        self.assertEquals(None, index_data_for(dossier).get('filing_no'))
        self.assertEquals(None,
                          index_data_for(dossier).get('searchable_filing_no'))
Example #13
0
    def test_filing_no_is_not_indexed_for_default_dossiers(self):
        dossier = create(
            Builder("dossier").having(
                filing_prefix='directorate',
                filing_no='SKA ARCH-Administration-2012-3'))

        self.assertEquals(None, index_data_for(dossier).get('filing_no'))
        self.assertEquals(None,
                          index_data_for(dossier).get('searchable_filing_no'))
Example #14
0
    def test_returns_first_part_of_the_filing_number_for_dossiers_with_only_filing_prefix_information(self):
        dossier = create(Builder("dossier")
                 .having(filing_prefix='directorate'))

        self.assertEquals('OG-Directorate-?',
                          index_data_for(dossier).get('filing_no'))

        self.assertEquals(['og', 'directorate'],
                          index_data_for(dossier).get('searchable_filing_no'))
Example #15
0
    def test_returns_empty_string_for_dossiers_without_filing_information(
            self):

        dossier = create(Builder("dossier"))

        # no number, no prefix
        self.assertEquals(None, index_data_for(dossier).get('filing_no'))
        self.assertEquals('',
                          index_data_for(dossier).get('searchable_filing_no'))
Example #16
0
    def test_is_subdossier_index(self):
        self.assertFalse(index_data_for(self.dossier).get('is_subdossier'))
        self.assertTrue(index_data_for(self.subdossier).get('is_subdossier'))

        dossiertemplate = create(Builder('dossiertemplate'))
        sub_dossiertemplate = create(
            Builder('dossiertemplate').within(dossiertemplate))
        self.assertFalse(index_data_for(dossiertemplate).get('is_subdossier'))
        self.assertTrue(
            index_data_for(sub_dossiertemplate).get('is_subdossier'))
Example #17
0
    def test_returns_filing_number_for_dossiers_with_only_filing_prefix_information(self):
        dossier = create(Builder("dossier")
                         .having(filing_prefix='directorate',
                                 filing_no='SKA ARCH-Administration-2012-3'))

        # with number and prefix
        self.assertEquals('SKA ARCH-Administration-2012-3',
                          index_data_for(dossier).get('filing_no'))
        self.assertEquals(['ska', 'arch', 'administration', '2012', '3'],
                          index_data_for(dossier).get('searchable_filing_no'))
Example #18
0
    def test_returns_first_part_of_the_filing_number_for_dossiers_with_only_filing_prefix_information(
            self):
        dossier = create(
            Builder("dossier").having(filing_prefix='directorate'))

        self.assertEquals('OG-Directorate-?',
                          index_data_for(dossier).get('filing_no'))

        self.assertEquals(['og', 'directorate'],
                          index_data_for(dossier).get('searchable_filing_no'))
Example #19
0
    def test_returns_filing_number_for_dossiers_with_only_filing_prefix_information(
            self):
        dossier = create(
            Builder("dossier").having(
                filing_prefix='directorate',
                filing_no='SKA ARCH-Administration-2012-3'))

        # with number and prefix
        self.assertEquals('SKA ARCH-Administration-2012-3',
                          index_data_for(dossier).get('filing_no'))
        self.assertEquals(['ska', 'arch', 'administration', '2012', '3'],
                          index_data_for(dossier).get('searchable_filing_no'))
    def test_filesize_indexers(self):
        document = create(
            Builder("document").attach_file_containing(u"content",
                                                       name=u"file.txt"))
        document.reindexObject()
        self.assertEqual(7, index_data_for(document).get('filesize'))
        self.assertEqual(7, obj2brain(document).filesize)

        document.file = None
        document.reindexObject()
        self.assertEqual(0, index_data_for(document).get('filesize'))
        self.assertEqual(0, obj2brain(document).filesize)
Example #21
0
    def test_filesize_indexers(self):
        document = create(
            Builder("document")
            .attach_file_containing(u"content", name=u"file.txt")
        )
        document.reindexObject()
        self.assertEqual(7, index_data_for(document).get('filesize'))
        self.assertEqual(7, obj2brain(document).filesize)

        document.file = None
        document.reindexObject()
        self.assertEqual(0, index_data_for(document).get('filesize'))
        self.assertEqual(0, obj2brain(document).filesize)
Example #22
0
    def test_file_extension_indexers(self):
        document = create(
            Builder("document")
            .titled(u'D\xf6k\xfcm\xe4nt')
            .attach_file_containing(u"content", name=u"file.txt")
        )
        document.reindexObject()
        self.assertEqual(u'.txt', index_data_for(document).get('file_extension'))
        self.assertEqual(u'.txt', obj2brain(document).file_extension)

        document.file = None
        document.reindexObject()
        self.assertEqual(u'', index_data_for(document).get('file_extension'))
        self.assertEqual(u'', obj2brain(document).file_extension)
    def test_file_extension_indexers(self):
        document = create(
            Builder("document").titled(
                u'D\xf6k\xfcm\xe4nt').attach_file_containing(u"content",
                                                             name=u"file.txt"))
        document.reindexObject()
        self.assertEqual(u'.txt',
                         index_data_for(document).get('file_extension'))
        self.assertEqual(u'.txt', obj2brain(document).file_extension)

        document.file = None
        document.reindexObject()
        self.assertEqual(u'', index_data_for(document).get('file_extension'))
        self.assertEqual(u'', obj2brain(document).file_extension)
Example #24
0
    def test_dossiertemplate_searchable_text_contains_keywords(self):
        self.login(self.regular_user)

        self.dossiertemplate.reindexObject()

        self.assertIn(
            'secret',
            index_data_for(self.dossiertemplate).get('SearchableText'),
        )

        self.assertIn(
            'special',
            index_data_for(self.dossiertemplate).get('SearchableText'),
        )
    def test_dossier_searchable_text_contains_keywords(self):
        self.login(self.regular_user)

        self.dossier.reindexObject()

        self.assertIn(
            'finanzverwaltung',
            index_data_for(self.dossier).get('SearchableText'),
        )

        self.assertIn(
            'vertrage',
            index_data_for(self.dossier).get('SearchableText'),
        )
    def test_dossiertemplate_searchable_text_contains_keywords(self):
        self.login(self.regular_user)

        self.dossiertemplate.reindexObject()

        self.assertIn(
            'secret',
            index_data_for(self.dossiertemplate).get('SearchableText'),
        )

        self.assertIn(
            'special',
            index_data_for(self.dossiertemplate).get('SearchableText'),
        )
Example #27
0
    def test_dossier_searchable_text_contains_keywords(self):
        self.login(self.regular_user)

        self.dossier.reindexObject()

        self.assertIn(
            'finanzverwaltung',
            index_data_for(self.dossier).get('SearchableText'),
            )

        self.assertIn(
            'vertrage',
            index_data_for(self.dossier).get('SearchableText'),
            )
    def test_index_is_updated_when_end_date_is_changed_during_resolving(self, browser):
        self.grant('Reader', 'Contributor', 'Editor', 'Reviewer')

        create(Builder('document')
               .within(self.dossier)
               .having(document_date=date(2015, 1, 1)))

        former_indexed_value = index_data_for(self.dossier).get('retention_expiration')

        browser.login().open(self.dossier)
        browser.find('dossier-transition-resolve').click()

        self.assertNotEqual(
            former_indexed_value,
            index_data_for(self.dossier).get('retention_expiration'))
    def assert_document_1_created(self, parent):
        document_1 = parent.objectValues()[0]

        self.assertTrue(document_1.digitally_available)
        self.assertIsNotNone(document_1.file)
        self.assertEqual(22198, len(document_1.file.data))

        self.assertEqual(
            u'david.erni',
            document_1.document_author)
        self.assertEqual(
            date(2007, 1, 1),
            document_1.document_date)
        self.assertEqual(
            tuple(),
            document_1.keywords)
        self.assertTrue(
            document_1.preserved_as_paper)
        self.assertEqual(
            [],
            document_1.relatedItems)
        self.assertEqual(
            'document-state-draft',
            api.content.get_state(document_1))
        self.assertEqual(
            u'Bewerbung Hanspeter M\xfcller',
            document_1.title)
        self.assertEqual(
            IAnnotations(document_1)[BUNDLE_GUID_KEY],
            index_data_for(document_1)[GUID_INDEX_NAME])
    def test_mail_searchable_text_contains_keywords(self):
        mail = create(
            Builder("mail").having(keywords=(u'Pick me!', u'Keyw\xf6rd')))

        self.assertItemsEqual(
            [u'1', u'1', 'client1', 'no', 'subject', 'keyword', 'me', 'pick'],
            index_data_for(mail).get('SearchableText'))
Example #31
0
    def test_proposal_can_be_created_in_browser_and_strips_whitespace(
            self, browser):
        self.login(self.dossier_responsible, browser)
        browser.open(self.dossier)
        factoriesmenu.add('Proposal')
        browser.fill({
            'Title': u'A pr\xf6posal',
            'Committee': u'Rechnungspr\xfcfungskommission',
            'Proposal template': u'Geb\xfchren',
            'Attachments': [self.document],
        }).save()
        statusmessages.assert_no_error_messages()
        statusmessages.assert_message('Item created')

        proposal = browser.context
        self.assertEqual(1, len(proposal.relatedItems))
        self.assertEqual(self.document, proposal.relatedItems[0].to_object)
        self.assertEqual(u'A pr\xf6posal', proposal.title)

        model = proposal.load_model()
        self.assertIsNotNone(model)
        self.assertEqual(u'A pr\xf6posal', model.title)
        self.assertIsNone(model.submitted_title)
        self.assertEqual(Oguid.for_object(proposal), model.oguid)
        self.assertEqual('robert.ziegler', model.creator)
        self.assertEqual(u'Vertr\xe4ge und Vereinbarungen',
                         model.repository_folder_title)
        self.assertEqual(u'en', model.language)

        self.assertTrue(
            set(['a', 'proposal'
                 ]).issubset(set(index_data_for(proposal)['SearchableText'])))
        self.assertEqual(u'Client1 1.1 / 1', model.dossier_reference_number)
Example #32
0
 def test_searchable_text(self):
     self.login(self.workspace_admin)
     self.assertItemsEqual([
         'fix', 'user', 'login', 'authentication', 'is', 'no', 'longer',
         'possible'
     ],
                           index_data_for(self.todo).get('SearchableText'))
 def assert_processes_folder_created(self, parent):
     folder_process = parent.get('organigramm-prozesse')
     self.assertEqual('0.0. Organigramm, Prozesse', folder_process.Title())
     self.assertEqual(u'Organigramm, Prozesse', folder_process.title_de)
     self.assertIsNone(folder_process.title_fr)
     self.assertEqual('organigramm-prozesse', folder_process.getId())
     self.assertEqual(30, ILifeCycle(folder_process).custody_period)
     self.assertEqual(u'', folder_process.description)
     self.assertEqual(u'', folder_process.former_reference)
     self.assertEqual(u'privacy_layer_no',
                      IClassification(folder_process).privacy_layer)
     self.assertEqual(u'unchecked',
                      IClassification(folder_process).public_trial)
     self.assertEqual(
         u'',
         IClassification(folder_process).public_trial_statement)
     self.assertEqual(
         "0",
         IReferenceNumberPrefix(folder_process).reference_number_prefix)
     self.assertEqual(u'', folder_process.referenced_activity)
     self.assertEqual(5, ILifeCycle(folder_process).retention_period)
     self.assertEqual(date(2005, 1, 1), folder_process.valid_from)
     self.assertEqual(date(2020, 1, 1), folder_process.valid_until)
     self.assertEqual('repositoryfolder-state-active',
                      api.content.get_state(folder_process))
     self.assertIsNone(getattr(folder_process, 'guid', None))
     self.assertIsNone(getattr(folder_process, 'parent_guid', None))
     self.assertEqual(
         IAnnotations(folder_process)[BUNDLE_GUID_KEY],
         index_data_for(folder_process)[GUID_INDEX_NAME])
     return folder_process
    def assert_mail2_created(self, parent):
        mail = self.find_by_title(parent, u'Lorem Ipsum')

        self.assertIsNotNone(mail.message)
        self.assertEqual(920, len(mail.message.data))
        self.assertEqual(
            IAnnotations(mail)[BUNDLE_GUID_KEY],
            index_data_for(mail)[GUID_INDEX_NAME])
Example #35
0
    def test_searchable_text_contains_keywords(self):
        sablon_template = create(
            Builder("sablontemplate")
            .having(keywords=(u'Pick me!', u'Keyw\xf6rd')))

        self.assertItemsEqual(
            [u'1', u'1', 'client1', 'testdokumant', 'keyword', 'me', 'pick'],
            index_data_for(sablon_template).get('SearchableText'))
Example #36
0
    def test_external_reference(self):
        doc = create(
            Builder('document').having(author=u'Hugo Boss',
                                       title=u'Docment',
                                       foreign_reference=u'qpr-900-9001-\xf8'))

        self.assertEquals(u'qpr-900-9001-\xf8',
                          index_data_for(doc).get('external_reference'))
Example #37
0
    def test_creator_index_gets_updated(self):
        migrator = CreatorMigrator(
            self.portal, {'old.user': '******'}, 'move')
        migrator.migrate()

        # Index should be up to date
        self.assertEquals('new.user',
                          index_data_for(self.dossier).get('Creator'))
        self.assertEquals('new.user',
                          index_data_for(self.doc).get('Creator'))

        # Metadata should be up to date
        self.assertEquals(('new.user', ), obj2brain(self.dossier).listCreators)
        self.assertEquals(('new.user', ), obj2brain(self.doc).listCreators)

        self.assertEquals('new.user', obj2brain(self.dossier).Creator)
        self.assertEquals('new.user', obj2brain(self.doc).Creator)
Example #38
0
    def test_index_is_updated_when_end_date_is_changed_during_resolving(
            self, browser):
        self.grant('Reader', 'Contributor', 'Editor', 'Reviewer')

        create(
            Builder('document').within(
                self.dossier).having(document_date=date(2015, 1, 1)))

        former_indexed_value = index_data_for(
            self.dossier).get('retention_expiration')

        browser.login().open(self.dossier)
        browser.find('dossier-transition-resolve').click()

        self.assertNotEqual(
            former_indexed_value,
            index_data_for(self.dossier).get('retention_expiration'))
Example #39
0
    def test_public_trial_index_exists_and_is_used(self):
        catalog = getToolByName(self.portal, "portal_catalog")

        # check if index exists
        self.assertIn("public_trial", catalog.indexes())

        # check if object got indexed
        self.assertEquals("private", index_data_for(self.document).get("public_trial"))
Example #40
0
    def test_external_reference(self):
        dossier = create(
            Builder("dossier").titled(u"Dossier").having(
                external_reference=u'qpr-900-9001-\xf7').within(
                    self.repo_folder))

        self.assertEquals(u'qpr-900-9001-\xf7',
                          index_data_for(dossier).get('external_reference'))
Example #41
0
    def test_dossier_searchable_text_contains_external_reference(self):
        dossier = create(
            Builder("dossier").titled(u"Dossier").having(
                external_reference=u'22900-2017').within(self.repo_folder))

        self.assertItemsEqual(
            [u'1', u'3', 'client1', 'dossier', '22900', '2017'],
            index_data_for(dossier).get('SearchableText'))
    def assert_mail_2_created(self, parent):
        mail = parent.objectValues()[3]

        self.assertIsNotNone(mail.message)
        self.assertEqual(920, len(mail.message.data))
        self.assertEqual(u'Lorem Ipsum', mail.title)
        self.assertEqual(
            IAnnotations(mail)[BUNDLE_GUID_KEY],
            index_data_for(mail)[GUID_INDEX_NAME])
Example #43
0
    def test_external_reference(self):
        doc = create(Builder('document').having(
            author=u'Hugo Boss',
            title=u'Docment',
            foreign_reference=u'qpr-900-9001-\xf8'))

        self.assertEquals(
            u'qpr-900-9001-\xf8',
            index_data_for(doc).get('external_reference'))
Example #44
0
    def test_dossier_searchable_text_contains_keywords(self):
        dossier_with_keywords = create(
            Builder("dossier").titled(u"Dossier").having(
                keywords=(u'Pick me!',
                          u'Keyw\xf6rd')).within(self.repo_folder))

        self.assertItemsEqual(
            [u'1', u'3', 'client1', 'dossier', 'keyword', 'me', 'pick'],
            index_data_for(dossier_with_keywords).get('SearchableText'))
    def test_sortable_title_indexer_accomodates_padding_for_five_numbers(self):
        numeric_part = "1 2 3 4 5"
        alphabetic_part = u"".join(
            ["a" for i in range(CONTENT_TITLE_LENGTH - len(numeric_part))])
        title = numeric_part + alphabetic_part
        document = create(Builder("document").titled(title))

        self.assertEquals('0001 0002 0003 0004 0005' + alphabetic_part,
                          index_data_for(document).get('sortable_title'))
    def assert_mail_2_created(self, parent):
        mail = parent.objectValues()[3]

        self.assertIsNotNone(mail.message)
        self.assertEqual(920, len(mail.message.data))
        self.assertEqual(u'Lorem Ipsum', mail.title)
        self.assertEqual(
            IAnnotations(mail)[BUNDLE_GUID_KEY],
            index_data_for(mail)[GUID_INDEX_NAME])
Example #47
0
    def test_public_trial_index_exists_and_is_used(self):
        catalog = getToolByName(self.portal, 'portal_catalog')

        # check if index exists
        self.assertIn('public_trial', catalog.indexes())

        # check if object got indexed
        self.assertEquals('private',
                          index_data_for(self.document).get('public_trial'))
    def assert_mail3_created(self):
        mail = self.find_by_title(
            self.dossier, u'Mail in bestehendem Examplecontent Dossier')

        self.assertIsNotNone(mail.message)
        self.assertEqual(920, len(mail.message.data))
        self.assertEqual(
            IAnnotations(mail)[BUNDLE_GUID_KEY],
            index_data_for(mail)[GUID_INDEX_NAME])
Example #49
0
    def test_dossier_searchable_text_contains_external_reference(self):
        self.login(self.regular_user)

        self.dossier.reindexObject()

        self.assertIn(
            'qpr',
            index_data_for(self.dossier).get('SearchableText'),
            )

        self.assertIn(
            u'900',
            index_data_for(self.dossier).get('SearchableText'),
            )

        self.assertIn(
            u'9001',
            index_data_for(self.dossier).get('SearchableText'),
            )
    def assert_mail_3_created(self):
        mail = self.dossier.objectValues()[-1]

        self.assertIsNotNone(mail.message)
        self.assertEqual(920, len(mail.message.data))
        self.assertEqual(
            u'Mail in bestehendem Examplecontent Dossier', mail.title)
        self.assertEqual(
            IAnnotations(mail)[BUNDLE_GUID_KEY],
            index_data_for(mail)[GUID_INDEX_NAME])
Example #51
0
    def test_mail_searchable_text_contains_keywords(self):
        self.login(self.regular_user)
        self.mail_eml.keywords = (u'Pick me!', u'Keyw\xf6rd')
        self.mail_eml.reindexObject()

        index_data = index_data_for(self.mail_eml).get('SearchableText')

        self.assertIn('pick', index_data)
        self.assertIn('me', index_data)
        self.assertIn('keyword', index_data)
Example #52
0
    def test_sortable_title_indexer_accomodates_padding_for_five_numbers(self):
        numeric_part = "1 2 3 4 5"
        alphabetic_part = u"".join(["a" for i in range(CONTENT_TITLE_LENGTH
                                                       - len(numeric_part))])
        title = numeric_part + alphabetic_part
        document = create(Builder("document").titled(title))

        self.assertEquals(
            '0001 0002 0003 0004 0005' + alphabetic_part,
            index_data_for(document).get('sortable_title'))
Example #53
0
    def test_returns_empty_string_for_dossiers_without_filing_information(self):
        self.login(self.regular_user)

        self.dossier.reindexObject()

        self.assertEquals(
            None,
            index_data_for(self.dossier).get('filing_no'),
            )

        self.assert_index_value(u'', 'searchable_filing_no', self.dossier)
Example #54
0
    def test_full_text_indexing_with_plain_text(self):
        sample_file = NamedBlobFile('foobar barfoo', filename=u'test.txt')
        doc1 = createContentInContainer(
            self.portal, 'opengever.document.document',
            title=u"Doc One",
            document_author=u'Hugo Boss',
            file=sample_file)

        searchable_text = index_data_for(doc1).get('SearchableText')
        self.assertIn('foobar', searchable_text)
        self.assertIn('barfoo', searchable_text)
Example #55
0
    def test_filing_no_is_also_in_searchable_text(self):
        self.login(self.regular_user)

        IDossier(self.dossier).filing_prefix = self.filing_prefix
        IFilingNumber(self.dossier).filing_no = self.filing_no
        self.dossier.reindexObject()

        searchable_text_data = index_data_for(self.dossier).get('SearchableText')

        for segment in self.searchable_filing_no:
            self.assertIn(segment, searchable_text_data)
Example #56
0
    def test_searchable_text(self):
        doc1 = createContentInContainer(
            self.portal, 'opengever.document.document',
            title=u"Doc One",
            document_author=u'Hugo Boss',
            keywords=('foo', 'bar'),
            document_date=datetime.date(2011,1,1),
            receipt_date=datetime.date(2011, 2, 1))

        self.assertEquals(
            index_data_for(doc1).get('SearchableText'),
            ['doc', 'one', 'foo', 'bar', 'hugo', 'boss', 'client1', '1', '1'])
    def test_also_reindexes_containing_subdossier(self):
        """The dossier are reindex manually
        """
        self.login(self.dossier_responsible)

        principal = 'user:{}'.format(self.secretariat_user.id)

        self.assertNotIn(principal,
                         index_data_for(self.dossier)['allowedRolesAndUsers'])
        self.assertNotIn(principal,
                         index_data_for(self.subdossier)['allowedRolesAndUsers'])
        self.assertNotIn(principal,
                         index_data_for(self.subsubdossier)['allowedRolesAndUsers'])

        create(Builder('task')
               .within(self.dossier)
               .titled(u'Aufgabe 1')
               .having(responsible_client='fa',
                       responsible=self.secretariat_user.id,
                       issuer=self.dossier_responsible.getId(),
                       task_type='correction',
                       deadline=date(2016, 11, 1))
               .in_state('task-state-in-progress')
               .relate_to(self.document))

        self.assertIn(principal,
                      index_data_for(self.dossier)['allowedRolesAndUsers'])
        self.assertIn(principal,
                      index_data_for(self.subdossier)['allowedRolesAndUsers'])
        self.assertIn(principal,
                      index_data_for(self.subsubdossier)['allowedRolesAndUsers'])
Example #58
0
    def test_sortable_title_indexer_accomodates_padding_for_five_numbers(self):
        self.login(self.regular_user)
        numeric_part = "1 2 3 4 5"
        alphabetic_part = u"".join(["a" for i in range(CONTENT_TITLE_LENGTH
                                                       - len(numeric_part))])
        title = numeric_part + alphabetic_part

        self.dossier.setTitle(title)
        self.dossier.reindexObject(["sortable_title"])

        self.assertEquals(
            '0001 0002 0003 0004 0005' + alphabetic_part,
            index_data_for(self.dossier).get('sortable_title'))
Example #59
0
    def test_searchable_text(self):
        self.task.title = u'Test Aufgabe'
        self.task.text = u'Lorem ipsum olor sit amet'

        create_ogds_user(TEST_USER_ID, firstname='Hugo', lastname='Boss')
        self.task.responsible = TEST_USER_ID

        self.task.reindexObject()

        self.assertEquals(
            index_data_for(self.task).get('SearchableText'),
            ['test', 'aufgabe', 'lorem', 'ipsum', 'olor', 'sit',
             'amet', '1', 'boss', 'hugo', 'test_user_1_'])