示例#1
0
    def registreer_domein_data(self):
        eigenschap_objecttype = EigenschapFactory.create(
            eigenschapnaam="melding_type",
            zaaktype=self.references["zaaktype"])
        eigenschap_objecttype_url = reverse(eigenschap_objecttype)
        eigenschap_naam_boot = EigenschapFactory.create(
            eigenschapnaam="waternet_naam_boot",
            zaaktype=self.references["zaaktype"])
        eigenschap_naam_boot_url = reverse(eigenschap_naam_boot)
        zaak_uuid = self.references["zaak_url"].rsplit("/")[-1]
        url = get_operation_url("zaakeigenschap_create", zaak_uuid=zaak_uuid)

        self.client.post(
            url,
            {
                "zaak": self.references["zaak_url"],
                "eigenschap": f"http://testserver{eigenschap_objecttype_url}",
                "waarde": "overlast_water",
            },
        )
        self.client.post(
            url,
            {
                "zaak": self.references["zaak_url"],
                "eigenschap": f"http://testserver{eigenschap_naam_boot_url}",
                "waarde": TEST_DATA["waternet_naam_boot"],
            },
        )

        self.references["eigenschap_naam_boot"] = eigenschap_naam_boot
    def test_zet_eigenschappen(self):
        zaak = ZaakFactory.create()
        eigenschap = EigenschapFactory.create(eigenschapnaam="foobar",
                                              zaaktype=zaak.zaaktype)
        url = get_operation_url("zaakeigenschap_create", zaak_uuid=zaak.uuid)
        zaak_url = get_operation_url("zaak_read", uuid=zaak.uuid)
        eigenschap_url = reverse(eigenschap)
        data = {
            "zaak": zaak_url,
            "eigenschap": f"http://testserver{eigenschap_url}",
            "waarde": "overlast_water",
        }

        response = self.client.post(url, data)

        self.assertEqual(response.status_code, status.HTTP_201_CREATED,
                         response.data)
        response_data = response.json()
        zaakeigenschap = ZaakEigenschap.objects.get()
        self.assertEqual(zaakeigenschap.zaak, zaak)
        detail_url = get_operation_url("zaakeigenschap_read",
                                       zaak_uuid=zaak.uuid,
                                       uuid=zaakeigenschap.uuid)
        self.assertEqual(
            response_data,
            {
                "url": f"http://testserver{detail_url}",
                "uuid": str(zaakeigenschap.uuid),
                "naam": "foobar",
                "zaak": f"http://testserver{zaak_url}",
                "eigenschap": f"http://testserver{eigenschap_url}",
                "waarde": "overlast_water",
            },
        )
示例#3
0
    def test_create_zaakeigenschap_limited_to_authorized_zaken(self):
        eigenschap = EigenschapFactory.create(zaaktype=self.zaaktype)
        zaak1 = ZaakFactory.create(
            zaaktype=self.zaaktype,
            vertrouwelijkheidaanduiding=VertrouwelijkheidsAanduiding.openbaar,
        )
        zaak2 = ZaakFactory.create(
            vertrouwelijkheidaanduiding=VertrouwelijkheidsAanduiding.openbaar)
        zaak3 = ZaakFactory.create(
            zaaktype=self.zaaktype,
            vertrouwelijkheidaanduiding=VertrouwelijkheidsAanduiding.
            vertrouwelijk,
        )
        with self.subTest(
                zaaktype=zaak1.zaaktype,
                vertrouwelijkheidaanduiding=zaak1.vertrouwelijkheidaanduiding,
        ):
            url = get_operation_url("zaakeigenschap_list",
                                    zaak_uuid=zaak1.uuid)

            response = self.client.post(
                url,
                {
                    "zaak": reverse(zaak1),
                    "eigenschap": f"http://testserver{reverse(eigenschap)}",
                    "waarde": "test",
                },
            )

            self.assertEqual(response.status_code, status.HTTP_201_CREATED,
                             response.data)

        for zaak in (zaak2, zaak3):
            with self.subTest(
                    zaaktype=zaak.zaaktype,
                    vertrouwelijkheidaanduiding=zaak.
                    vertrouwelijkheidaanduiding,
            ):
                url = get_operation_url("zaakeigenschap_list",
                                        zaak_uuid=zaak.uuid)

                response = self.client.post(
                    url,
                    {
                        "zaak": reverse(zaak),
                        "eigenschap": reverse(eigenschap),
                        "waarde": "test",
                    },
                )

                self.assertEqual(response.status_code,
                                 status.HTTP_403_FORBIDDEN, response.data)
