source: products/quintagroup.captcha.core/trunk/quintagroup/captcha/core/tests/testInstallation.py @ 1957

Last change on this file since 1957 was 1957, checked in by mylan, 14 years ago

#172: move tests module into tests package. Split into testInstall and testWidget. Add testing test_captcha skin layer with captcha test form

  • Property svn:eol-style set to native
File size: 3.3 KB
Line 
1from base import *
2
3class TestInstallation(ptc.FunctionalTestCase):
4
5    def afterSetUp(self):
6        self.loginAsPortalOwner()
7        self.qi = getToolByName(self.portal, 'portal_quickinstaller', None)
8        self.cp = getToolByName(self.portal, 'portal_controlpanel', None)
9        self.st = getToolByName(self.portal, 'portal_skins', None)
10        self.qi.installProduct(PRODUCT_NAME)
11
12    def getLayers(self):
13        return LAYERS + [LAYER_STATIC_CAPTCHAS]
14
15    def testPropertysheetInstall(self):
16        pp = getToolByName(self.portal, 'portal_properties')
17        self.assert_(PROPERTY_SHEET in pp.objectIds(), 'Property sheet isn\'t found')
18
19    def testPropertysheetUninstall(self):
20        self.qi.uninstallProducts([PRODUCT_NAME])
21        pp = getToolByName(self.portal, 'portal_properties')
22        self.assert_(not PROPERTY_SHEET in pp.objectIds(),
23            'Property sheet found after uninstallation')
24
25    def testConfigletInstall(self):
26        self.assert_(CONFIGLET_ID in [a.getId() for a in self.cp.listActions()], 'Configlet not found')
27
28    def testConfigletUninstall(self):
29        self.qi.uninstallProducts([PRODUCT_NAME])
30        self.assertNotEqual(self.qi.isProductInstalled(PRODUCT_NAME), True,'%s is already installed' % PRODUCT_NAME)
31        self.assert_(not CONFIGLET_ID in [a.getId() for a in self.cp.listActions()], 'Configlet found after uninstallation')
32
33    def testSkinsInstall(self):
34        skinstool = self.st
35        layers = self.getLayers()
36        for skin in skinstool.getSkinSelections():
37            path = skinstool.getSkinPath(skin)
38            path = map(str.strip, path.split(','))
39            for layer in layers:
40                self.assert_(layer.split('/')[0] in skinstool.objectIds(), '%s directory view not found in portal_skins after installation' % layer)
41                self.assert_(layer in path, '%s layer not found in %s' % (PRODUCT_NAME, skin))
42
43    def testSkinsUninstall(self):
44        self.qi.uninstallProducts([PRODUCT_NAME])
45        self.assertNotEqual(self.qi.isProductInstalled(PRODUCT_NAME), True,'%s is already installed' % PRODUCT_NAME)
46        skinstool = self.st
47        layers = self.getLayers()
48        for skin in skinstool.getSkinSelections():
49            path = skinstool.getSkinPath(skin)
50            path = map(str.strip, path.split(','))
51            for layer in layers:
52                self.assert_(not layer.split('/')[0] in skinstool.objectIds(), '%s directory view found in portal_skins after uninstallation' % layer)
53                self.assert_(not layer in path, '%s layer found in %s after uninstallation' % (layer, skin))
54
55    def testToolInstall(self):
56        self.assert_(TOOL_ID in self.portal.objectIds())
57
58    def testToolUninstall(self):
59        self.qi.uninstallProducts([PRODUCT_NAME])
60        self.assertNotEqual(self.qi.isProductInstalled(PRODUCT_NAME), True, 
61            '%s is already installed' % PRODUCT_NAME)
62        self.assert_(not TOOL_ID in self.portal.objectIds())
63
64    def testCaptchaKey(self):
65        ck = getattr(self.portal, CAPTCHA_KEY)
66        self.assert_(ck)
67        self.assertEqual(len(ck), 8)
68        self.qi.uninstallProducts([PRODUCT_NAME])
69        self.assert_(not self.portal.hasProperty(CAPTCHA_KEY))
70
71def test_suite():
72    suite = unittest.TestSuite()
73    suite.addTest(unittest.makeSuite(TestInstallation))
74    return suite
Note: See TracBrowser for help on using the repository browser.