def setUp(self):
        self.app = self.layer['app']
        self.request = self.layer['request']
        self.portal = self.layer['portal']
        self.portal_url = self.portal.absolute_url()
        self.browser = Browser(self.app)
        self.browser.handleErrors = False
        # we have to create a user on the zope root. this just does not work
        # with plone.app.testing and TEST_USER or SITE_OWNER
        self.app.acl_users.userFolderAddUser('app', 'secret', ['Manager'], [])
        from plone.testing import z2
        z2.login(self.app['acl_users'], 'app')

        import transaction
        transaction.commit()
        self.browser.addHeader(
            'Authorization',
            'Basic %s:%s' % ('app', 'secret')
        )

        self.site_administrator_browser = Browser(self.app)
        self.site_administrator_browser.handleErrors = False
        self.site_administrator_browser.addHeader(
            'Authorization',
            'Basic %s:%s' % (TEST_USER_NAME, TEST_USER_PASSWORD,)
        )
Esempio n. 2
0
 def setUp(self):
     app = self.layer['app']
     self.portal = self.layer['portal']
     self.request = self.layer['request']
     self.portal_url = self.portal.absolute_url()
     setRoles(self.portal, TEST_USER_ID, ['Contributor'])
     fti = DexterityFTI('tocdocument')
     self.portal.portal_types._setObject('tocdocument', fti)
     fti.klass = 'plone.dexterity.content.Item'
     fti.behaviors = ('plone.app.contenttypes.behaviors.tableofcontents.'
                      'ITableOfContents', )
     self.fti = fti
     alsoProvides(self.portal.REQUEST, IPloneAppContenttypesLayer)
     alsoProvides(self.request, IPloneAppContenttypesLayer)
     from plone.app.contenttypes.behaviors.tableofcontents \
         import ITableOfContents
     alsoProvides(self.request, ITableOfContents)
     self.portal.invokeFactory('tocdocument',
                               id='tocdoc',
                               title=u'Document with a table of contents')
     import transaction
     transaction.commit()
     # Set up browser
     self.browser = Browser(app)
     self.browser.handleErrors = False
     self.browser.addHeader(
         'Authorization', 'Basic {0}:{1}'.format(
             SITE_OWNER_NAME,
             SITE_OWNER_PASSWORD,
         ))
    def setUp(self):
        self.portal = self.layer['portal']
        setRoles(self.portal, TEST_USER_ID, ['Manager'])

        # disable diazo theming
        self.portal.portal_registry[
            'plone.app.theming.interfaces.IThemeSettings.enabled'] = False

        # disable auto-CSRF
        from plone.protect import auto
        auto.CSRF_DISABLED = True

        _createObjectByType('Folder', self.portal, 'folder')
        _createObjectByType('Document', self.portal, 'document')
        _createObjectByType('File', self.portal, 'file')
        self.portal.file.file = NamedBlobFile('foo', 'text/plain', u'foo.txt')
        transaction.commit()

        self.putils = getToolByName(self.portal, "plone_utils")
        self.browser = Browser(self.layer['app'])
        self.browser.addHeader(
            'Authorization', 'Basic %s:%s' % (
                TEST_USER_NAME,
                TEST_USER_PASSWORD,
            ))
 def setUp(self):
     self.portal = self.layer['portal']
     self.app = self.layer['app']
     self.browser = Browser(self.app)
     self.browser.handleErrors = False
     self.browser.addHeader(
         'Authorization', f'Basic {SITE_OWNER_NAME}:{SITE_OWNER_PASSWORD}')
Esempio n. 5
0
 def setUp(self):
     activateAndReindex(self.layer["portal"])
     commit()
     self.browser = Browser(self.layer["app"])
     self.browser.addHeader(
         "Authorization",
         "Basic %s:%s" % (SITE_OWNER_NAME, SITE_OWNER_PASSWORD))
