def test_delete_watched_review_group_with_does_not_exist_error(self):
     """Testing the DELETE users/<username>/watched/review-groups/<id>/ API with Does Not Exist error"""
     rsp = self.apiDelete(get_watched_review_group_item_url(
         self.user.username, 'invalidgroup'),
                          expected_status=404)
     self.assertEqual(rsp['stat'], 'fail')
     self.assertEqual(rsp['err']['code'], DOES_NOT_EXIST.code)
 def test_delete_watched_review_group_with_site_no_access(self):
     """Testing the DELETE users/<username>/watched/review-groups/<id>/ API with a local site and Permission Denied error"""
     rsp = self.apiDelete(get_watched_review_group_item_url(
         self.user.username, 'group', self.local_site_name),
                          expected_status=403)
     self.assertEqual(rsp['stat'], 'fail')
     self.assertEqual(rsp['err']['code'], PERMISSION_DENIED.code)
    def test_delete_watched_review_group(self):
        """Testing the DELETE users/<username>/watched/review-groups/<id>/ API"""
        # First, star it.
        group = self.test_post_watched_review_group()

        self.apiDelete(
            get_watched_review_group_item_url(self.user.username, group.name))
        self.assertFalse(group in self.user.get_profile().starred_groups.all())
    def setup_basic_delete_test(self, user, with_local_site, local_site_name):
        group = self.create_review_group(with_local_site=with_local_site)
        profile = user.get_profile()
        profile.starred_groups.add(group)

        return (get_watched_review_group_item_url(user.username, group.name,
                                                  local_site_name),
                [profile, group])
 def test_delete_watched_review_group_with_does_not_exist_error(self):
     """Testing the DELETE users/<username>/watched/review-groups/<id>/ API with Does Not Exist error"""
     rsp = self.apiDelete(
         get_watched_review_group_item_url(self.user.username,
                                           'invalidgroup'),
         expected_status=404)
     self.assertEqual(rsp['stat'], 'fail')
     self.assertEqual(rsp['err']['code'], DOES_NOT_EXIST.code)
 def test_delete_watched_review_group_with_site_no_access(self):
     """Testing the DELETE users/<username>/watched/review-groups/<id>/ API with a local site and Permission Denied error"""
     rsp = self.apiDelete(
         get_watched_review_group_item_url(self.user.username, 'group',
                                           self.local_site_name),
         expected_status=403)
     self.assertEqual(rsp['stat'], 'fail')
     self.assertEqual(rsp['err']['code'], PERMISSION_DENIED.code)
    def setup_basic_delete_test(self, user, with_local_site, local_site_name):
        group = self.create_review_group(with_local_site=with_local_site)
        profile = user.get_profile()
        profile.starred_groups.add(group)

        return (get_watched_review_group_item_url(user.username, group.name,
                                                  local_site_name),
                [profile, group])
    def test_delete_watched_review_group(self):
        """Testing the DELETE users/<username>/watched/review-groups/<id>/ API"""
        # First, star it.
        group = self.test_post_watched_review_group()

        self.apiDelete(
            get_watched_review_group_item_url(self.user.username, group.name))
        self.assertFalse(group in
                         self.user.get_profile().starred_groups.all())
    def test_delete_watched_review_group_with_site(self):
        """Testing the DELETE users/<username>/watched/review-groups/<id>/ API with a local site"""
        group = self.test_post_watched_review_group_with_site()
        user = User.objects.get(username='******')

        self.apiDelete(
            get_watched_review_group_item_url(user.username, group.name,
                                              self.local_site_name))
        self.assertFalse(group in user.get_profile().starred_groups.all())
    def test_delete_watched_review_group_with_site(self):
        """Testing the DELETE users/<username>/watched/review-groups/<id>/ API with a local site"""
        group = self.test_post_watched_review_group_with_site()
        user = User.objects.get(username='******')

        self.apiDelete(
            get_watched_review_group_item_url(user.username, group.name,
                                              self.local_site_name))
        self.assertFalse(group in user.get_profile().starred_groups.all())
    def test_delete(self):
        """Testing the DELETE users/<username>/watched/review-groups/<id>/ API
        """
        # First, star it.
        group = self.create_review_group()
        profile = Profile.objects.get(user=self.user)
        profile.starred_groups.add(group)

        self.apiDelete(
            get_watched_review_group_item_url(self.user.username, group.name))

        self.assertFalse(group in profile.starred_groups.all())
    def test_delete_with_site(self):
        """Testing the DELETE users/<username>/watched/review-groups/<id>/ API
        with a local site
        """
        user = self._login_user(local_site=True)
        group = self.create_review_group(with_local_site=True)
        profile = Profile.objects.get(user=user)
        profile.starred_groups.add(group)

        self.apiDelete(
            get_watched_review_group_item_url(user.username, group.name,
                                              self.local_site_name))
        self.assertFalse(group in profile.starred_groups.all())
    def test_get_with_site_no_access(self):
        """Testing the GET users/<username>/watched/review-groups/<id>/ API
        without access to a local site
        """
        group = self.create_review_group(with_local_site=True)
        profile = self.user.get_profile()
        profile.starred_groups.add(group)

        rsp = self.api_get(get_watched_review_group_item_url(
            self.user.username, group.pk, self.local_site_name),
                           expected_status=403)
        self.assertEqual(rsp['stat'], 'fail')
        self.assertEqual(rsp['err']['code'], PERMISSION_DENIED.code)
    def test_get(self):
        """Testing the GET users/<username>/watched/review-groups/<id>/ API"""
        group = self.create_review_group()
        profile = self.user.get_profile()
        profile.starred_groups.add(group)

        expected_url = self.base_url + get_review_group_item_url(group.name)

        self.apiGet(
            get_watched_review_group_item_url(self.user.username, group.pk),
            expected_status=302,
            expected_headers={
                'Location': expected_url,
            })
    def test_get(self):
        """Testing the GET users/<username>/watched/review-groups/<id>/ API"""
        group = self.create_review_group()
        profile = self.user.get_profile()
        profile.starred_groups.add(group)

        expected_url = self.base_url + get_review_group_item_url(group.name)

        self.api_get(get_watched_review_group_item_url(self.user.username,
                                                       group.pk),
                     expected_status=302,
                     expected_headers={
                         'Location': expected_url,
                     })
    def test_get_with_site_no_access(self):
        """Testing the GET users/<username>/watched/review-groups/<id>/ API
        without access to a local site
        """
        group = self.create_review_group(with_local_site=True)
        profile = self.user.get_profile()
        profile.starred_groups.add(group)

        rsp = self.apiGet(
            get_watched_review_group_item_url(self.user.username, group.pk,
                                              self.local_site_name),
            expected_status=403)
        self.assertEqual(rsp['stat'], 'fail')
        self.assertEqual(rsp['err']['code'], PERMISSION_DENIED.code)
    def test_get_with_site(self):
        """Testing the GET users/<username>/watched/review-groups/<id>/ API
        with access to a local site
        """
        user = self._login_user(local_site=True)

        group = self.create_review_group(with_local_site=True)
        profile = user.get_profile()
        profile.starred_groups.add(group)

        expected_url = (
            self.base_url +
            get_review_group_item_url(group.name, self.local_site_name))

        self.api_get(get_watched_review_group_item_url(user.username, group.pk,
                                                       self.local_site_name),
                     expected_status=302,
                     expected_headers={
                         'Location': expected_url,
                     })
    def test_get_with_site(self):
        """Testing the GET users/<username>/watched/review-groups/<id>/ API
        with access to a local site
        """
        user = self._login_user(local_site=True)

        group = self.create_review_group(with_local_site=True)
        profile = user.get_profile()
        profile.starred_groups.add(group)

        expected_url = (
            self.base_url +
            get_review_group_item_url(group.name, self.local_site_name))

        self.apiGet(
            get_watched_review_group_item_url(user.username, group.pk,
                                              self.local_site_name),
            expected_status=302,
            expected_headers={
                'Location': expected_url,
            })
 def setup_http_not_allowed_item_test(self, user):
     return get_watched_review_group_item_url(user.username, 'my-group')
 def setup_http_not_allowed_item_test(self, user):
     return get_watched_review_group_item_url(user.username, 'my-group')