source: products/qMemberdataExport/tags/0.0.2/tests/testExternalMethod.py @ 2111

Last change on this file since 2111 was 1, checked in by myroslav, 19 years ago

Building directory structure

  • Property svn:eol-style set to native
File size: 1.7 KB
Line 
1
2""" This module contains class that tests script for external method """
3
4
5import os, sys, string
6if __name__ == '__main__':
7    execfile(os.path.join(sys.path[0], 'framework.py'))
8
9from commonTestingStuff import *
10
11class TestExternalMethod(PloneTestCase.PloneTestCase):
12    """ Class for testing script for external method """
13
14    def afterSetUp(self):
15        """ AfterSetUp features """
16
17        self.loginAsPortalOwner()
18        self.qi = getToolByName(self.portal, 'portal_quickinstaller')
19        self.method = getattr(self.portal, EXTERNAL_METHOD)
20        self.membership = self.portal.portal_membership
21        for m in PORTAL_MEMBERS:
22            addMember(self, m['id'], m['fullname'], m['email'], m['roles'], m['last_login_time'])
23
24    def testMemberData(self):
25        """ Test external script for good csv output stream """
26
27        if cmfmember_installed:
28            getToolByName(self.portal, 'cmfmember_control').upgrade(swallow_errors=0)
29        forCompare = parseCSV(self, self.method(self.portal, exclude_props=EXCLUDE_PROPS, include_props=INCLUDE_PROPS))
30        self.failUnless(forCompare[0] == forCompare[1], 'Bad output from external method script')
31
32    def testExternalMethodPermissions(self):
33        """ Test external method 'View' permission """
34
35        selected = [r['name'] for r in self.method.rolesOfPermission('View') if r['selected']]
36        self.failUnless(len(selected) ==1 and 'Manager' in selected,
37                        'External method have bad roles for \'View\' permission')
38
39def test_suite():
40    from unittest import TestSuite, makeSuite
41    suite = TestSuite()
42    suite.addTest(makeSuite(TestExternalMethod))
43    return suite
44
45if __name__ == '__main__':
46    framework()
Note: See TracBrowser for help on using the repository browser.