Я наконец понял это.
При первом членстве.memberareaCreationFlag = 1 недостаточно для включения папок участников.
Его необходимо включить с SecurityControlPanelAdapter в plone.app.controlpanel.security
from plone.app.controlpanel.security import ISecuritySchema
# Fetch the adapter
security_adapter = ISecuritySchema(portal)
security_adapter.set_enable_user_folders(True)
Кроме того, устройство функционального тестирования не создает папку участника автоматически, но возможно установить ее вручную в своем классе устройства
class YourPloneFixture(PloneSandboxLayer):
defaultBases = (PLONE_FIXTURE,)
def setUpZope(self, app, configurationContext):
# Required by Products.CMFPlone:plone-content
z2.installProduct(app, 'Products.PythonScripts')
def setUpPloneSite(self, portal):
# Installs all the Plone stuff. Workflows etc.
self.applyProfile(portal, 'Products.CMFPlone:plone')
# Install portal content. Including the Members folder!
self.applyProfile(portal, 'Products.CMFPlone:plone-content')
Наконец, папки членасоздал учетную запись пользователя uppon, но вспомогательная функция входа в систему в plone.app.testing кажется слишком низкой для этого.Вход в систему с помощью 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()
Фу.