def test_review_request_with_invite_only_group(self): """Testing no access to a review request with only an unjoined invite-only group """ group = Group(name='test-group', invite_only=True) group.save() review_request = self.create_review_request(publish=True) review_request.target_groups.add(group) self.assertFalse(review_request.is_accessible_by(self.user)) self.assertFalse(review_request.is_accessible_by(self.anonymous))
def test_review_request_with_invite_only_group_and_target_user(self): """Testing access to a review request with specific target user and invite-only group """ group = Group(name='test-group', invite_only=True) group.save() review_request = self.create_review_request(publish=True) review_request.target_groups.add(group) review_request.target_people.add(self.user) self.assertTrue(review_request.is_accessible_by(self.user)) self.assertFalse(review_request.is_accessible_by(self.anonymous))
def test_get_reviewrequest_with_invite_only_group_and_permission_denied_error(self): """Testing the GET review-requests/<id>/ API with invite-only group and Permission Denied error""" review_request = self.create_review_request(publish=True) self.assertNotEqual(review_request.submitter, self.user) group = Group(name='test-group', invite_only=True) group.save() review_request.target_groups.add(group) review_request.save() rsp = self.apiGet( get_review_request_item_url(review_request.display_id), expected_status=403) self.assertEqual(rsp['stat'], 'fail') self.assertEqual(rsp['err']['code'], PERMISSION_DENIED.code)
def test_get_reviewrequest_with_invite_only_group_and_target_user(self): """Testing the GET review-requests/<id>/ API with invite-only group and target user""" review_request = self.create_review_request(publish=True) self.assertNotEqual(review_request.submitter, self.user) group = Group(name='test-group', invite_only=True) group.save() review_request.target_groups.add(group) review_request.target_people.add(self.user) review_request.save() rsp = self.apiGet( get_review_request_item_url(review_request.display_id), expected_mimetype=review_request_item_mimetype) self.assertEqual(rsp['stat'], 'ok') self.assertEqual(rsp['review_request']['id'], review_request.display_id) self.assertEqual(rsp['review_request']['summary'], review_request.summary)
def test_recipients_to_addresses_with_groups_many_mailinglist(self): """Testing generating addresses from recipients that are groups with multiple mailing list addresses """ groups = [ Group(name='group1', display_name='Group One', mailing_list='[email protected],[email protected]'), Group(name='group2', display_name='Group Two', mailing_list='[email protected],[email protected]'), ] addresses = recipients_to_addresses(groups) self.assertEqual(len(addresses), 4) expected_addresses = set( sum((get_email_addresses_for_group(group) for group in groups), [])) self.assertEqual(addresses, expected_addresses)
def test_recipients_to_addresses_with_groups_and_users(self): """Testing generating addresses from recipients that are users and groups with mailing list addresses """ groups = [ Group(name='group1', display_name='Group One', mailing_list='*****@*****.**'), Group(name='group2', display_name='Group Two', mailing_list='*****@*****.**'), ] users = list(User.objects.filter(username__in=['doc', 'grumpy']).all()) addresses = recipients_to_addresses(groups + users) self.assertEqual(len(addresses), 4) user_addresses = [build_email_address_for_user(u) for u in users] group_addresses = sum( (get_email_addresses_for_group(group) for group in groups), []) self.assertEqual(addresses, set(user_addresses + group_addresses))