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')
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')
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")
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)
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')
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')
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)
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
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')
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)
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')
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)
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')
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
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)
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()
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()
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()
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()
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)
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)
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()
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())
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())
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')
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')
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)
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)
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)
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)
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)
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)
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")
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")
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)
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)
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)
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)