source: products/qMemberdataExport/trunk/tests/testExternalMethod.py

Last change on this file was 1, checked in by myroslav, 18 years ago

Building directory structure

  • Property svn:eol-style set to native
File size: 1.6 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.method = getattr(self.portal, EXTERNAL_METHOD)
19        self.membership = self.portal.portal_membership
20        for m in PORTAL_MEMBERS:
21            addMember(self, m['id'], m['fullname'], m['email'], m['roles'], m['last_login_time'])
22
23    def testMemberData(self):
24        """ Test external script for good csv output stream """
25
26        if cmfmember_installed:
27            getToolByName(self.portal, 'cmfmember_control').upgrade(swallow_errors=0)
28        forCompare = parseCSV(self, self.method(self.portal, exclude_props=EXCLUDE_PROPS, include_props=INCLUDE_PROPS))
29        self.failUnless(forCompare[0] == forCompare[1], 'Bad output from external method script')
30
31    def testExternalMethodPermissions(self):
32        """ Test external method 'View' permission """
33
34        selected = [r['name'] for r in self.method.rolesOfPermission('View') if r['selected']]
35        self.failUnless(len(selected) ==1 and 'Manager' in selected,
36                        'External method have bad roles for \'View\' permission')
37
38def test_suite():
39    from unittest import TestSuite, makeSuite
40    suite = TestSuite()
41    suite.addTest(makeSuite(TestExternalMethod))
42    return suite
43
44if __name__ == '__main__':
45    framework()
Note: See TracBrowser for help on using the repository browser.