def test_destroy_external_besluit(self): mock_service_oas_get(self.adapter, APITypes.zrc, "https://externe.catalogus.nl/api/v1/") self.adapter.get( self.besluit, json=get_besluit_response(self.besluit, self.besluittype, self.zaak), ) self.adapter.get(self.zaak, json=get_zaak_response(self.zaak, self.zaaktype)) self.adapter.get(self.zaaktype, json=get_zaak_response(self.catalogus, self.zaaktype)) eio = EnkelvoudigInformatieObjectFactory.create() oio = ObjectInformatieObject.objects.create( informatieobject=f"http://testserver{reverse(eio)}", besluit=self.besluit, object_type="besluit", ) url = reverse(oio) self.adapter.register_uri( "GET", self.besluit, json=get_besluit_response(self.besluit, self.besluittype), ) response = self.client.delete(url) self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT) self.assertEqual(ObjectInformatieObject.objects.count(), 0)
def test_list_filter_by_external_besluit(self): eio = EnkelvoudigInformatieObjectFactory.create() mock_service_oas_get(self.adapter, APITypes.zrc, "https://externe.catalogus.nl/api/v1/") # Needed for the CMIS adapter zaak1 = "https://externe.catalogus.nl/api/v1/zaken/1c8e36be-338c-4c07-ac5e-1adf55bec04a" zaak2 = "https://externe.catalogus.nl/api/v1/zaken/b923543f-97aa-4a55-8c20-889b5906cf75" zaaktype1 = "https://externe.catalogus.nl/api/v1/zaaktypen/b71f72ef-198d-44d8-af64-ae1932df830a" zaaktype2 = "https://externe.catalogus.nl/api/v1/zaaktypen/5c4c492b-3548-4258-b17f-0e2e31dcfe25" catalogus1 = "https://externe.catalogus.nl/api/v1/catalogussen/5c4c492b-3548-4258-b17f-0e2e31dcfe25" catalogus2 = "https://externe.catalogus.nl/api/v1/catalogussen/a8e03e86-152d-4e8c-83fc-047645cfc585" besluit1 = "https://externe.catalogus.nl/api/v1/besluiten/1c8e36be-338c-4c07-ac5e-1adf55bec04a" besluit2 = "https://externe.catalogus.nl/api/v1/besluiten/b923543f-97aa-4a55-8c20-889b5906cf75" besluittype1 = "https://externe.catalogus.nl/api/v1/besluittypen/b71f72ef-198d-44d8-af64-ae1932df830a" besluittype2 = "https://externe.catalogus.nl/api/v1/besluittypen/3665b9be-6ac5-4075-8736-d79598e5325c" self.adapter.get(zaak1, json=get_zaak_response(zaak1, zaaktype1)) self.adapter.get(zaaktype1, json=get_zaak_response(catalogus1, zaaktype1)) self.adapter.get(zaak2, json=get_zaak_response(zaak2, zaaktype2)) self.adapter.get(zaaktype2, json=get_zaak_response(catalogus2, zaaktype2)) self.adapter.get(besluit1, json=get_besluit_response(besluit1, besluittype1, zaak1)) self.adapter.get(besluit2, json=get_besluit_response(besluit2, besluittype2, zaak2)) ObjectInformatieObject.objects.create( informatieobject=f"http://testserver{reverse(eio)}", besluit=besluit1, object_type="besluit", ) ObjectInformatieObject.objects.create( informatieobject=f"http://testserver{reverse(eio)}", besluit=besluit2, object_type="besluit", ) url = reverse(ObjectInformatieObject) response = self.client.get(url, {"object": besluit2}) self.assertEqual(response.status_code, 200) self.assertEqual(len(response.data), 1) self.assertEqual(response.data[0]["object"], besluit2)
def test_create_fail_not_unique(self): besluit = "https://externe.catalogus.nl/api/v1/besluiten/1c8e36be-338c-4c07-ac5e-1adf55bec04a" besluittype = "https://externe.catalogus.nl/api/v1/besluittypen/b71f72ef-198d-44d8-af64-ae1932df830a" eio = EnkelvoudigInformatieObjectFactory.create() eio_url = f"http://testserver{reverse(eio)}" ObjectInformatieObject.objects.create( informatieobject=eio.canonical, besluit=besluit, object_type="besluit" ) with requests_mock.Mocker(real_http=True) as m: m.get(besluit, json=get_besluit_response(besluit, besluittype)) response = self.client.post( self.list_url, { "object": besluit, "informatieobject": eio_url, "objectType": "besluit", }, ) self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST) error = get_validation_errors(response, "nonFieldErrors") self.assertEqual(error["code"], "unique")
def test_create_external_besluit(self): besluit = "https://externe.catalogus.nl/api/v1/besluiten/1c8e36be-338c-4c07-ac5e-1adf55bec04a" besluittype = "https://externe.catalogus.nl/api/v1/besluittypen/b71f72ef-198d-44d8-af64-ae1932df830a" eio = EnkelvoudigInformatieObjectFactory.create() eio_path = reverse(eio) eio_url = f"http://testserver{eio_path}" with requests_mock.Mocker(real_http=True) as m: m.get(besluit, json=get_besluit_response(besluit, besluittype)) response = self.client.post( self.list_url, { "object": besluit, "informatieobject": eio_url, "objectType": "besluit", }, ) self.assertEqual( response.status_code, status.HTTP_201_CREATED, response.data ) oio = ObjectInformatieObject.objects.get() self.assertEqual(oio.informatieobject, eio.canonical) self.assertEqual(oio.object, besluit)
def test_read_external_besluit(self): mock_service_oas_get(self.adapter, APITypes.zrc, "https://externe.catalogus.nl/api/v1/") self.adapter.get( self.besluit, json=get_besluit_response(self.besluit, self.besluittype, self.zaak), ) self.adapter.get(self.zaak, json=get_zaak_response(self.zaak, self.zaaktype)) self.adapter.get(self.zaaktype, json=get_zaak_response(self.catalogus, self.zaaktype)) # The test eio = EnkelvoudigInformatieObjectFactory.create() oio = ObjectInformatieObject.objects.create( informatieobject=f"http://testserver{reverse(eio)}", besluit=self.besluit, object_type="besluit", ) url = reverse(oio) response = self.client.get(url) self.assertEqual(response.status_code, status.HTTP_200_OK) data = response.json() self.assertEqual(data["object"], self.besluit) self.assertEqual(data["informatieobject"], f"http://testserver{reverse(eio)}")
def test_create_fail_not_unique(self): mock_service_oas_get(self.adapter, APITypes.zrc, "https://externe.catalogus.nl/api/v1/") self.adapter.get( self.besluit, json=get_besluit_response(self.besluit, self.besluittype, self.zaak), ) self.adapter.get(self.zaak, json=get_zaak_response(self.zaak, self.zaaktype)) self.adapter.get(self.zaaktype, json=get_zaak_response(self.catalogus, self.zaaktype)) # The test eio = EnkelvoudigInformatieObjectFactory.create() eio_url = f"http://testserver{reverse(eio)}" ObjectInformatieObject.objects.create(informatieobject=eio_url, besluit=self.besluit, object_type="besluit") response = self.client.post( self.list_url, { "object": self.besluit, "informatieobject": eio_url, "objectType": "besluit", }, ) self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST) error = get_validation_errors(response, "nonFieldErrors") self.assertEqual(error["code"], "unique")
def test_create_external_besluit(self): mock_service_oas_get(self.adapter, APITypes.zrc, "https://externe.catalogus.nl/api/v1/") self.adapter.get( self.besluit, json=get_besluit_response(self.besluit, self.besluittype, self.zaak), ) self.adapter.get(self.zaak, json=get_zaak_response(self.zaak, self.zaaktype)) self.adapter.get(self.zaaktype, json=get_zaak_response(self.catalogus, self.zaaktype)) # The test eio = EnkelvoudigInformatieObjectFactory.create() eio_path = reverse(eio) eio_url = f"http://testserver{eio_path}" response = self.client.post( self.list_url, { "object": self.besluit, "informatieobject": eio_url, "objectType": "besluit", }, ) self.assertEqual(response.status_code, status.HTTP_201_CREATED, response.data) oio = ObjectInformatieObject.objects.get() self.assertEqual(oio.get_informatieobject_url(), eio_url) self.assertEqual(oio.object, self.besluit)
def test_destroy_external_besluit(self): besluit = "https://externe.catalogus.nl/api/v1/besluiten/1c8e36be-338c-4c07-ac5e-1adf55bec04a" besluittype = "https://externe.catalogus.nl/api/v1/besluittypen/b71f72ef-198d-44d8-af64-ae1932df830a" eio = EnkelvoudigInformatieObjectFactory.create() oio = ObjectInformatieObject.objects.create( informatieobject=eio.canonical, besluit=besluit, object_type="besluit" ) url = reverse(oio) with requests_mock.Mocker(real_http=True) as m: m.get(besluit, json=get_besluit_response(besluit, besluittype)) response = self.client.delete(url) self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT) self.assertEqual(ObjectInformatieObject.objects.count(), 0)
def test_create(self): zaak = ZaakFactory.create() zaak_url = f"http://testserver{reverse(zaak)}" url = reverse("zaakbesluit-list", kwargs={"zaak_uuid": zaak.uuid}) with requests_mock.Mocker(real_http=True) as m: m.get( self.besluit, json=get_besluit_response(self.besluit, self.besluittype, zaak_url), ) response = self.client.post(url, data={"besluit": self.besluit}) self.assertEqual(response.status_code, status.HTTP_201_CREATED, response.data) zaakbesluit = ZaakBesluit.objects.get() self.assertEqual(zaakbesluit.zaak, zaak) self.assertEqual(zaakbesluit.besluit, self.besluit)
def test_destroy_external_besluit(self): besluit = "https://externe.catalogus.nl/api/v1/besluiten/1c8e36be-338c-4c07-ac5e-1adf55bec04a" besluittype = "https://externe.catalogus.nl/api/v1/besluittypen/b71f72ef-198d-44d8-af64-ae1932df830a" eio = EnkelvoudigInformatieObjectFactory.create() oio = ObjectInformatieObject.objects.create( informatieobject=f"http://testserver{reverse(eio)}", besluit=besluit, object_type="besluit", ) url = reverse(oio) self.adapter.register_uri("GET", besluit, json=get_besluit_response( besluit, besluittype)) response = self.client.delete(url) self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT) self.assertEqual(ObjectInformatieObject.objects.count(), 0)
def test_delete(self): zaak = ZaakFactory.create() zaak_url = f"http://testserver{reverse(zaak)}" with requests_mock.Mocker(real_http=True) as m: m.get( self.besluit, json=get_besluit_response(self.besluit, self.besluittype, zaak_url), ) zaakbesluit = ZaakBesluit.objects.create(zaak=zaak, besluit=self.besluit) url = reverse( "zaakbesluit-detail", kwargs={ "zaak_uuid": zaak.uuid, "uuid": zaakbesluit.uuid }, ) response = self.client.delete(url) self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)