def test_list_status_limited_to_authorized_zaken(self): url = reverse("resultaat-list") # must show up resultaat = ResultaatFactory.create( zaak__zaaktype=self.zaaktype, zaak__vertrouwelijkheidaanduiding=VertrouwelijkheidsAanduiding.openbaar, ) # must not show up ResultaatFactory.create( zaak__zaaktype=self.zaaktype, zaak__vertrouwelijkheidaanduiding=VertrouwelijkheidsAanduiding.vertrouwelijk, ) # must not show up ResultaatFactory.create( zaak__vertrouwelijkheidaanduiding=VertrouwelijkheidsAanduiding.openbaar ) response = self.client.get(url) self.assertEqual(response.status_code, status.HTTP_200_OK) response_data = response.json() self.assertEqual(len(response_data), 1) self.assertEqual( response_data[0]["url"], f"http://testserver{reverse(resultaat)}" )
def test_write_operations_forbidden(self): # scope not provided for writes, so this should 403 (not 404!) resultaat = ResultaatFactory.create( zaak__zaaktype=self.zaaktype, zaak__vertrouwelijkheidaanduiding=VertrouwelijkheidsAanduiding.vertrouwelijk, ) url = reverse(resultaat) for method in ["put", "patch", "delete"]: with self.subTest(method=method): response = getattr(self.client, method)(url) self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
def test_cannot_read_without_correct_scope(self): zaak = ZaakFactory.create() status = StatusFactory.create() zaak_object = ZaakObjectFactory.create() resultaat = ResultaatFactory.create() urls = [ reverse("zaak-list"), reverse(zaak), reverse("status-list"), reverse(status), reverse("resultaat-list"), reverse(resultaat), reverse("zaakobject-list"), reverse(zaak_object), ] for url in urls: with self.subTest(url=url): self.assertForbidden(url, method="get", request_kwargs=ZAAK_READ_KWARGS)