Example #1
0
    def test_web_page(self):
        pb = PublicBody.objects.all()[0]
        category = factories.CategoryFactory.create(is_topic=True)
        pb.categories.add(category)

        factories.rebuild_index()

        response = self.client.get(reverse('publicbody-list'))
        self.assertEqual(response.status_code, 200)

        response = self.client.get(
            reverse('publicbody-list', kwargs={'category': category.slug}))
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, pb.name)
        response = self.client.get(
            reverse('publicbody-list',
                    kwargs={'jurisdiction': pb.jurisdiction.slug}))
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, pb.name)
        response = self.client.get(
            reverse('publicbody-list',
                    kwargs={
                        'jurisdiction': pb.jurisdiction.slug,
                        'category': category.slug
                    }))
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, pb.name)
        response = self.client.get(
            reverse('publicbody-show', kwargs={"slug": pb.slug}))
        self.assertEqual(response.status_code, 200)
Example #2
0
    def test_web_page(self):
        pb = PublicBody.objects.all()[0]
        category = factories.CategoryFactory.create(is_topic=True)
        pb.categories.add(category)

        factories.rebuild_index()

        response = self.client.get(reverse('publicbody-list'))
        self.assertEqual(response.status_code, 200)

        response = self.client.get(reverse('publicbody-list', kwargs={
            'category': category.slug
        }))
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, pb.name)
        response = self.client.get(reverse('publicbody-list', kwargs={
            'jurisdiction': pb.jurisdiction.slug
        }))
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, pb.name)
        response = self.client.get(reverse('publicbody-list', kwargs={
            'jurisdiction': pb.jurisdiction.slug,
            'category': category.slug
        }))
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, pb.name)
        response = self.client.get(reverse('publicbody-show',
                kwargs={"slug": pb.slug}))
        self.assertEqual(response.status_code, 200)
Example #3
0
    def test_feed(self):
        factories.rebuild_index()

        response = self.client.get(reverse('foirequest-feed_latest'))
        self.assertRedirects(response, reverse('foirequest-list_feed'),
            status_code=301)
        response = self.client.get(reverse('foirequest-feed_latest_atom'))
        self.assertRedirects(response, reverse('foirequest-list_feed_atom'),
            status_code=301)

        response = self.client.get(reverse('foirequest-list_feed'))
        self.assertEqual(response.status_code, 200)
        response = self.client.get(reverse('foirequest-list_feed_atom'))
        self.assertEqual(response.status_code, 200)

        juris = Jurisdiction.objects.all()[0]
        response = self.client.get(reverse('foirequest-list_feed', kwargs={
            'jurisdiction': juris.slug
        }))
        self.assertEqual(response.status_code, 200)
        response = self.client.get(reverse('foirequest-list_feed_atom', kwargs={
            'jurisdiction': juris.slug
        }))
        self.assertEqual(response.status_code, 200)

        topic = Category.objects.filter(is_topic=True)[0]
        response = self.client.get(reverse('foirequest-list_feed', kwargs={
            'jurisdiction': juris.slug,
            'category': topic.slug
        }))
        self.assertEqual(response.status_code, 200)
        response = self.client.get(reverse('foirequest-list_feed_atom', kwargs={
            'jurisdiction': juris.slug,
            'category': topic.slug
        }))
        self.assertEqual(response.status_code, 200)

        status = FOIREQUEST_FILTERS[0][0]
        response = self.client.get(reverse('foirequest-list_feed', kwargs={
            'jurisdiction': juris.slug,
            'status': status
        }))
        self.assertEqual(response.status_code, 200)
        response = self.client.get(reverse('foirequest-list_feed_atom', kwargs={
            'jurisdiction': juris.slug,
            'status': status
        }))
        self.assertEqual(response.status_code, 200)

        req = FoiRequest.objects.all()[0]
        response = self.client.get(reverse('foirequest-feed_atom',
            kwargs={"slug": req.slug}))
        self.assertEqual(response.status_code, 200)
        response = self.client.get(reverse('foirequest-feed',
            kwargs={"slug": req.slug}))
        self.assertEqual(response.status_code, 200)
