Ejemplo n.º 1
0
    def test_delete_user(self):
        staff = UserProfile.objects.get(username='******')
        req = req_factory_factory(reverse('lookup.user_delete',
                                          args=[self.user.id]),
                                  user=staff,
                                  post=True,
                                  data={'delete_reason': 'basketball reasons'})

        r = user_delete(req, self.user.id)
        self.assert3xx(r, reverse('lookup.user_summary', args=[self.user.id]))

        # Test data.
        assert UserProfile.objects.get(id=self.user.id).deleted
        eq_(
            staff,
            ActivityLog.objects.for_user(self.user).filter(
                action=amo.LOG.DELETE_USER_LOOKUP.id)[0].user)

        # Test frontend.
        req = req_factory_factory(reverse('lookup.user_summary',
                                          args=[self.user.id]),
                                  user=staff)
        r = user_summary(req, self.user.id)
        eq_(r.status_code, 200)
        doc = pq(r.content)
        eq_(doc('#delete-user dd:eq(1)').text(), 'basketball reasons')
Ejemplo n.º 2
0
    def test_no_reupload_on_pending(self):
        self.addon.update(status=amo.STATUS_PENDING)
        req = req_factory_factory(
            self.addon.get_dev_url('edit'), user=self.user)
        r = edit_theme(req, self.addon.slug, self.addon)
        doc = pq(r.content)
        assert not doc('a.reupload')

        self.addon.update(status=amo.STATUS_PUBLIC)
        req = req_factory_factory(
            self.addon.get_dev_url('edit'), user=self.user)
        r = edit_theme(req, self.addon.slug, self.addon)
        doc = pq(r.content)
        assert doc('a.reupload')
Ejemplo n.º 3
0
    def test_preload_on_status_page(self, noop1, noop2):
        req = req_factory_factory(self.url, user=self.user)
        r = status(req, self.webapp.slug)
        doc = pq(r.content)
        eq_(doc("#preload .listing-footer a").attr("href"), self.webapp.get_dev_url("preload_home"))
        assert doc("#preload .not-submitted")

        self._submit_pdf()

        req = req_factory_factory(self.url, user=self.user)
        r = status(req, self.webapp.slug)
        doc = pq(r.content)
        eq_(doc("#preload .listing-footer a").attr("href"), self.webapp.get_dev_url("preload_submit"))
        assert doc("#preload .submitted")
Ejemplo n.º 4
0
 def test_submit_xls(self, noop, save_mock):
     f = open(self.test_xls, 'r')
     req = req_factory_factory(self.submit_url, user=self.user, post=True,
                               data={'agree': True, 'test_plan': f})
     r = preload_submit(req, self.webapp.slug)
     self.assert3xx(r, self.url)
     self._assert_submit('xls', 'application/vnd.ms-excel', save_mock)
Ejemplo n.º 5
0
    def test_preload_on_status_page(self, noop1, noop2):
        req = req_factory_factory(self.url, user=self.user)
        r = status(req, self.webapp.slug)
        doc = pq(r.content)
        eq_(doc('#preload .listing-footer a').attr('href'),
            self.webapp.get_dev_url('preload_home'))
        assert doc('#preload .not-submitted')

        self._submit_pdf()

        req = req_factory_factory(self.url, user=self.user)
        r = status(req, self.webapp.slug)
        doc = pq(r.content)
        eq_(doc('#preload .listing-footer a').attr('href'),
            self.webapp.get_dev_url('preload_submit'))
        assert doc('#preload .submitted')
Ejemplo n.º 6
0
 def test_perm_themes(self):
     self.grant_permission(self.user, 'Personas:Review')
     req = req_factory_factory('noop', user=self.user)
     assert check_reviewer(req)
     assert not check_reviewer(req, only='app')
     assert not check_reviewer(req, only='addon')
     assert check_reviewer(req, only='persona')