Esempio n. 6
0
    def setUp(self):
        if not TEST_MIGRATION:
            raise unittest.SkipTest('Migration tests require ATContentTypes')

        app = self.layer['app']
        self.portal = self.layer['portal']
        self.request = self.layer['request']
        self.request['ACTUAL_URL'] = self.portal.absolute_url()
        self.request['URL'] = self.portal.absolute_url()
        self.catalog = getToolByName(self.portal, 'portal_catalog')
        self.portal.acl_users.userFolderAddUser('admin',
                                                'secret',
                                                ['Manager'],
                                                [])
        login(self.portal, 'admin')
        self.portal.portal_workflow.setDefaultChain(
            'simple_publication_workflow')
        self.portal_url = self.portal.absolute_url()

        self.browser = Browser(app)
        self.browser.handleErrors = False
        self.browser.addHeader(
            'Authorization',
            'Basic {0}:{1}'.format(SITE_OWNER_NAME, SITE_OWNER_PASSWORD,)
        )
Esempio n. 7
0
    def testDoubleKeys(self):
        from zExceptions import NotFound

        browser = Browser(self.layer["app"])
        browser.handleErrors = False
        url = "%s/reset-password/one/two" % self.layer["portal"].absolute_url()
        self.assertRaises(NotFound, browser.open, url)
Esempio n. 8
0
    def prepare_for_acquisition_tests(self):
        """create content and an alternate authenticated browser session

        creates the following content structure:

        |-- f1
        |   |-- test
        |-- test
        """
        # create a page at the root and one nested with the same id.
        p1 = self.portal.invokeFactory(type_name='Document',
                                       id='test',
                                       title='Test Page at Root')
        folder_1 = self.portal['f1']
        p2 = folder_1.invokeFactory(type_name='Document',
                                    id='test',
                                    title='Test Page in Folder')
        contained_test_page = folder_1[p2]

        transaction.commit()

        # create an alternate browser also logged in with manager
        browser_2 = Browser(self.layer['app'])
        browser_2.handleErrors = False
        browser_2.addHeader('Authorization',
                            'Basic {}:{}'.format(TEST_USER_NAME, 'secret'))

        # return the id of the root page, the nested page itself, and the
        # alternate browser
        return p1, contained_test_page, browser_2
Esempio n. 9
0
 def test_okay_browser(self):
     browser = Browser(self.app)
     app_url = self.app.absolute_url()
     portal_url = self.portal.absolute_url()
     # Try a couple of urls that should return the same.
     urls = (
         app_url + '/@@ok',
         app_url + '/ok?hello=1',
         portal_url + '/@@ok',
         portal_url + '/ok?hello=1',
     )
     for url in urls:
         browser.open(url)
         self.assertEqual(browser.contents, 'OK')
         get_header = browser.headers.get
         self.assertEqual(get_header('Expires'),
                          'Sat, 1 Jan 2000 00:00:00 GMT')
         self.assertEqual(get_header('Cache-Control'),
                          'max-age=0, must-revalidate, private')
         # Getting it with a browser gives some more headings than accessing
         # the view directly.
         self.assertEqual(get_header('content-length'), '2')
         # content-type has a charset, but we don't really care about that.
         self.assertTrue(
             get_header('content-type').startswith('text/plain'))
Esempio n. 10
0
 def setUp(self):
     app = self.layer['app']
     self.portal = self.layer['portal']
     self.request = self.layer['request']
     self.portal_url = self.portal.absolute_url()
     setRoles(self.portal, TEST_USER_ID, ['Contributor'])
     fti = DexterityFTI('leadimagefolder')
     self.portal.portal_types._setObject('leadimagefolder', fti)
     fti.klass = 'plone.dexterity.content.Container'
     fti.behaviors = (
         'plone.app.contenttypes.behaviors.leadimage.ILeadImageBehavior', )
     self.fti = fti
     alsoProvides(self.portal.REQUEST, IPloneAppContenttypesLayer)
     alsoProvides(self.request, IPloneAppContenttypesLayer)
     from plone.app.contenttypes.behaviors.leadimage import ILeadImage
     alsoProvides(self.request, ILeadImage)
     self.portal.invokeFactory('leadimagefolder',
                               id='leadimagefolder',
                               title=u'Folder with a lead image')
     import transaction
     transaction.commit()
     # Set up browser
     self.browser = Browser(app)
     self.browser.handleErrors = False
     self.browser.addHeader(
         'Authorization', 'Basic {0}:{1}'.format(
             SITE_OWNER_NAME,
             SITE_OWNER_PASSWORD,
         ))
