source: products/vendor/Products.CacheSetup/current/Products/CacheSetup/tests/test_phcm_cache_rule.py @ 3296

Last change on this file since 3296 was 3296, checked in by fenix, 12 years ago

Load Products.CacheSetup?-1.2.1 into vendor/Products.CacheSetup?/current.

  • Property svn:eol-style set to native
File size: 2.9 KB
Line 
1# This Python file uses the following encoding: utf-8
2"""
3policy http cache manager cache rule implementation tests
4
5$Id: test_phcm_cache_rule.py 62774 2008-04-16 11:24:20Z wichert $
6"""
7
8__author__ = 'Héctor Velarde <hvelarde@jornada.com.mx>'
9__docformat__ = 'restructuredtext'
10
11from base import CacheFuTestCase
12
13from AccessControl import Unauthorized
14from Interface.Verify import verifyObject
15from Products.CMFCore.utils import getToolByName
16from Products.CMFPlone.utils import _createObjectByType
17
18from Products.CacheSetup.config import *
19
20class TestPolicyHTTPCacheManagerCacheRule(CacheFuTestCase):
21
22    def afterSetUp(self):
23        _createObjectByType('PolicyHTTPCacheManagerCacheRule', self.folder, 'phcmcr')
24        self.phcmcr = getattr(self.folder, 'phcmcr')
25
26    def _testImplementsBaseCacheRule(self):
27        # I need to test this
28        iface = IBaseCacheRule
29        self.failUnless(iface.isImplementedBy(self.phcmcr))
30        self.failUnless(verifyObject(iface, self.phcmcr))
31
32    def testTypeInfo(self):
33        ti = self.phcmcr.getTypeInfo()
34        self.failUnlessEqual(ti.Title(), 'PolicyHTTPCacheManager Cache Rule')
35        self.failUnlessEqual(ti.getId(), 'PolicyHTTPCacheManagerCacheRule')
36        self.failUnlessEqual(ti.Metatype(), 'PolicyHTTPCacheManagerCacheRule')
37        self.failUnlessEqual(ti.globalAllow(), 0)
38        self.failUnlessEqual(ti.getMethodAliases(), {'(Default)': 'cache_policy_item_config',
39                                                      'view': 'cache_policy_item_config',
40                                                      'edit': 'cache_policy_item_config'})
41
42    def testActions(self):
43        # not pretty sure about this
44        actions = ('object/view',)
45        ttool = getToolByName(self.portal, 'portal_types')
46        phcmcr = ttool['PolicyHTTPCacheManagerCacheRule']
47        # actions have ManagePortal permission set
48        self.assertRaises(Unauthorized, phcmcr.getActionInfo, actions)
49        self.setRoles(['Manager', 'Member'])
50        info = phcmcr.getActionInfo(actions)
51        self.failUnless(info is not None)
52        self.failUnlessEqual(info['url'], '')
53
54class TestPolicyHTTPCacheManagerCacheRuleMethods(CacheFuTestCase):
55
56    def afterSetUp(self):
57        _createObjectByType('PolicyHTTPCacheManagerCacheRule', self.folder, 'phcmcr')
58        self.phcmcr = getattr(self.folder, 'phcmcr')
59
60    def _test_getContentTypesVocabulary(self):
61        self.fail('not yet implemented...')
62   
63    def _test_getPolicyHTTPCacheManagerVocabulary(self):
64        self.fail('not yet implemented...')
65
66    def _test_getEtag(self):
67        self.fail('not yet implemented...')
68
69    def _test_getHeaderSet(self, request, object, view, member):
70        self.fail('not yet implemented...')
71
72def test_suite():
73    from unittest import TestSuite, makeSuite
74    suite = TestSuite()
75    suite.addTest(makeSuite(TestPolicyHTTPCacheManagerCacheRule))
76    suite.addTest(makeSuite(TestPolicyHTTPCacheManagerCacheRuleMethods))
77    return suite
Note: See TracBrowser for help on using the repository browser.