Ejemplo n.º 7
0
    def check_permissions(self, thread):
        req = req_factory_factory(
            reverse('comm-thread-detail', kwargs={'pk': thread.pk}),
            user=self.profile)

        return ThreadPermission().has_object_permission(
            req, 'comm-thread-detail', thread)
Ejemplo n.º 8
0
 def get_request(self, data=None):
     req = req_factory_factory(reverse("post-email-api"), self.profile)
     req.META["REMOTE_ADDR"] = "10.10.10.10"
     req.META["HTTP_POSTFIX_AUTH_TOKEN"] = "something"
     req.POST = dict(data) if data else dict({})
     req.method = "POST"
     return req
Ejemplo n.º 9
0
    def test_outdated(self, noop, save_mock):
        self._submit_pdf()

        req = req_factory_factory(self.url, user=self.user)
        r = status(req, self.webapp.slug)
        doc = pq(r.content)
        assert doc('.outdated')
Ejemplo n.º 10
0
 def test_perm_themes(self):
     self.grant_permission(self.user, 'Personas:Review')
     req = req_factory_factory('noop', user=self.user)
     assert check_reviewer(req)
     assert not check_reviewer(req, only='app')
     assert not check_reviewer(req, only='addon')
     assert check_reviewer(req, only='persona')
Ejemplo n.º 11
0
 def test_priority_button_works(self):
     staff = UserProfile.objects.get(username='******')
     req = req_factory_factory(self.url, post=True, user=staff,
                               data={'prioritize': 'true'})
     app_summary(req, self.app.id)
     self.app.reload()
     eq_(self.app.priority_review, True)
Ejemplo n.º 12
0
    def test_preload_on_status_page(self, noop1, noop2):
        req = req_factory_factory(self.url, user=self.user)
        r = status(req, self.webapp.app_slug)
        doc = pq(r.content)
        eq_(doc('#preload .listing-footer a').attr('href'),
            self.webapp.get_dev_url('preload_home'))
        assert doc('#preload .not-submitted')

        self._submit_pdf()

        req = req_factory_factory(self.url, user=self.user)
        r = status(req, self.webapp.app_slug)
        doc = pq(r.content)
        eq_(doc('#preload .listing-footer a').attr('href'),
            self.webapp.get_dev_url('preload_submit'))
        assert doc('#preload .submitted')
Ejemplo n.º 13
0
 def test_submit_xls(self, noop, save_mock):
     f = open(self.test_xls, 'r')
     req = req_factory_factory(self.submit_url, user=self.user, post=True,
                               data={'agree': True, 'test_plan': f})
     r = preload_submit(req, self.webapp.app_slug)
     self.assert3xx(r, self.url)
     self._assert_submit('xls', 'application/vnd.ms-excel', save_mock)
Ejemplo n.º 14
0
    def test_outdated(self, noop, save_mock):
        self._submit_pdf()

        req = req_factory_factory(self.url, user=self.user)
        r = status(req, self.webapp.app_slug)
        doc = pq(r.content)
        assert doc('.outdated')
Ejemplo n.º 15
0
 def test_priority_button_works(self):
     staff = UserProfile.objects.get(username='******')
     req = req_factory_factory(self.url, post=True, user=staff,
                               data={'prioritize': 'true'})
     app_summary(req, self.app.id)
     self.app.reload()
     eq_(self.app.priority_review, True)
Ejemplo n.º 16
0
 def get_request(self, data=None):
     req = req_factory_factory(reverse('post-email-api'), self.profile)
     req.META['REMOTE_ADDR'] = '10.10.10.10'
     req.META['HTTP_POSTFIX_AUTH_TOKEN'] = 'something'
     req.POST = dict(data) if data else dict({})
     req.method = 'POST'
     return req
Ejemplo n.º 17
0
 def get_request(self, data=None):
     req = req_factory_factory(reverse('post-email-api'), self.profile)
     req.META['REMOTE_ADDR'] = '10.10.10.10'
     req.META['HTTP_POSTFIX_AUTH_TOKEN'] = 'something'
     req.POST = dict(data) if data else dict({})
     req.method = 'POST'
     return req