示例#4
0
    def test_create_eigenschap(self):
        zaak = ZaakFactory.create()
        zaak_url = reverse(zaak)
        eigenschap = EigenschapFactory.create()
        eigenschap_url = reverse(eigenschap)
        list_url = reverse("zaakeigenschap-list",
                           kwargs={"zaak_uuid": zaak.uuid})

        response = self.client.post(list_url, {
            "zaak": zaak_url,
            "eigenschap": eigenschap_url,
            "waarde": "test"
        })

        self.assertEqual(response.status_code, status.HTTP_201_CREATED)
示例#5
0
    def test_create_zaakeigenschap(self):
        zaak = ZaakFactory.create()
        zaak_url = get_operation_url("zaak_read", uuid=zaak.uuid)
        eigenschap = EigenschapFactory.create()

        add_url = reverse("admin:zaken_zaakeigenschap_add")
        data = {
            "uuid": uuid.uuid4(),
            "zaak": zaak.id,
            "_eigenschap": eigenschap.id,
            "_naam": "some name",
            "waarde": "test",
        }

        self.client.post(add_url, data)

        self.assertEqual(ZaakEigenschap.objects.count(), 1)

        zaakeigenschap = ZaakEigenschap.objects.get()
        zaakeigenschap_url = get_operation_url("zaakeigenschap_read",
                                               uuid=zaakeigenschap.uuid,
                                               zaak_uuid=zaak.uuid)

        self.assertEqual(AuditTrail.objects.count(), 1)

        audittrail = AuditTrail.objects.get()

        self.assertEqual(audittrail.bron, "ZRC")
        self.assertEqual(audittrail.actie, "create")
        self.assertEqual(audittrail.resultaat, 0)
        self.assertEqual(audittrail.applicatie_weergave, "admin")
        self.assertEqual(audittrail.gebruikers_id, f"{self.user.id}"),
        self.assertEqual(audittrail.gebruikers_weergave,
                         self.user.get_full_name()),
        self.assertEqual(audittrail.hoofd_object,
                         f"http://testserver{zaak_url}"),
        self.assertEqual(audittrail.resource, "zaakeigenschap"),
        self.assertEqual(audittrail.resource_url,
                         f"http://testserver{zaakeigenschap_url}"),
        self.assertEqual(audittrail.resource_weergave,
                         zaakeigenschap.unique_representation()),
        self.assertEqual(audittrail.oud, None)

        new_data = audittrail.nieuw

        self.assertEqual(new_data["naam"], "some name")
    def test_create_zaakeigenschap_not_in_zaaktypen_fails(self):
        zaak = ZaakFactory.create()
        eigenschap = EigenschapFactory.create(eigenschapnaam="foobar")
        url = get_operation_url("zaakeigenschap_create", zaak_uuid=zaak.uuid)
        zaak_url = get_operation_url("zaak_read", uuid=zaak.uuid)
        eigenschap_url = reverse(eigenschap)
        data = {
            "zaak": zaak_url,
            "eigenschap": f"http://testserver{eigenschap_url}",
            "waarde": "overlast_water",
        }

        response = self.client.post(url, data)

        self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST,
                         response.data)

        error = get_validation_errors(response, "nonFieldErrors")
        self.assertEqual(error["code"], "zaaktype-mismatch")
    def test_zaakeigenschap_create_fail_send_notification_create_db_entry(
            self):
        zaak = ZaakFactory.create()
        zaak_url = reverse(zaak)

        url = get_operation_url("zaakeigenschap_create", zaak_uuid=zaak.uuid)
        eigenschap = EigenschapFactory.create(zaaktype=zaak.zaaktype)
        eigenschap_url = reverse(eigenschap)
        data = {
            "zaak": f"http://testserver{zaak_url}",
            "eigenschap": f"http://testserver{eigenschap_url}",
            "waarde": "ja",
        }

        with capture_on_commit_callbacks(execute=True):
            response = self.client.post(url, data)

        self.assertEqual(response.status_code, status.HTTP_201_CREATED,
                         response.data)

        data = response.json()

        self.assertEqual(StatusLog.objects.count(), 1)

        logged_warning = StatusLog.objects.get()
        failed = FailedNotification.objects.get()
        message = {
            "aanmaakdatum": "2019-01-01T12:00:00Z",
            "actie": "create",
            "hoofdObject": f"http://testserver{zaak_url}",
            "kanaal": "zaken",
            "kenmerken": {
                "bronorganisatie": zaak.bronorganisatie,
                "zaaktype": f"http://testserver{reverse(zaak.zaaktype)}",
                "vertrouwelijkheidaanduiding":
                zaak.vertrouwelijkheidaanduiding,
            },
            "resource": "zaakeigenschap",
            "resourceUrl": data["url"],
        }
        self.assertEqual(failed.statuslog_ptr, logged_warning)
        self.assertEqual(failed.message, message)