Example #4
0
    def test_feed(self):
        factories.rebuild_index()

        response = self.client.get(reverse('foirequest-feed_latest'))
        self.assertRedirects(response, reverse('foirequest-list_feed'),
            status_code=301)
        response = self.client.get(reverse('foirequest-feed_latest_atom'))
        self.assertRedirects(response, reverse('foirequest-list_feed_atom'),
            status_code=301)

        response = self.client.get(reverse('foirequest-list_feed'))
        self.assertEqual(response.status_code, 200)
        response = self.client.get(reverse('foirequest-list_feed_atom'))
        self.assertEqual(response.status_code, 200)

        juris = Jurisdiction.objects.all()[0]
        response = self.client.get(reverse('foirequest-list_feed', kwargs={
            'jurisdiction': juris.slug
        }))
        self.assertEqual(response.status_code, 200)
        response = self.client.get(reverse('foirequest-list_feed_atom', kwargs={
            'jurisdiction': juris.slug
        }))
        self.assertEqual(response.status_code, 200)

        topic = Category.objects.filter(is_topic=True)[0]
        response = self.client.get(reverse('foirequest-list_feed', kwargs={
            'jurisdiction': juris.slug,
            'category': topic.slug
        }))
        self.assertEqual(response.status_code, 200)
        response = self.client.get(reverse('foirequest-list_feed_atom', kwargs={
            'jurisdiction': juris.slug,
            'category': topic.slug
        }))
        self.assertEqual(response.status_code, 200)

        status = FOIREQUEST_FILTERS[0][0]
        response = self.client.get(reverse('foirequest-list_feed', kwargs={
            'jurisdiction': juris.slug,
            'status': status
        }))
        self.assertEqual(response.status_code, 200)
        response = self.client.get(reverse('foirequest-list_feed_atom', kwargs={
            'jurisdiction': juris.slug,
            'status': status
        }))
        self.assertEqual(response.status_code, 200)

        req = FoiRequest.objects.all()[0]
        response = self.client.get(reverse('foirequest-feed_atom',
            kwargs={"slug": req.slug}))
        self.assertEqual(response.status_code, 200)
        response = self.client.get(reverse('foirequest-feed',
            kwargs={"slug": req.slug}))
        self.assertEqual(response.status_code, 200)
Example #5
0
 def test_publicbody_requests(self):
     factories.rebuild_index()
     req = FoiRequest.published.all()[0]
     pb = req.public_body
     response = self.client.get(reverse('foirequest-list', kwargs={"publicbody": pb.slug}))
     self.assertEqual(response.status_code, 200)
     self.assertContains(response, req.title)
     response = self.client.get(reverse('foirequest-list_feed', kwargs={"publicbody": pb.slug}))
     self.assertEqual(response.status_code, 200)
     response = self.client.get(reverse('foirequest-list_feed_atom', kwargs={"publicbody": pb.slug}))
     self.assertEqual(response.status_code, 200)
Example #6
0
 def test_publicbody_requests(self):
     factories.rebuild_index()
     req = FoiRequest.published.all()[0]
     pb = req.public_body
     response = self.client.get(reverse('foirequest-list', kwargs={"publicbody": pb.slug}))
     self.assertEqual(response.status_code, 200)
     self.assertContains(response, req.title)
     response = self.client.get(reverse('foirequest-list_feed', kwargs={"publicbody": pb.slug}))
     self.assertEqual(response.status_code, 200)
     response = self.client.get(reverse('foirequest-list_feed_atom', kwargs={"publicbody": pb.slug}))
     self.assertEqual(response.status_code, 200)
Example #7
0
 def test_search_similar(self):
     search_url = '/api/v1/request/search/'
     response = self.client.get(search_url)
     self.assertEqual(response.status_code, 200)
     self.assertContains(response, '"objects":[]')
     self.assertEqual(response['Content-Type'], 'application/json')
     req = FoiRequest.objects.all()[0]
     factories.rebuild_index()
     response = self.client.get('%s?%s' %
                                (search_url, urlencode({'q': req.title})))
     self.assertEqual(response.status_code, 200)
     self.assertContains(response, 'title')
     self.assertContains(response, 'description')
Example #8
0
    def test_autocomplete(self):
        pb = PublicBody.objects.all()[0]
        factories.rebuild_index()

        response = self.client.get('%s?q=%s' % (
                '/api/v1/publicbody/search/', pb.name))
        self.assertEqual(response.status_code, 200)
        obj = json.loads(response.content.decode('utf-8'))
        self.assertIn(pb.name, obj['objects']['results'][0]['name'])
        response = self.client.get('%s?query=%s&jurisdiction=non_existant' % (
                '/api/v1/publicbody/search/', pb.name))
        self.assertEqual(response.status_code, 200)
        obj = json.loads(response.content.decode('utf-8'))
        self.assertEqual(obj['objects']['results'], [])