Ejemplo n.º 18
0
    def check_permissions(self, thread):
        req = req_factory_factory(
            reverse('comm-thread-detail', kwargs={'pk': thread.pk}),
            user=self.profile)

        return ThreadPermission().has_object_permission(
            req, 'comm-thread-detail', thread)
Ejemplo n.º 19
0
    def test_submit_multiple_status(self, noop, save_mock):
        f = open(self.test_xls, "r")
        req = req_factory_factory(self.submit_url, user=self.user, post=True, data={"test_plan": f, "agree": True})
        preload_submit(req, self.webapp.slug)
        self._submit_pdf()

        eq_(PreloadTestPlan.objects.count(), 2)
        xls = PreloadTestPlan.objects.get(filename__contains="xls")
        pdf = PreloadTestPlan.objects.get(filename__contains="pdf")
        eq_(xls.status, amo.STATUS_DISABLED)
        eq_(pdf.status, amo.STATUS_PUBLIC)

        # Check the link points to most recent one.
        req = req_factory_factory(self.url, user=self.user)
        r = status(req, self.webapp.slug)
        doc = pq(r.content)
        eq_(doc(".test-plan-download").attr("href"), pdf.preload_test_plan_url)
Ejemplo n.º 20
0
    def test_submit_no_file(self, noop, save_mock):
        req = req_factory_factory(self.submit_url, user=self.user, post=True, data={"agree": True})
        r = preload_submit(req, self.webapp.slug)
        eq_(r.status_code, 200)
        eq_(PreloadTestPlan.objects.count(), 0)
        assert not save_mock.called

        assert "required" in pq(r.content)(".test_plan .errorlist").text()
Ejemplo n.º 21
0
 def test_desc_too_long_error(self, message_mock):
     data = {'description': 'a' * 501}
     req = req_factory_factory(
         self.addon.get_dev_url('edit'),
         user=self.user, post=True, data=data)
     r = edit_theme(req, self.addon.slug, self.addon)
     doc = pq(r.content)
     assert 'characters' in doc('#trans-description + ul li').text()
Ejemplo n.º 22
0
    def test_submit_bad_file(self, noop, save_mock):
        f = open(os.path.abspath(__file__), "r")
        req = req_factory_factory(self.submit_url, user=self.user, post=True, data={"agree": True, "test_plan": f})
        r = preload_submit(req, self.webapp.slug)
        eq_(r.status_code, 200)
        eq_(PreloadTestPlan.objects.count(), 0)
        assert not save_mock.called

        assert "Invalid file type." in pq(r.content)(".test_plan .errorlist").text()
Ejemplo n.º 23
0
    def test_submit_no_file(self, noop, save_mock):
        req = req_factory_factory(self.submit_url, user=self.user, post=True,
                                  data={'agree': True})
        r = preload_submit(req, self.webapp.slug)
        eq_(r.status_code, 200)
        eq_(PreloadTestPlan.objects.count(), 0)
        assert not save_mock.called

        assert 'required' in pq(r.content)('.test_plan .errorlist').text()
Ejemplo n.º 24
0
    def test_submit_multiple_status(self, noop, save_mock):
        f = open(self.test_xls, 'r')
        req = req_factory_factory(self.submit_url, user=self.user, post=True,
                                  data={'test_plan': f, 'agree': True})
        preload_submit(req, self.webapp.slug)
        self._submit_pdf()

        eq_(PreloadTestPlan.objects.count(), 2)
        xls = PreloadTestPlan.objects.get(filename__contains='xls')
        pdf = PreloadTestPlan.objects.get(filename__contains='pdf')
        eq_(xls.status, amo.STATUS_DISABLED)
        eq_(pdf.status, amo.STATUS_PUBLIC)

        # Check the link points to most recent one.
        req = req_factory_factory(self.url, user=self.user)
        r = status(req, self.webapp.slug)
        doc = pq(r.content)
        eq_(doc('.test-plan-download').attr('href'),
            pdf.preload_test_plan_url)
