1 | # |
---|
2 | # testSetup |
---|
3 | # |
---|
4 | |
---|
5 | from base import * |
---|
6 | from config import skins_content, istalled_types, types_actions |
---|
7 | |
---|
8 | class TestSetup(TestCase): |
---|
9 | |
---|
10 | def afterSetUp(self): |
---|
11 | self.loginAsPortalOwner() |
---|
12 | self.qi = getattr(self.portal.aq_explicit, 'portal_quickinstaller') |
---|
13 | self.ttool = getattr(self.portal.aq_explicit, 'portal_types') |
---|
14 | self.ptool = getattr(self.portal.aq_explicit, 'portal_properties') |
---|
15 | |
---|
16 | def test_installed_products(self): |
---|
17 | qi = self.qi |
---|
18 | installed = [ prod['id'] for prod in qi.listInstalledProducts() ] |
---|
19 | self.failUnless('qPingTool' in installed, installed) |
---|
20 | self.failUnless('Quills' in installed, installed) |
---|
21 | |
---|
22 | def test_tool_installed(self): |
---|
23 | t = getToolByName(self.portal, 'portal_pingtool', None) |
---|
24 | self.failUnless(t, t) |
---|
25 | self.failUnless(isinstance(t, PingTool.PingTool), t.__class__) |
---|
26 | self.failUnlessEqual(t.meta_type, 'PingTool') |
---|
27 | self.failUnlessEqual(t.getId(), 'portal_pingtool') |
---|
28 | |
---|
29 | def test_skin_installed(self): |
---|
30 | stool = getattr(self.portal.aq_explicit, 'portal_skins') |
---|
31 | ids = stool.objectIds() |
---|
32 | self.failUnless('qpingtool' in ids, ids) |
---|
33 | content = [i.id for i in self.portal.portal_skins.qpingtool.objectValues()] |
---|
34 | content.sort() |
---|
35 | skins_content.sort() |
---|
36 | self.failUnless(content==skins_content) |
---|
37 | |
---|
38 | def test_installedAllTypes(self): |
---|
39 | # test that all types are installed well |
---|
40 | ttool = self.ttool |
---|
41 | tids = ttool.objectIds() |
---|
42 | for id in istalled_types: |
---|
43 | self.failUnless(id in tids, (id, tids)) |
---|
44 | tinfo = ttool[id] |
---|
45 | self.failUnless(tinfo.product == 'qPingTool', tinfo.product) |
---|
46 | |
---|
47 | def test_added_action(self): |
---|
48 | t = getToolByName(self.portal, 'portal_pingtool', None) |
---|
49 | ttool = self.ttool |
---|
50 | for type_actions in types_actions: |
---|
51 | pttool = ttool[type_actions['type']] |
---|
52 | for id, name, action, permission, category, visible in type_actions['actions']: |
---|
53 | pt_actions_ids = [a.getId() for a in pttool.listActions()] |
---|
54 | pt_action = [a for a in pttool.listActions() if a.id == id][0] |
---|
55 | self.failUnless(id in pt_actions_ids, pt_actions_ids) |
---|
56 | self.failUnless(name == pt_action.Title(), pt_action) |
---|
57 | self.failUnless(action == pt_action.getActionExpression(), pt_action) |
---|
58 | self.failUnless(permission == pt_action.getPermissions(), pt_action) |
---|
59 | self.failUnless(category == pt_action.getCategory(), pt_action) |
---|
60 | self.failUnless(visible == pt_action.getVisibility(), pt_action) |
---|
61 | |
---|
62 | |
---|
63 | def test_suite(): |
---|
64 | from unittest import TestSuite, makeSuite |
---|
65 | suite = TestSuite() |
---|
66 | suite.addTest(makeSuite(TestSetup)) |
---|
67 | return suite |
---|