Example #9
0
    def test_autocomplete(self):
        pb = PublicBody.objects.all()[0]
        factories.rebuild_index()

        response = self.client.get('%s?q=%s' % (
                '/api/v1/publicbody/search/', pb.name))
        self.assertEqual(response.status_code, 200)
        obj = json.loads(response.content.decode('utf-8'))
        self.assertIn(pb.name, obj['objects']['results'][0]['name'])
        response = self.client.get('%s?query=%s&jurisdiction=non_existant' % (
                '/api/v1/publicbody/search/', pb.name))
        self.assertEqual(response.status_code, 200)
        obj = json.loads(response.content.decode('utf-8'))
        self.assertEqual(obj['objects']['results'], [])
Example #10
0
    def test_list_jurisdiction_requests(self):
        factories.rebuild_index()
        juris = Jurisdiction.objects.all()[0]
        response = self.client.get(reverse('foirequest-list'),
                kwargs={'jurisdiction': juris.slug})
        self.assertEqual(response.status_code, 200)
        for urlpart in FOIREQUEST_FILTER_DICT:
            response = self.client.get(reverse('foirequest-list',
                kwargs={"status": urlpart, 'jurisdiction': juris.slug}))
            self.assertEqual(response.status_code, 200)

        for topic in Category.objects.filter(is_topic=True):
            response = self.client.get(reverse('foirequest-list',
                kwargs={"category": topic.slug, 'jurisdiction': juris.slug}))
            self.assertEqual(response.status_code, 200)
Example #11
0
 def test_search_similar(self):
     factories.delete_index()
     search_url = '/api/v1/request/search/'
     response = self.client.get(search_url)
     self.assertEqual(response.status_code, 200)
     self.assertContains(response, '"objects":[]')
     self.assertEqual(response['Content-Type'], 'application/json')
     req = FoiRequest.objects.all()[0]
     factories.rebuild_index()
     response = self.client.get('%s?%s' % (
         search_url, urlencode({'q': req.title})
     ))
     self.assertEqual(response.status_code, 200)
     self.assertContains(response, 'title')
     self.assertContains(response, 'description')
Example #12
0
    def test_list_jurisdiction_requests(self):
        factories.rebuild_index()
        juris = Jurisdiction.objects.all()[0]
        response = self.client.get(reverse('foirequest-list'),
                kwargs={'jurisdiction': juris.slug})
        self.assertEqual(response.status_code, 200)
        for urlpart in FOIREQUEST_FILTER_DICT:
            response = self.client.get(reverse('foirequest-list',
                kwargs={"status": urlpart, 'jurisdiction': juris.slug}))
            self.assertEqual(response.status_code, 200)

        for topic in Category.objects.filter(is_topic=True):
            response = self.client.get(reverse('foirequest-list',
                kwargs={"category": topic.slug, 'jurisdiction': juris.slug}))
            self.assertEqual(response.status_code, 200)
Example #13
0
    def test_autocomplete(self):
        pb = PublicBody.objects.all()[0]
        factories.rebuild_index()

        response = self.client.get("%s&query=%s" % ("/api/v1/publicbody/autocomplete/?format=json", pb.name))
        self.assertEqual(response.status_code, 200)
        obj = json.loads(response.content.decode("utf-8"))
        self.assertIn(pb.name, obj["suggestions"][0])
        self.assertIn(pb.name, obj["data"][0]["name"])
        response = self.client.get(
            "%s&query=%s&jurisdiction=non_existant" % ("/api/v1/publicbody/autocomplete/?format=json", pb.name)
        )
        self.assertEqual(response.status_code, 200)
        obj = json.loads(response.content.decode("utf-8"))
        self.assertEqual(obj["suggestions"], [])
Example #14
0
 def test_tagged_requests(self):
     factories.rebuild_index()
     tag_slug = 'awesome'
     req = FoiRequest.published.all()[0]
     req.tags.add(tag_slug)
     req.save()
     response = self.client.get(
         reverse('foirequest-list', kwargs={"tag": tag_slug}))
     self.assertEqual(response.status_code, 200)
     self.assertContains(response, req.title)
     response = self.client.get(
         reverse('foirequest-list_feed', kwargs={'tag': tag_slug}))
     self.assertEqual(response.status_code, 200)
     response = self.client.get(
         reverse('foirequest-list_feed_atom', kwargs={'tag': tag_slug}))
     self.assertEqual(response.status_code, 200)
Example #15
0
    def test_list_requests(self):
        factories.rebuild_index()
        response = self.client.get(reverse('foirequest-list'))
        self.assertEqual(response.status_code, 200)
        for urlpart in FOIREQUEST_FILTER_DICT:
            response = self.client.get(reverse('foirequest-list',
                kwargs={"status": str(urlpart)}))
            self.assertEqual(response.status_code, 200)

        for topic in Category.objects.filter(is_topic=True):
            response = self.client.get(reverse('foirequest-list',
                kwargs={"category": topic.slug}))
            self.assertEqual(response.status_code, 200)

        response = self.client.get(reverse('foirequest-list') + '?page=99999')
        self.assertEqual(response.status_code, 404)
