Пример #1
0
 def setUp(self):
     """
     We create objects before initializing solr settings, so solr core is
     always empty on setUp.
     """
     self.portal = self.layer["portal"]
     self.request = self.layer["request"]
     setRoles(self.portal, TEST_USER_ID, ["Manager"])
     set_registry_record("active", False, interface=IRerSolrpushSettings)
     set_registry_record("enabled_types", [u"Document"],
                         interface=IRerSolrpushSettings)
     get_registry_record("enabled_types", interface=IRerSolrpushSettings)
     self.published_doc = api.content.create(container=self.portal,
                                             type="Document",
                                             title="Published Document")
     api.content.transition(obj=self.published_doc, transition="publish")
     self.unpublished_doc = api.content.create(
         container=self.portal,
         type="Document",
         title="Unpublished Document",
     )
     self.news = api.content.create(container=self.portal,
                                    type="News Item",
                                    title="Unpublished News")
     # flush catalog queue
     api.portal.get_tool("portal_catalog")()  # or commit()
     init_solr_push()
     set_registry_record("active", True, interface=IRerSolrpushSettings)
Пример #2
0
 def setUp(self):
     """"""
     self.portal = self.layer["portal"]
     self.request = self.layer["request"]
     setRoles(self.portal, TEST_USER_ID, ["Manager"])
     set_registry_record(
         "enabled_types",
         [u"Document", u"News Item"],
         interface=IRerSolrpushSettings,
     )
     #  initialize solr push, so solr will be populated automatically
     # on commits
     init_solr_push()
     commit()
     self.doc1 = api.content.create(
         container=self.portal,
         type="Document",
         title="First Document",
         description="lorem ipsum",
         subject=["foo", "bar"],
     )
     self.doc2 = api.content.create(
         container=self.portal,
         type="Document",
         title="Second Document",
         description="lorem ipsum dolor sit amet",
     )
     self.unpublished_doc = api.content.create(
         container=self.portal,
         type="Document",
         title="Unpublished Document",
     )
     self.published_news = api.content.create(
         container=self.portal,
         type="News Item",
         title="Published News",
         subject=["foo", "news category"],
     )
     self.unpublished_news = api.content.create(
         container=self.portal,
         type="News Item",
         title="Unpublished News",
         subject=["foo"],
     )
     self.event = api.content.create(container=self.portal,
                                     type="Event",
                                     title="Event",
                                     subject=["foo"])
     api.content.transition(obj=self.doc1, transition="publish")
     # commit()
     api.content.transition(obj=self.doc2, transition="publish")
     # commit()
     api.content.transition(obj=self.published_news, transition="publish")
     # commit()
     api.content.transition(obj=self.event, transition="publish")
     commit()
Пример #3
0
 def setUpPloneSite(self, portal):
     self.solr_layer.setUp()
     applyProfile(portal, "rer.solrpush:default")
     set_registry_record("active", True, interface=IRerSolrpushSettings)
     set_registry_record(
         "solr_url",
         self.solr_layer.solr_url,
         interface=IRerSolrpushSettings,
     )
     init_solr_push()
Пример #4
0
 def setUp(self):
     """Custom shared utility setup for tests."""
     self.portal = self.layer["portal"]
     self.request = self.layer["request"]
     setRoles(self.portal, TEST_USER_ID, ["Manager"])
     set_registry_record(
         "enabled_types",
         [u"Document", u"File"],
         interface=IRerSolrpushSettings,
     )
     init_solr_push()
Пример #5
0
    def handleReload(self, action):
        data, errors = self.extractData()

        init_error = init_solr_push()
        if init_error:
            api.portal.show_message(init_error,
                                    type="error",
                                    request=self.request)
        else:
            api.portal.show_message(_(u"Reloaded schema.xml from SOLR"),
                                    request=self.request)
        self.request.response.redirect(self.request.getURL())
Пример #6
0
    def test_item_not_indexed_if_solrpush_is_not_ready(self):
        solr_url = get_registry_record("solr_url", IRerSolrpushSettings)
        api.content.create(container=self.portal, type="Document", title="foo")
        commit()
        res = requests.get("{}/select?q=*%3A*&wt=json".format(solr_url)).json()
        self.assertEqual(res["response"]["numFound"], 0)

        init_solr_push()

        api.content.create(container=self.portal, type="Document", title="bar")
        commit()
        res = requests.get("{}/select?q=*%3A*&wt=json".format(solr_url)).json()

        # because initial state id private
        self.assertEqual(res["response"]["numFound"], 0)

        # File types has no wf, so they are published
        api.content.create(
            container=self.portal, type="File", title="bar file"
        )
        commit()
        res = requests.get("{}/select?q=*%3A*&wt=json".format(solr_url)).json()
        self.assertEqual(res["response"]["numFound"], 1)