Ejemplo n.º 25
0
 def _submit_pdf(self):
     f = open(self.test_pdf, 'r')
     req = req_factory_factory(self.submit_url,
                               user=self.user,
                               post=True,
                               data={
                                   'agree': True,
                                   'test_plan': f
                               })
     return preload_submit(req, self.webapp.slug)
Ejemplo n.º 26
0
    def test_submit_no_agree(self, noop, save_mock):
        f = open(self.test_xls, 'r')
        req = req_factory_factory(self.submit_url, user=self.user, post=True,
                                  data={'test_plan': f})
        r = preload_submit(req, self.webapp.app_slug)
        eq_(r.status_code, 200)
        eq_(PreloadTestPlan.objects.count(), 0)
        assert not save_mock.called

        assert 'required' in pq(r.content)('.agree .errorlist').text()
Ejemplo n.º 27
0
    def test_submit_bad_file(self, noop, save_mock):
        f = open(os.path.abspath(__file__), 'r')
        req = req_factory_factory(self.submit_url, user=self.user, post=True,
                                  data={'agree': True, 'test_plan': f})
        r = preload_submit(req, self.webapp.slug)
        eq_(r.status_code, 200)
        eq_(PreloadTestPlan.objects.count(), 0)
        assert not save_mock.called

        assert ('Invalid file type.' in
                pq(r.content)('.test_plan .errorlist').text())
Ejemplo n.º 28
0
    def test_submit_bad_file(self, noop, save_mock):
        f = open(os.path.abspath(__file__), 'r')
        req = req_factory_factory(self.submit_url, user=self.user, post=True,
                                  data={'agree': True, 'test_plan': f})
        r = preload_submit(req, self.webapp.app_slug)
        eq_(r.status_code, 200)
        eq_(PreloadTestPlan.objects.count(), 0)
        assert not save_mock.called

        assert ('Invalid file type' in
                pq(r.content)('.test_plan .errorlist').text())
Ejemplo n.º 29
0
    def test_delete_user(self):
        staff = UserProfile.objects.get(username='******')
        req = req_factory_factory(
            reverse('lookup.user_delete', args=[self.user.id]), user=staff,
            post=True, data={'delete_reason': 'basketball reasons'})

        r = user_delete(req, self.user.id)
        self.assert3xx(r, reverse('lookup.user_summary', args=[self.user.id]))

        # Test data.
        assert UserProfile.objects.get(id=self.user.id).deleted
        eq_(staff, ActivityLog.objects.for_user(self.user).filter(
            action=amo.LOG.DELETE_USER_LOOKUP.id)[0].user)

        # Test frontend.
        req = req_factory_factory(
            reverse('lookup.user_summary', args=[self.user.id]), user=staff)
        r = user_summary(req, self.user.id)
        eq_(r.status_code, 200)
        doc = pq(r.content)
        eq_(doc('#delete-user dd:eq(1)').text(), 'basketball reasons')
Ejemplo n.º 30
0
 def test_no_perm(self):
     req = req_factory_factory('noop', user=self.user)
     assert not check_reviewer(req)
     assert not check_reviewer(req, only='app')
     assert not check_reviewer(req, only='addon')
Ejemplo n.º 31
0
 def test_no_perm(self):
     req = req_factory_factory('noop', user=self.user)
     assert not check_reviewer(req)
     assert not check_reviewer(req, only='app')
     assert not check_reviewer(req, only='addon')
Ejemplo n.º 32
0
 def _submit_pdf(self):
     f = open(self.test_pdf, "r")
     req = req_factory_factory(self.submit_url, user=self.user, post=True, data={"agree": True, "test_plan": f})
     return preload_submit(req, self.webapp.slug)
