[832] | 1 | # |
---|
[880] | 2 | # Test product's installation |
---|
[832] | 3 | # |
---|
| 4 | |
---|
[880] | 5 | from base import getToolByName, TestCase |
---|
| 6 | from config import * |
---|
[832] | 7 | |
---|
[880] | 8 | |
---|
[832] | 9 | class TestInstallation(TestCase): |
---|
| 10 | |
---|
| 11 | def afterSetUp(self): |
---|
| 12 | self.loginAsPortalOwner() |
---|
| 13 | self.qi = self.portal.portal_quickinstaller |
---|
| 14 | |
---|
[880] | 15 | def test_package_install(self): |
---|
| 16 | self.failUnless(self.qi.isProductInstalled(PRODUCT), |
---|
| 17 | '%s is not installed.' % PRODUCT) |
---|
| 18 | |
---|
[832] | 19 | def test_configlet_install(self): |
---|
| 20 | configTool = getToolByName(self.portal, 'portal_controlpanel', None) |
---|
[880] | 21 | self.failUnless(CONFIGLET_ID in [a.getId() for a in configTool.listActions()], |
---|
| 22 | 'Configlet %s is not registered.' % CONFIGLET_ID) |
---|
[832] | 23 | |
---|
| 24 | def test_skins_install(self): |
---|
| 25 | skinstool=getToolByName(self.portal, 'portal_skins') |
---|
[880] | 26 | self.failUnless(PRODUCT_SKIN_NAME in skinstool.objectIds(), |
---|
| 27 | 'There is no %s folder in portal_skins.' % PRODUCT_SKIN_NAME) |
---|
[832] | 28 | for skin in skinstool.getSkinSelections(): |
---|
[880] | 29 | path = skinstool.getSkinPath(skin) |
---|
| 30 | layers = map(str.strip, path.split(',')) |
---|
| 31 | self.failUnless(PRODUCT_SKIN_NAME in layers, |
---|
| 32 | '%s layer is not registered for %s.' % (PRODUCT_SKIN_NAME, skin)) |
---|
[832] | 33 | |
---|
| 34 | def test_layer_install(self): |
---|
| 35 | from plone.browserlayer.utils import registered_layers |
---|
| 36 | from quintagroup.plonecomments.interfaces import IPloneCommentsLayer |
---|
[880] | 37 | self.failUnless(IPloneCommentsLayer in registered_layers(), |
---|
| 38 | '%s layer is not registered.' % IPloneCommentsLayer.getName()) |
---|
[832] | 39 | |
---|
| 40 | def test_propertysheet_install(self): |
---|
| 41 | portal_properties = getToolByName(self.portal, 'portal_properties', None) |
---|
[880] | 42 | self.failUnless(PROPERTY_SHEET in portal_properties.objectIds(), |
---|
| 43 | '%s properies not found in portal_properties.' % PROPERTY_SHEET) |
---|
[832] | 44 | property_ids = portal_properties[PROPERTY_SHEET].propertyIds() |
---|
[880] | 45 | self.failUnless(EMAIL_PID in property_ids, |
---|
| 46 | '%s propery not found in %s property.' % (EMAIL_PID, PROPERTY_SHEET)) |
---|
| 47 | self.failUnless(EMAIL_SUBJECT_PID in property_ids, |
---|
| 48 | '%s propery not found in %s property.' % (EMAIL_SUBJECT_PID, PROPERTY_SHEET)) |
---|
| 49 | self.failUnless(REQUIRE_EMAIL_PID in property_ids, |
---|
| 50 | '%s propery not found in %s property.' % (REQUIRE_EMAIL_PID, PROPERTY_SHEET)) |
---|
| 51 | self.failUnless(APPROVE_NOTIFICATION_PID in property_ids, |
---|
| 52 | '%s propery not found in %s property.' % (APPROVE_NOTIFICATION_PID, PROPERTY_SHEET)) |
---|
| 53 | self.failUnless(PUBLISHED_NOTIFICATION_PID in property_ids, |
---|
| 54 | '%s propery not found in %s property.' % (PUBLISHED_NOTIFICATION_PID, PROPERTY_SHEET)) |
---|
| 55 | self.failUnless(REJECTED_NOTIFICATION_PID in property_ids, |
---|
| 56 | '%s propery not found in %s property.' % (REJECTED_NOTIFICATION_PID, PROPERTY_SHEET)) |
---|
| 57 | self.failUnless(APPROVE_USER_NOTIFICATION_PID in property_ids, |
---|
| 58 | '%s propery not found in %s property.' % (APPROVE_USER_NOTIFICATION_PID, PROPERTY_SHEET)) |
---|
| 59 | self.failUnless(REPLY_USER_NOTIFICATION_PID in property_ids, |
---|
| 60 | '%s propery not found in %s property.' % (REPLY_USER_NOTIFICATION_PID, PROPERTY_SHEET)) |
---|
| 61 | self.failUnless(MODERATION_PID in property_ids, |
---|
| 62 | '%s propery not found in %s property.' % (MODERATION_PID, PROPERTY_SHEET)) |
---|
| 63 | self.failUnless(ANONYMOUS_COMMENTING_PID in property_ids, |
---|
| 64 | '%s propery not found in %s property.' % (ANONYMOUS_COMMENTING_PID, PROPERTY_SHEET)) |
---|
[832] | 65 | |
---|
| 66 | def test_permission_added(self): |
---|
| 67 | roles = [item['name'] for item in self.portal.rolesOfPermission(PERM_NAME)] |
---|
[880] | 68 | self.failIf( roles == [], '%s not installed.' % PERM_NAME) |
---|
[832] | 69 | |
---|
| 70 | |
---|
| 71 | def test_suite(): |
---|
| 72 | from unittest import TestSuite, makeSuite |
---|
| 73 | suite = TestSuite() |
---|
| 74 | suite.addTest(makeSuite(TestInstallation)) |
---|
| 75 | return suite |
---|