def test_post_to_private_list_accepted_members(self): mailinglist = Mailinglist(self.env, emailaddress="LIST1", private=True, postperm="MEMBERS") mailinglist.insert() mailinglist.subscribe(user="******", poster=True) PermissionCache(self.env, 'sparrowj', mailinglist.resource).assert_permission('MAILINGLIST_POST')
def test_read_private_list_denied(self): mailinglist = Mailinglist(self.env, emailaddress="LIST1", private=True, postperm="RESTRICTED") mailinglist.insert() mailinglist.subscribe(user="******", poster=False) mailinglist.subscribe(user="******", poster=True) PermissionCache(self.env, 'randomuser', mailinglist.resource).assert_permission('MAILINGLIST_VIEW')
def test_post_to_private_list_accepted_restricted(self): mailinglist = Mailinglist(self.env, emailaddress="LIST1", private=True, postperm="RESTRICTED") mailinglist.insert() mailinglist.subscribe(user="******", poster=False) mailinglist.subscribe(user="******", poster=True) PermissionCache(self.env, 'sparrowj', mailinglist.resource).assert_permission('MAILINGLIST_POST')
def test_post_to_private_list_denied_restricted_nonmember(self): """Non-posting member of this list.""" mailinglist = Mailinglist(self.env, emailaddress="LIST1", private=True, postperm="RESTRICTED") mailinglist.insert() mailinglist.subscribe(user="******", poster=False) PermissionCache(self.env, 'smithj', mailinglist.resource).assert_permission('MAILINGLIST_POST')
def test_post_to_private_list_accepted_members_group(self): mailinglist = Mailinglist(self.env, emailaddress="LIST1", private=True, postperm="MEMBERS") mailinglist.insert() PermissionSystem(self.env).grant_permission('sparrowj', 'group1') PermissionSystem(self.env).grant_permission('smithj', 'group1') mailinglist.subscribe(group="group1", poster=True) PermissionCache(self.env, 'sparrowj', mailinglist.resource).assert_permission('MAILINGLIST_POST')
def test_read_nonprivate_list_denied(self): # not a private list, but in general the user isn't allowed to # view mailing lists (e.g., not a member of this project at all.) mailinglist = Mailinglist(self.env, emailaddress="LIST1", private=False, postperm="RESTRICTED") mailinglist.insert() mailinglist.subscribe(user="******", poster=False) mailinglist.subscribe(user="******", poster=True) PermissionCache(self.env, 'randomuser', mailinglist.resource).assert_permission('MAILINGLIST_VIEW')
def test_read_nonprivate_list_accepted(self): PermissionSystem(self.env).grant_permission('members', 'MAILINGLIST_VIEW') PermissionSystem(self.env).grant_permission('randomuser', 'members') mailinglist = Mailinglist(self.env, emailaddress="LIST1", private=False, postperm="RESTRICTED") mailinglist.insert() mailinglist.subscribe(user="******", poster=False) mailinglist.subscribe(user="******", poster=True) PermissionCache(self.env, 'randomuser', mailinglist.resource).assert_permission('MAILINGLIST_VIEW')
def test_subscribers(self): mailinglist = Mailinglist(self.env, emailaddress="LIST1", private=True, postperm="MEMBERS") mailinglist.insert() PermissionSystem(self.env).grant_permission('sparrowj', 'group1') PermissionSystem(self.env).grant_permission('smithj', 'group1') PermissionSystem(self.env).grant_permission('pipern', 'group2') mailinglist.subscribe(group="group1", poster=True) mailinglist.subscribe(group="group2", poster=True) mailinglist.unsubscribe(user="******") assert mailinglist.subscribers()["smithj"]['decline'] == True assert "sparrowj" in mailinglist.subscribers() assert "pipern" in mailinglist.subscribers() mailinglist.unsubscribe(group="group1") assert "sparrowj" not in mailinglist.subscribers()
def test_add_list_member(self): mailinglist = Mailinglist(self.env, emailaddress="LIST1", private=True, postperm="MEMBERS") mailinglist.insert() mailinglist.subscribe(user="******", poster=True) assert "sparrowj" in mailinglist.subscribers()