Esempio n. 11
0
 def setUp(self):
     self.portal = self.layer['portal']
     self.folder = self.portal['test-folder']
     self.browser = Browser(self.layer['app'])
     self.auth_info = '%s:%s' % (TEST_USER_NAME, TEST_USER_PASSWORD)
     self.cookie = base64.encodestring(self.auth_info.encode('utf8'))[:-1]
     self.folder.manage_permission('View', ['Manager'], acquire=0)
     logout()
Esempio n. 12
0
 def setUp(self):
     self.portal = self.layer['portal']
     self.folder = self.portal['test-folder']
     self.browser = Browser(self.layer['app'])
     self.auth_info = f'{TEST_USER_NAME}:{TEST_USER_PASSWORD}'
     self.cookie = encodebytes(self.auth_info.encode('utf8'))[:-1]
     self.folder.manage_permission('View', ['Manager'], acquire=0)
     logout()
Esempio n. 13
0
 def setUp(self):
     self.portal = self.layer['portal']
     self.uf = self.portal.acl_users
     self.uf.userFolderAddUser('reviewer', 'secret', ['Reviewer'], [])
     transaction.commit()
     self.browser = Browser(self.layer['app'])
     self.browser.handleErrors = True
     self.wftool = getToolByName(self.portal, 'portal_workflow')
Esempio n. 14
0
 def getBrowser(self, loggedIn=True):
     transaction.commit()
     browser = Browser(self.app)
     if loggedIn:
         user = TEST_USER_NAME
         pwd = default_password
         browser.addHeader('Authorization', 'Basic %s:%s' % (user, pwd))
     return browser
Esempio n. 15
0
 def get_browser(self):
     browser = Browser(self.layer["app"])
     browser.handleErrors = False
     browser.addHeader(
         "Authorization",
         f"Basic {SITE_OWNER_NAME}:{SITE_OWNER_PASSWORD}",
     )
     return browser
Esempio n. 16
0
 def setUp(self):
     super().setUp()
     self.browser = Browser(self.layer['app'])
     self.browser.handleErrors = False
     self.browser.addHeader(
         'Authorization',
         'Basic %s:%s' % (SITE_OWNER_NAME, SITE_OWNER_PASSWORD,)
     )
Esempio n. 17
0
 def setUp(self):
     self.app = self.layer['app']
     self.portal = self.layer['portal']
     self.portal_url = self.portal.absolute_url()
     self.types_url = "%s/@@content-controlpanel" % self.portal_url
     self.browser = Browser(self.app)
     self.browser.handleErrors = False
     self.browser.addHeader(
         'Authorization', f'Basic {SITE_OWNER_NAME}:{SITE_OWNER_PASSWORD}')
 def setUp(self):
     self.app = self.layer["app"]
     self.portal = self.layer["portal"]
     self.portal_url = self.portal.absolute_url()
     self.browser = Browser(self.app)
     self.browser.handleErrors = False
     self.browser.addHeader(
         "Authorization",
         "Basic " + SITE_OWNER_NAME + ":" + SITE_OWNER_PASSWORD)
Esempio n. 19
0
 def setUp(self):
     self.app = self.layer['app']
     self.portal = self.layer['portal']
     self.portal_url = self.portal.absolute_url()
     self.browser = Browser(self.app)
     self.browser.handleErrors = False
     self.browser.addHeader(
         'Authorization',
         'Basic %s:%s' % (SITE_OWNER_NAME, SITE_OWNER_PASSWORD),
     )
Esempio n. 20
0
 def setUp(self):
     super(FunctionalTestCase, self).setUp()
     self.browser = Browser(self.layer['app'])
     self.browser.handleErrors = False
     self.browser.addHeader(
         'Authorization', 'Basic %s:%s' % (
             SITE_OWNER_NAME,
             SITE_OWNER_PASSWORD,
         ))
     transaction.commit()
 def setUp(self):
     self.app = self.layer['app']
     self.portal = self.layer['portal']
     self.portal_url = self.portal.absolute_url()
     registry = getUtility(IRegistry)
     self.settings = registry.forInterface(ISecuritySchema, prefix="plone")
     self.browser = Browser(self.app)
     self.browser.handleErrors = False
     self.browser.addHeader(
         'Authorization', f'Basic {SITE_OWNER_NAME}:{SITE_OWNER_PASSWORD}')
