2013-08-29 22:20:47 +02:00
|
|
|
from plone.app.contenttypes.testing import PLONE_APP_CONTENTTYPES_FIXTURE
|
2014-05-02 13:22:08 +02:00
|
|
|
from plone.app.discussion.interfaces import IDiscussionSettings
|
|
|
|
from plone.app.robotframework.testing import REMOTE_LIBRARY_ROBOT_TESTING
|
2015-03-10 05:51:45 +01:00
|
|
|
from plone.app.testing import applyProfile
|
2010-09-28 18:35:45 +02:00
|
|
|
from plone.app.testing import FunctionalTesting
|
2015-03-10 05:51:45 +01:00
|
|
|
from plone.app.testing import IntegrationTesting
|
2014-05-02 13:22:08 +02:00
|
|
|
from plone.app.testing import PloneSandboxLayer
|
2015-03-10 05:51:45 +01:00
|
|
|
from plone.app.testing import setRoles
|
|
|
|
from plone.app.testing import TEST_USER_ID
|
2014-05-02 13:22:08 +02:00
|
|
|
from plone.registry.interfaces import IRegistry
|
2016-02-05 01:39:53 +01:00
|
|
|
from Products.CMFCore.utils import getToolByName
|
2014-05-02 13:22:08 +02:00
|
|
|
from zope.component import queryUtility
|
2010-09-28 18:35:45 +02:00
|
|
|
|
2016-02-05 01:39:53 +01:00
|
|
|
|
2012-03-31 18:40:58 +02:00
|
|
|
try:
|
2013-04-18 15:51:57 +02:00
|
|
|
import plone.app.collection # noqa
|
2022-05-01 23:14:09 +02:00
|
|
|
|
|
|
|
COLLECTION_TYPE = "Collection"
|
2016-02-05 01:39:53 +01:00
|
|
|
except ImportError:
|
2022-05-01 23:14:09 +02:00
|
|
|
COLLECTION_TYPE = "Topic"
|
2012-03-31 18:40:58 +02:00
|
|
|
|
2012-01-14 07:53:03 +01:00
|
|
|
|
2010-09-28 18:35:45 +02:00
|
|
|
class PloneAppDiscussion(PloneSandboxLayer):
|
|
|
|
|
2013-08-29 22:20:47 +02:00
|
|
|
defaultBases = (PLONE_APP_CONTENTTYPES_FIXTURE,)
|
2010-09-28 18:35:45 +02:00
|
|
|
|
2022-05-01 23:14:09 +02:00
|
|
|
USER_NAME = "johndoe"
|
|
|
|
USER_PASSWORD = "secret"
|
|
|
|
MEMBER_NAME = "janedoe"
|
|
|
|
MEMBER_PASSWORD = "secret"
|
|
|
|
USER_WITH_FULLNAME_NAME = "jim"
|
|
|
|
USER_WITH_FULLNAME_FULLNAME = "Jim Fulton"
|
|
|
|
USER_WITH_FULLNAME_PASSWORD = "secret"
|
|
|
|
MANAGER_USER_NAME = "manager"
|
|
|
|
MANAGER_USER_PASSWORD = "secret"
|
|
|
|
REVIEWER_NAME = "reviewer"
|
|
|
|
REVIEWER_PASSWORD = "secret"
|
2010-12-16 00:52:56 +01:00
|
|
|
|
2010-09-28 18:35:45 +02:00
|
|
|
def setUpZope(self, app, configurationContext):
|
|
|
|
# Load ZCML
|
|
|
|
import plone.app.discussion
|
2022-05-01 23:14:09 +02:00
|
|
|
|
|
|
|
self.loadZCML(
|
|
|
|
package=plone.app.discussion,
|
|
|
|
context=configurationContext,
|
|
|
|
)
|
2010-09-28 18:35:45 +02:00
|
|
|
|
|
|
|
def setUpPloneSite(self, portal):
|
|
|
|
# Install into Plone site using portal_setup
|
2022-05-01 23:14:09 +02:00
|
|
|
applyProfile(portal, "plone.app.discussion:default")
|
2010-09-28 18:35:45 +02:00
|
|
|
|
|
|
|
# Creates some users
|
2022-05-01 23:14:09 +02:00
|
|
|
acl_users = getToolByName(portal, "acl_users")
|
2010-09-28 18:35:45 +02:00
|
|
|
acl_users.userFolderAddUser(
|
|
|
|
self.USER_NAME,
|
|
|
|
self.USER_PASSWORD,
|
2010-12-09 11:58:32 +01:00
|
|
|
[],
|
|
|
|
[],
|
|
|
|
)
|
|
|
|
acl_users.userFolderAddUser(
|
|
|
|
self.MEMBER_NAME,
|
|
|
|
self.MEMBER_PASSWORD,
|
2022-05-01 23:14:09 +02:00
|
|
|
["Member"],
|
2010-09-28 18:35:45 +02:00
|
|
|
[],
|
|
|
|
)
|
|
|
|
acl_users.userFolderAddUser(
|
|
|
|
self.USER_WITH_FULLNAME_NAME,
|
|
|
|
self.USER_WITH_FULLNAME_PASSWORD,
|
2022-05-01 23:14:09 +02:00
|
|
|
["Member"],
|
2010-09-28 18:35:45 +02:00
|
|
|
[],
|
|
|
|
)
|
2014-03-03 15:12:16 +01:00
|
|
|
acl_users.userFolderAddUser(
|
|
|
|
self.REVIEWER_NAME,
|
|
|
|
self.REVIEWER_PASSWORD,
|
2022-05-01 23:14:09 +02:00
|
|
|
["Member"],
|
2014-03-03 15:12:16 +01:00
|
|
|
[],
|
|
|
|
)
|
2022-05-01 23:14:09 +02:00
|
|
|
mtool = getToolByName(portal, "portal_membership", None)
|
|
|
|
gtool = getToolByName(portal, "portal_groups", None)
|
|
|
|
gtool.addPrincipalToGroup(self.REVIEWER_NAME, "Reviewers")
|
|
|
|
mtool.addMember("jim", "Jim", ["Member"], [])
|
|
|
|
mtool.getMemberById("jim").setMemberProperties(
|
|
|
|
{"fullname": "Jim Fult\xc3\xb8rn"}
|
|
|
|
)
|
2010-09-28 18:35:45 +02:00
|
|
|
|
|
|
|
acl_users.userFolderAddUser(
|
|
|
|
self.MANAGER_USER_NAME,
|
|
|
|
self.MANAGER_USER_PASSWORD,
|
2022-05-01 23:14:09 +02:00
|
|
|
["Manager"],
|
2010-09-28 18:35:45 +02:00
|
|
|
[],
|
|
|
|
)
|
|
|
|
|
2015-03-10 05:51:45 +01:00
|
|
|
# Add a document
|
2022-05-01 23:14:09 +02:00
|
|
|
setRoles(portal, TEST_USER_ID, ["Manager"])
|
2015-03-10 05:51:45 +01:00
|
|
|
portal.invokeFactory(
|
2022-05-01 23:14:09 +02:00
|
|
|
id="doc1",
|
|
|
|
title="Document 1",
|
|
|
|
type_name="Document",
|
2015-03-10 05:51:45 +01:00
|
|
|
)
|
|
|
|
|
2014-05-02 13:22:08 +02:00
|
|
|
|
|
|
|
class PloneAppDiscussionRobot(PloneAppDiscussion):
|
|
|
|
|
2017-02-17 07:47:07 +01:00
|
|
|
defaultBases = (
|
|
|
|
PLONE_APP_CONTENTTYPES_FIXTURE,
|
|
|
|
REMOTE_LIBRARY_ROBOT_TESTING,
|
|
|
|
)
|
|
|
|
|
2014-05-02 13:22:08 +02:00
|
|
|
def setUpPloneSite(self, portal):
|
|
|
|
registry = queryUtility(IRegistry)
|
|
|
|
settings = registry.forInterface(IDiscussionSettings)
|
|
|
|
settings.globally_enabled = True
|
|
|
|
|
|
|
|
|
|
|
|
PLONE_APP_DISCUSSION_ROBOT_FIXTURE = PloneAppDiscussionRobot()
|
2010-09-28 18:35:45 +02:00
|
|
|
PLONE_APP_DISCUSSION_FIXTURE = PloneAppDiscussion()
|
|
|
|
PLONE_APP_DISCUSSION_INTEGRATION_TESTING = IntegrationTesting(
|
2022-05-01 23:14:09 +02:00
|
|
|
bases=(PLONE_APP_DISCUSSION_FIXTURE,), name="PloneAppDiscussion:Integration"
|
|
|
|
)
|
2010-09-28 18:35:45 +02:00
|
|
|
PLONE_APP_DISCUSSION_FUNCTIONAL_TESTING = FunctionalTesting(
|
2022-05-01 23:14:09 +02:00
|
|
|
bases=(PLONE_APP_DISCUSSION_FIXTURE,), name="PloneAppDiscussion:Functional"
|
|
|
|
)
|
2014-05-02 13:22:08 +02:00
|
|
|
PLONE_APP_DISCUSSION_ROBOT_TESTING = FunctionalTesting(
|
2017-02-17 07:47:07 +01:00
|
|
|
bases=(PLONE_APP_DISCUSSION_ROBOT_FIXTURE,),
|
2022-05-01 23:14:09 +02:00
|
|
|
name="PloneAppDiscussion:Robot",
|
2014-05-02 13:22:08 +02:00
|
|
|
)
|