source: products/quintagroup.plonecomments/branches/jquery/quintagroup/plonecomments/tests/testQPloneCommentsReportAbuse.py @ 2137

Last change on this file since 2137 was 2137, checked in by kroman0, 14 years ago

PEP8 fixes

File size: 2.6 KB
Line 
1from base import getToolByName, TestCase
2from config import *
3
4from testQPloneCommentsCommenting import TestCommBase
5from zExceptions import Unauthorized
6
7USERS = {  # Common Members
8         'admin': {'passw': 'secret_admin', 'roles': ['Manager']},
9         'owner': {'passw': 'secret_owner', 'roles': ['Owner']},
10         'member': {'passw': 'secret_member', 'roles': ['Member']},
11         'reviewer': {'passw': 'secret_reviewer', 'roles': ['Reviewer']},
12           # Members for discussion manager group
13         'dm_admin': {'passw': 'secret_dm_admin', 'roles': ['Manager']},
14         'dm_owner': {'passw': 'secret_dm_owner', 'roles': ['Owner']},
15         'dm_member': {'passw': 'secret_dm_member', 'roles': ['Member']},
16         'dm_reviewer': {'passw': 'secret_dm_reviewer', 'roles': ['Reviewer']},
17        }
18COMMON_USERS_IDS = [u for u in USERS.keys() if not u.startswith('dm_')]
19COMMON_USERS_IDS.append('anonym')
20DM_USERS_IDS = [u for u in USERS.keys() if u.startswith('dm_')]
21
22
23class TestReportAbuse(TestCommBase):
24
25    def afterSetUp(self):
26        TestCommBase.afterSetUp(self)
27        self.testAnonymousReportAbuse()
28        self.testAuthenticatedReportAbuse()
29
30    def testAnonymousReportAbuse(self):
31        self.login('dm_admin')
32        doc_obj = getattr(self.portal, "doc_anonym")
33        discussion = self.discussion.getDiscussionFor(doc_obj)
34        comment = discussion._container.values()[0]
35        self.logout()
36        # Add abuse report on document.
37        doc_obj.REQUEST.set('comment_id', comment.id)
38        try:
39            doc_obj.report_abuse("Anonymous Report Abuse")
40        except:
41            raise "Anonymous user CAN'T report abuse in turned ON "\
42                  "*Anonymous report abuse mode*."
43
44    def testAuthenticatedReportAbuse(self):
45        not_anonym_users = [u for u in self.all_users_id if not u == 'anonym']
46        failed_users = []
47        for u in not_anonym_users:
48            self.login('dm_admin')
49            doc_id = "doc_%s" % u
50            doc_obj = getattr(self.portal, doc_id)
51            discussion = self.discussion.getDiscussionFor(doc_obj)
52            comment = discussion._container.values()[0]
53            doc_obj.REQUEST.set('comment_id', comment.id)
54            self.login(u)
55            try:
56                doc_obj.report_abuse("Anonymous Report Abuse")
57            except:
58                failed_users.append(u)
59
60        self.assert_(not failed_users,
61            "%s - user(s) can not report abuse" % failed_users)
62
63
64def test_suite():
65    from unittest import TestSuite, makeSuite
66    suite = TestSuite()
67    suite.addTest(makeSuite(TestReportAbuse))
68    return suite
Note: See TracBrowser for help on using the repository browser.