示例#1
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)
示例#2
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)
示例#3
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 = data or {}
     req.method = 'POST'
     return req
示例#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.app_slug)
     self.assert3xx(r, self.url)
     self._assert_submit('xls', 'application/vnd.ms-excel', save_mock)
示例#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.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')
示例#6
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')
    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')
示例#8
0
 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)
示例#9
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 = data or {}
     req.method = 'POST'
     return req
示例#10
0
    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'], '')
示例#11
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.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')
示例#13
0
    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'])
示例#14
0
    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 _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)
示例#16
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.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])
示例#17
0
    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 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()
示例#19
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)
示例#21
0
    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')
示例#22
0
 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
示例#23
0
 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())
示例#26
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)