Example #16
0
    def test_list_requests(self):
        factories.rebuild_index()
        response = self.client.get(reverse('foirequest-list'))
        self.assertEqual(response.status_code, 200)
        for urlpart in FOIREQUEST_FILTER_DICT:
            response = self.client.get(reverse('foirequest-list',
                kwargs={"status": str(urlpart)}))
            self.assertEqual(response.status_code, 200)

        for topic in Category.objects.filter(is_topic=True):
            response = self.client.get(reverse('foirequest-list',
                kwargs={"category": topic.slug}))
            self.assertEqual(response.status_code, 200)

        response = self.client.get(reverse('foirequest-list') + '?page=99999')
        self.assertEqual(response.status_code, 404)
Example #17
0
 def test_search_similar(self):
     simple_search_url = '/api/v1/request/simplesearch/?format=json'
     response = self.client.get(simple_search_url)
     self.assertEqual(response.status_code, 200)
     self.assertEqual('{"objects": []}', response.content.decode('utf-8'))
     self.assertEqual(response['Content-Type'], 'application/json')
     req = FoiRequest.objects.all()[0]
     factories.rebuild_index()
     response = self.client.get('%s&%s' % (
         simple_search_url, urlencode({'q': req.title})
     ))
     self.assertEqual(response.status_code, 200)
     content = response.content.decode('utf-8')
     self.assertIn('title', content)
     self.assertIn('description', content)
     self.assertIn('public_body_name', content)
     self.assertIn('url', content)
Example #18
0
    def test_tagged_requests(self):
        tag_slug = 'awesome'
        req = FoiRequest.published.all()[0]
        req.tags.add(tag_slug)
        req.save()
        factories.rebuild_index()

        response = self.client.get(reverse('foirequest-list', kwargs={"tag": tag_slug}))
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, req.title)
        response = self.client.get(reverse('foirequest-list_feed', kwargs={
            'tag': tag_slug
        }))
        self.assertEqual(response.status_code, 200)
        response = self.client.get(reverse('foirequest-list_feed_atom', kwargs={
            'tag': tag_slug
        }))
        self.assertEqual(response.status_code, 200)
Example #19
0
    def test_list_no_identical(self):
        factories.rebuild_index()

        factories.FoiRequestFactory.create(site=self.site)
        reqs = FoiRequest.published.all()
        req1 = reqs[0]
        req2 = reqs[1]
        response = self.client.get(reverse('foirequest-list'))
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, req1.title)
        self.assertContains(response, req2.title)
        req1.same_as = req2
        req1.save()
        req2.same_as_count = 1
        req2.save()
        response = self.client.get(reverse('foirequest-list'))
        self.assertEqual(response.status_code, 200)
        self.assertNotContains(response, req1.title)
        self.assertContains(response, req2.title)
Example #20
0
    def test_list_no_identical(self):
        factories.FoiRequestFactory.create(site=self.site)
        factories.rebuild_index()
        reqs = FoiRequest.published.all()
        req1 = reqs[0]
        req2 = reqs[1]
        response = self.client.get(reverse('foirequest-list'))
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, req1.title)
        self.assertContains(response, req2.title)
        with realtime_search():
            req1.same_as = req2
            req1.save()
            req2.same_as_count = 1
            req2.save()

        response = self.client.get(reverse('foirequest-list'))
        self.assertEqual(response.status_code, 200)
        self.assertNotContains(response, req1.title)
        self.assertContains(response, req2.title)
Example #21
0
 def setUp(self):
     factories.make_world()
     factories.rebuild_index()
     self.do_logout()
     self.user = User.objects.all()[0]
     self.pb = PublicBody.objects.all()[0]
Example #22
0
 def setUp(self):
     factories.make_world()
     factories.rebuild_index()
     self.user = User.objects.get(username='******')
     self.pb = PublicBody.objects.all()[0]
Example #23
0
 def setUp(self):
     factories.make_world()
     factories.rebuild_index()
     self.do_logout()
     self.user = User.objects.all()[0]
     self.pb = PublicBody.objects.all()[0]
Example #24
0
 def setUp(self):
     factories.make_world()
     factories.rebuild_index()
     self.user = User.objects.get(username='******')
     self.pb = PublicBody.objects.all()[0]