Пример #7
0
 def setUp(self):
     """
     We create objects before initializing solr settings, so solr core is
     always empty on setUp.
     """
     self.portal = self.layer["portal"]
     self.request = self.layer["request"]
     setRoles(self.portal, TEST_USER_ID, ["Manager"])
     set_registry_record(
         "enabled_types",
         [u"Document", u"News Item"],
         interface=IRerSolrpushSettings,
     )
     init_solr_push()
     self.document = api.content.create(container=self.portal,
                                        type="Document",
                                        title="Document foo")
     api.content.transition(obj=self.document, transition="publish")
     self.news = api.content.create(container=self.portal,
                                    type="News Item",
                                    title="News bar")
     api.content.transition(obj=self.news, transition="publish")
     commit()
Пример #8
0
 def setUp(self):
     """
     We create objects before initializing solr settings, so solr core is
     always empty on setUp.
     """
     self.portal = self.layer["portal"]
     self.request = self.layer["request"]
     setRoles(self.portal, TEST_USER_ID, ["Manager"])
     set_registry_record(
         "enabled_types",
         [u"Document", u"News Item"],
         interface=IRerSolrpushSettings,
     )
     init_solr_push()
     # set_registry_record("active", True, interface=IRerSolrpushSettings)
     self.docs = {}
     for i in range(20):
         searchwords = []
         id = "doc-%03d" % i
         if i == 5:
             id = "odd"
             title = "Document %s" % i
             searchwords = ["odd"]
         elif i % 2 == 0:
             title = "Document %s even even" % i
         else:
             title = "Document %s odd odd" % i
         obj = self.docs[i] = api.content.create(
             container=self.portal,
             type="Document",
             id=id,
             title=title,
             searchwords=searchwords,
         )
         # obj.reindexObject(idxs=['Title'])
         api.content.transition(obj=obj, transition="publish")
     commit()
Пример #9
0
 def setUp(self):
     """"""
     self.portal = self.layer["portal"]
     self.request = self.layer["request"]
     setRoles(self.portal, TEST_USER_ID, ["Manager"])
     set_registry_record("enabled_types", [u"Document"],
                         interface=IRerSolrpushSettings)
     self.published_doc = api.content.create(container=self.portal,
                                             type="Document",
                                             title="Published Document")
     api.content.transition(obj=self.published_doc, transition="publish")
     self.unpublished_doc = api.content.create(
         container=self.portal,
         type="Document",
         title="Unpublished Document",
     )
     self.published_news = api.content.create(container=self.portal,
                                              type="News Item",
                                              title="Published News")
     self.unpublished_news = api.content.create(container=self.portal,
                                                type="News Item",
                                                title="Unpublished News")
     api.content.transition(obj=self.published_news, transition="publish")
     init_solr_push()
Пример #10
0
 def handleSave(self, action):
     data, errors = self.extractData()
     if errors:
         self.status = self.formErrorsMessage
         return
     self.applyChanges(data)
     api.portal.show_message(_(u"Changes saved."), request=self.request)
     init_error = init_solr_push()
     if init_error:
         api.portal.show_message(init_error,
                                 type="error",
                                 request=self.request)
     else:
         api.portal.show_message(_(u"Loaded schema.xml from SOLR"),
                                 request=self.request)
     self.request.response.redirect(self.request.getURL())
Пример #11
0
    def setUp(self):
        self.app = self.layer["app"]
        self.portal = self.layer["portal"]
        self.portal_url = self.portal.absolute_url()
        self.catalog = getToolByName(self.portal, "portal_catalog")

        self.portal = self.layer["portal"]
        self.request = self.layer["request"]

        self.api_session = RelativeSession(self.portal_url)
        self.api_session.headers.update({"Accept": "application/json"})
        self.api_session.auth = (SITE_OWNER_NAME, SITE_OWNER_PASSWORD)

        setRoles(self.portal, TEST_USER_ID, ["Manager"])

        set_registry_record(
            "enabled_types",
            [u"Document", u"News Item"],
            interface=IRerSolrpushSettings,
        )

        init_solr_push()
        commit()

        self.doc1 = api.content.create(
            container=self.portal,
            type="Document",
            title="First page",
            description="lorem ipsum",
            subject=["foo", "bar"],
        )
        self.doc2 = api.content.create(
            container=self.portal,
            type="Document",
            title="Second page",
            description="lorem ipsum dolor sit amet",
            searchwords="important",
        )
        self.unpublished_doc = api.content.create(
            container=self.portal, type="Document", title="Unpublished page"
        )
        self.published_news = api.content.create(
            container=self.portal,
            type="News Item",
            title="Published News",
            subject=["foo", "news category"],
        )
        self.unpublished_news = api.content.create(
            container=self.portal,
            type="News Item",
            title="Unpublished News",
            subject=["foo"],
        )
        self.event = api.content.create(
            container=self.portal, type="Event", title="Event", subject=["foo"]
        )

        # publish contents
        api.content.transition(obj=self.doc1, transition="publish")
        api.content.transition(obj=self.doc2, transition="publish")
        api.content.transition(obj=self.published_news, transition="publish")
        api.content.transition(obj=self.event, transition="publish")
        commit()