Esempio n. 22
0
def get_browser(layer, auth=True):
    browser = Browser(layer["app"])
    browser.handleErrors = False
    if auth:
        api.user.create(
            username="******", password="******", email="*****@*****.**", roles=("Manager",)
        )
        transaction.commit()
        browser.addHeader("Authorization", "Basic adm:secret")
    return browser
 def setUp(self):
     app = self.layer["app"]
     self.portal = self.layer["portal"]
     self.request = self.layer["request"]
     self.portal_url = self.portal.absolute_url()
     self.browser = Browser(app)
     self.browser.handleErrors = False
     self.browser.addHeader(
         "Authorization",
         f"Basic {SITE_OWNER_NAME}:{SITE_OWNER_PASSWORD}",
     )
    def setUp(self):
        app = self.layer['app']
        self.portal = self.layer['portal']
        self.request = self.layer['request']
        self.portal_url = self.portal.absolute_url()

        self.browser = Browser(app)
        self.browser.handleErrors = False
        self.browser.addHeader(
            'Authorization', f'Basic {SITE_OWNER_NAME}:{SITE_OWNER_PASSWORD}')
        setRoles(self.portal, TEST_USER_ID, ['Manager'])
Esempio n. 25
0
 def setUp(self):
     app = self.layer['app']
     self.portal = self.layer['portal']
     self.portal_url = self.portal.absolute_url()
     self.browser = Browser(app)
     self.browser.handleErrors = False
     self.browser.addHeader(
         'Authorization', 'Basic {0}:{1}'.format(
             SITE_OWNER_NAME,
             SITE_OWNER_PASSWORD,
         ))
Esempio n. 26
0
    def setUp(self):
        self.portal = self.layer['portal']
        self.portal.acl_users.userFolderAddUser('editor', 'secret', ['Editor'],
                                                [])

        self._create_structure()
        transaction.commit()

        self.browser = Browser(self.layer['app'])
        self.browser.addHeader('Authorization',
                               'Basic {}:{}'.format('editor', 'secret'))
Esempio n. 27
0
 def setUp(self):
     self.app = self.layer['app']
     self.portal = self.layer['portal']
     self.request = self.layer['request']
     self.portal_url = self.portal.absolute_url()
     registry = getUtility(IRegistry)
     self.settings = registry.forInterface(IFilterSchema, prefix="plone")
     self.browser = Browser(self.app)
     self.browser.handleErrors = False
     self.browser.addHeader(
         'Authorization', f'Basic {SITE_OWNER_NAME}:{SITE_OWNER_PASSWORD}')
     self.safe_html = getattr(
         getToolByName(self.portal, 'portal_transforms'), 'safe_html', None)
 def setUp(self):
     app = self.layer['app']
     self.portal = self.layer['portal']
     self.request = self.layer['request']
     self.portal_url = self.portal.absolute_url()
     self.icons = self.portal.restrictedTraverse("@@iconresolver")
     self.browser = Browser(app)
     self.browser.handleErrors = False
     self.browser.addHeader(
         'Authorization', 'Basic {0}:{1}'.format(
             SITE_OWNER_NAME,
             SITE_OWNER_PASSWORD,
         ))
    def setUp(self):
        self.app = self.layer['app']
        self.portal = self.layer['portal']
        self.portal_url = self.portal.absolute_url()
        self.usergroups_url = "%s/@@usergroup-userprefs" % self.portal_url
        self.groups_url = "%s/@@usergroup-groupprefs" % self.portal_url
        self._generateGroups()
        self._generateUsers()
        transaction.commit()

        self.browser = Browser(self.app)
        self.browser.handleErrors = False
        self.browser.addHeader(
            'Authorization', f'Basic {SITE_OWNER_NAME}:{SITE_OWNER_PASSWORD}')
    def setUp(self):
        if six.PY2:
            raise unittest.SkipTest("Disabled in py2 for now.")
        data = getFile("image.png")
        item = DummyContent()
        item.image = NamedImage(data, "image/png", u"image.png")
        self.layer["app"]._setOb("item", item)
        self.item = self.layer["app"].item
        self.view = self.item.unrestrictedTraverse("@@images")
        self._orig_sizes = ImageScaling._sizes

        self.browser = Browser(self.layer["app"])
        self.browser.handleErrors = False
        self.browser.addHeader("Referer", self.layer["app"].absolute_url())