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 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 = data or {} req.method = 'POST' return req
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_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_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 test_priority_button_works(self): staff = UserProfile.objects.get(email='*****@*****.**') 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_no_author(self): app = app_factory() thread, note = create_comm_note(app, app.current_version, None, 'hue') data = serializers.NoteSerializer(note, context={ 'request': req_factory_factory() }).data eq_(data['author_meta']['name'], 'Mozilla') eq_(data['author_meta']['gravatar_hash'], '')
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.app_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_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_author(self): app = app_factory() user = user_factory(display_name='Bob') thread, note = create_comm_note(app, app.current_version, user, 'hue') data = serializers.NoteSerializer(note, context={ 'request': req_factory_factory() }).data eq_(data['author_meta']['name'], 'Bob') ok_(data['author_meta']['gravatar_hash'])
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_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.app_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, mkt.STATUS_DISABLED) eq_(pdf.status, mkt.STATUS_PUBLIC) # Check the link points to most recent one. req = req_factory_factory(self.url, user=self.user) r = status(req, self.webapp.app_slug) doc = pq(r.content) eq_(doc('.test-plan-download').attr('href').split('?')[0], pdf.preload_test_plan_url.split('?')[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())
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_delete_user(self): staff = UserProfile.objects.get(email='*****@*****.**') 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=mkt.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 get_request(self, data=None): data = data or {} datastr = json.dumps(data) 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.META['CONTENT_LENGTH'] = len(datastr) req.META['CONTENT_TYPE'] = 'application/json' req.POST = data req.method = 'POST' req._stream = StringIO.StringIO(datastr) 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.app_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, mkt.STATUS_DISABLED) eq_(pdf.status, mkt.STATUS_PUBLIC) # Check the link points to most recent one. req = req_factory_factory(self.url, user=self.user) r = status(req, self.webapp.app_slug) doc = pq(r.content) eq_(doc('.test-plan-download').attr('href'), pdf.preload_test_plan_url)
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 _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)