Esempio n. 1
0
    def test_dublincore_tile(self):
        self.unprivileged_browser.open(
            self.portalURL +
            '/@@plone.app.standardtiles.dublincore'
        )

        self.assertNotIn('<meta', self.unprivileged_browser.contents)

        root = fromstring(self.unprivileged_browser.contents)
        nodes = root.xpath('//head/meta')
        self.assertEqual(len(nodes), 0)

        registry = getUtility(IRegistry)
        site_settings = registry.forInterface(ISiteSchema, prefix="plone")
        site_settings.exposeDCMetaTags = True

        security_settings = ISecuritySchema(self.portal)
        security_settings.set_allow_anon_views_about(True)

        transaction.commit()

        self.unprivileged_browser.open(
            self.portalURL +
            '/@@plone.app.standardtiles.dublincore'
        )

        self.assertIn('<meta', self.unprivileged_browser.contents)

        root = fromstring(self.unprivileged_browser.contents)
        nodes = root.xpath('//head/meta')
        self.assertGreaterEqual(len(nodes), 1)
    def test_login_tile(self):
        # For a logged-in user, the login tile should be empty
        self.browser.open(
            self.portalURL
            + '/@@plone.app.standardtiles.login'
        )

        self.assertNotIn('loginform', self.browser.contents)

        root = fromstring(self.browser.contents)
        nodes = root.xpath('//body/*')
        self.assertEqual(len(nodes), 0)

        # When we are not logged in, we should get the form::
        self.unprivileged_browser.open(
            self.portalURL
            + '/@@plone.app.standardtiles.login'
        )

        self.assertIn('loginform', self.unprivileged_browser.contents)
        self.assertNotIn('@@register', self.unprivileged_browser.contents)

        root = fromstring(self.unprivileged_browser.contents)
        nodes = root.xpath('//body//*[@id="loginform"]')
        self.assertEqual(len(nodes), 1)

        # By default, we should not have the "register" link in there::

        root = fromstring(self.unprivileged_browser.contents)
        nodes = root.xpath('//body//a[@href="http://nohost/plone/@@register"]')
        self.assertEqual(len(nodes), 0)

        # But if we enable self-registration, it should show up::

        security_settings = ISecuritySchema(self.portal)
        security_settings.set_enable_self_reg(True)
        transaction.commit()

        self.unprivileged_browser.open(
            self.portalURL
            + '/@@plone.app.standardtiles.login'
        )

        self.assertIn('@@register', self.unprivileged_browser.contents)

        root = fromstring(self.unprivileged_browser.contents)
        nodes = root.xpath('//body//a[@href="http://nohost/plone/@@register"]')
        self.assertEqual(len(nodes), 1)
    def test_login_tile(self):
        # For a logged-in user, the login tile should be empty
        self.browser.open(self.portalURL + '/@@plone.app.standardtiles.login')

        self.assertNotIn('loginform', self.browser.contents)

        root = fromstring(self.browser.contents)
        nodes = root.xpath('//body//*[@id="loginform"]')
        self.assertEqual(len(nodes), 0)

        # When we are not logged in, we should get the form::
        self.unprivileged_browser.open(self.portalURL +
                                       '/@@plone.app.standardtiles.login')

        self.assertIn('loginform', self.unprivileged_browser.contents)
        self.assertNotIn('@@register', self.unprivileged_browser.contents)

        root = fromstring(self.unprivileged_browser.contents)
        nodes = root.xpath('//body//*[@id="loginform"]')
        self.assertEqual(len(nodes), 1)

        # By default, we should not have the "register" link in there::

        root = fromstring(self.unprivileged_browser.contents)
        nodes = root.xpath('//body//a[@href="http://nohost/plone/@@register"]')
        self.assertEqual(len(nodes), 0)

        # But if we enable self-registration, it should show up::

        security_settings = ISecuritySchema(self.portal)
        security_settings.set_enable_self_reg(True)
        transaction.commit()

        self.unprivileged_browser.open(self.portalURL +
                                       '/@@plone.app.standardtiles.login')

        self.assertIn('@@register', self.unprivileged_browser.contents)

        root = fromstring(self.unprivileged_browser.contents)
        nodes = root.xpath('//body//a[@href="http://nohost/plone/@@register"]')
        self.assertEqual(len(nodes), 1)