Ejemplo n.º 33
0
 def test_is_editor_for_persona_reviewer(self):
     self.grant_permission(self.user, 'Personas:Review')
     req = req_factory_factory('noop', user=self.user)
     assert is_editor(req, self.persona)
     assert not is_editor(req, self.addon)
Ejemplo n.º 34
0
 def test_perm_unlisted_addons(self):
     self.grant_permission(self.user, "Addons:ReviewUnlisted")
     req = req_factory_factory("noop", user=self.user)
     assert not check_addons_reviewer(req)
     assert check_unlisted_addons_reviewer(req)
     assert not check_personas_reviewer(req)
Ejemplo n.º 35
0
 def test_no_perm(self):
     req = req_factory_factory('noop', user=self.user)
     assert not check_addons_reviewer(req)
     assert not check_unlisted_addons_reviewer(req)
     assert not check_personas_reviewer(req)
Ejemplo n.º 36
0
 def _submit_pdf(self):
     f = open(self.test_pdf, 'r')
     req = req_factory_factory(self.submit_url, user=self.user, post=True,
                               data={'agree': True, 'test_plan': f})
     return preload_submit(req, self.webapp.app_slug)
Ejemplo n.º 37
0
 def test_perm_unlisted_addons(self):
     self.grant_permission(self.user, 'Addons:ReviewUnlisted')
     req = req_factory_factory('noop', user=self.user)
     assert not check_addons_reviewer(req)
     assert check_unlisted_addons_reviewer(req)
     assert not check_personas_reviewer(req)
Ejemplo n.º 38
0
 def test_is_editor_for_persona_reviewer(self):
     self.grant_permission(self.user, 'Personas:Review')
     req = req_factory_factory('noop', user=self.user)
     assert is_editor(req, self.persona)
     assert not is_editor(req, self.addon)
Ejemplo n.º 39
0
 def test_no_perm(self):
     req = req_factory_factory("noop", user=self.user)
     assert not check_reviewer(req)
     assert not check_reviewer(req, only="addon")
     assert not check_reviewer(req, only="persona")
Ejemplo n.º 40
0
 def test_perm_themes(self):
     self.grant_permission(self.user, "Personas:Review")
     req = req_factory_factory("noop", user=self.user)
     assert check_reviewer(req)
     assert not check_reviewer(req, only="addon")
     assert check_reviewer(req, only="persona")
Ejemplo n.º 41
0
 def test_submit_xls(self, noop, save_mock):
     f = open(self.test_xls, "r")
     req = req_factory_factory(self.submit_url, user=self.user, post=True, data={"agree": True, "test_plan": f})
     r = preload_submit(req, self.webapp.slug)
     self.assert3xx(r, self.url)
     self._assert_submit("xls", "application/vnd.ms-excel", save_mock)
Ejemplo n.º 42
0
 def test_perm_addons(self):
     self.grant_permission(self.user, 'Addons:Review')
     req = req_factory_factory('noop', user=self.user)
     assert check_addons_reviewer(req)
     assert not check_personas_reviewer(req)
Ejemplo n.º 43
0
 def test_no_perm(self):
     req = req_factory_factory('noop', user=self.user)
     assert not check_addons_reviewer(req)
     assert not check_personas_reviewer(req)
Ejemplo n.º 44
0
 def test_is_editor_for_addon_reviewer(self):
     """An addon editor is also a persona editor."""
     self.grant_permission(self.user, 'Addons:Review')
     req = req_factory_factory('noop', user=self.user)
     assert is_editor(req, self.persona)
     assert is_editor(req, self.addon)
Ejemplo n.º 45
0
 def test_is_editor_for_addon_reviewer(self):
     """An addon editor is also a persona editor."""
     self.grant_permission(self.user, 'Addons:Review')
     req = req_factory_factory('noop', user=self.user)
     assert is_editor(req, self.persona)
     assert is_editor(req, self.addon)