如何在中添加成员文件夹plone.app.testing?

2024-09-28 18:50:32 发布

您现在位置:Python中文网/ 问答频道 /正文

如何在plone.app.testing中为我的功能测试添加Members文件夹,以便像在实际站点中一样可以找到它?在

已经在我的产品安装步骤中设置了成员区创建标志,我正在测试。在

membership.memberareaCreationFlag = 1 

我需要让这个测试生效:

^{pr2}$

我特别需要成员文件夹功能。只有测试用户拥有的文件夹不会剪切它。在

我还尝试用acl创建新用户_users.userFolderAddUser但这对neighter没有帮助。在

memberareaCreationFlag在live Plone站点中工作得很好。在


Tags: 用户文件夹app产品站点标志plone步骤
3条回答

我终于明白了。在

一开始membership.memberareaCreationFlag=1不足以启用成员文件夹。在

必须使用中的SecurityControlPanelAdapter启用plone.app.controlpanel.安全性

from plone.app.controlpanel.security import ISecuritySchema
# Fetch the adapter
security_adapter =  ISecuritySchema(portal)
security_adapter.set_enable_user_folders(True)

另外,功能测试fixture不会自动创建成员文件夹,但是可以在fixture类中手动安装它

^{pr2}$

最后作为成员文件夹创建了uppon用户登录,但是登录助手函数在plone.app.测试似乎水平太低了。登录方式zope.testbrowser似乎能搞定

browser = Browser(self.layer['app'])
browser.open(self.portal.absolute_url() + '/login_form')
browser.getControl(name='__ac_name').value = TEST_USER_NAME
browser.getControl(name='__ac_password').value = TEST_USER_PASSWOR
browser.getControl(name='submit').click()

嘘。在

有点像

  def setUpPloneSite(self, portal):
        # Install into Plone site using portal_setup
        quickInstallProduct(portal, 'Products.DataGridField')
        quickInstallProduct(portal, 'Products.ATVocabularyManager')
        quickInstallProduct(portal, 'Products.MasterSelectWidget')
        if HAVE_LP:
            quickInstallProduct(portal, 'Products.LinguaPlone')
        applyProfile(portal, 'vs.org:default')
        portal.acl_users.userFolderAddUser('god', 'dummy', ['Manager'], []) 
        setRoles(portal, 'god', ['Manager'])
        login(portal, 'god')

对我们很有效。在

在自我断言不是一种测试方法,使用类似self.assertTrue,或自作主张. 在

要添加成员文件夹,只需打开“成员文件夹创建”并添加新用户。在

相关问题 更多 >