コード例 #1
0
    def setUpTestData(cls):
        super().setUpTestData()

        cls.object_type = ObjectTypeFactory(service__api_root=OBJECT_TYPES_API)
        cls.another_object_type = ObjectTypeFactory(service=cls.object_type.service)

        PermissionFactory.create(
            object_type=cls.object_type,
            mode=PermissionModes.read_only,
            token_auth=cls.token_auth,
        )
        PermissionFactory.create(
            object_type=cls.another_object_type,
            mode=PermissionModes.read_only,
            token_auth=cls.token_auth,
        )
コード例 #2
0
    def test_create_object_with_not_found_objecttype_url(self, m):
        object_type_invalid = ObjectTypeFactory(
            service=self.object_type.service)
        PermissionFactory.create(
            object_type=object_type_invalid,
            mode=PermissionModes.read_and_write,
            token_auth=self.token_auth,
        )
        mock_service_oas_get(m, OBJECT_TYPES_API, "objecttypes")
        m.get(f"{object_type_invalid.url}/versions/1", status_code=404)

        url = reverse("object-list")
        data = {
            "type": object_type_invalid.url,
            "record": {
                "typeVersion": 1,
                "data": {
                    "plantDate": "2020-04-12"
                },
                "startAt": "2020-01-01",
            },
        }

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

        self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
        self.assertEqual(Object.objects.count(), 0)
コード例 #3
0
    def test_update_object_type_invalid(self, m):
        old_object_type = ObjectTypeFactory(service=self.object_type.service)
        PermissionFactory.create(
            object_type=old_object_type,
            mode=PermissionModes.read_and_write,
            token_auth=self.token_auth,
        )
        mock_service_oas_get(m, OBJECT_TYPES_API, "objecttypes")
        m.get(self.object_type.url, json=mock_objecttype(self.object_type.url))

        initial_record = ObjectRecordFactory.create(
            object__object_type=old_object_type,
            data={
                "plantDate": "2020-04-12",
                "diameter": 30
            },
            version=1,
        )
        object = initial_record.object

        url = reverse("object-detail", args=[object.uuid])
        data = {
            "type": self.object_type.url,
        }

        response = self.client.patch(url, data, **GEO_WRITE_KWARGS)

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

        data = response.json()
        self.assertEqual(
            data["type"],
            ["This field can't be changed"],
        )
コード例 #4
0
ファイル: test_stuf.py プロジェクト: maykinmedia/objects-api
    def setUpTestData(cls):
        super().setUpTestData()

        cls.object_type = ObjectTypeFactory(service__api_root=OBJECT_TYPES_API)
        cls.object = ObjectFactory.create(object_type=cls.object_type)
        cls.record_1 = ObjectRecordFactory.create(
            object=cls.object,
            data={
                "geslachtsnaam": "Poepenstaart",
                "voorletters": "JP",
                "geboortedatum": "1977-08-07",
                "burgerlijkestaat": "ongehuwd",
            },
            start_at=date(1977, 8, 7),
            end_at=date(2001, 9, 3),
            registration_at=date(1977, 8, 15),
        )
        cls.record_10 = ObjectRecordFactory.create(
            object=cls.object,
            data={
                "geslachtsnaam": "Berg",
                "voorletters": "JP",
                "geboortedatum": "1977-08-07",
                "burgerlijkestaat": "ongehuwd",
            },
            start_at=date(2001, 9, 3),
            end_at=date(2001, 9, 3),
            registration_at=date(2001, 9, 10),
        )
        cls.record_40 = ObjectRecordFactory.create(
            object=cls.object,
            data={
                "geslachtsnaam": "Bergh",
                "voorvoegsel": "van den",
                "voorletters": "JP",
                "geboortedatum": "1977-08-07",
                "burgerlijkestaat": "ongehuwd",
            },
            start_at=date(2001, 9, 3),
            end_at=date(2005, 4, 23),
            registration_at=date(2001, 11, 2),
        )
        cls.record_50 = ObjectRecordFactory.create(
            object=cls.object,
            data={
                "geslachtsnaam": "Bergh",
                "voorvoegsel": "van den",
                "voorletters": "JP",
                "geboortedatum": "1977-08-07",
                "burgerlijkestaat": "gehuwd",
            },
            start_at=date(2005, 4, 23),
            registration_at=date(2005, 4, 25),
        )

        PermissionFactory.create(
            object_type=cls.object_type,
            mode=PermissionModes.read_and_write,
            token_auth=cls.token_auth,
        )
コード例 #5
0
    def setUpTestData(cls):
        super().setUpTestData()

        cls.object_type = ObjectTypeFactory(service__api_root=OBJECT_TYPES_API)
        PermissionFactory(
            object_type=cls.object_type,
            mode=PermissionModes.read_only,
            token_auth=cls.token_auth,
        )
        ObjectRecordFactory.create_batch(10,
                                         object__object_type=cls.object_type,
                                         start_at=date.today())
コード例 #6
0
    def test_list_with_query_fields(self):
        other_object_type = ObjectTypeFactory()
        PermissionFactory.create(
            object_type=self.object_type,
            mode=PermissionModes.read_only,
            token_auth=self.token_auth,
            use_fields=True,
            fields={"1": ["url", "type", "record"]},
        )
        PermissionFactory.create(
            object_type=other_object_type,
            mode=PermissionModes.read_only,
            token_auth=self.token_auth,
            use_fields=True,
            fields={"1": ["url", "uuid", "record"]},
        )
        record1 = ObjectRecordFactory.create(
            object__object_type=self.object_type,
            data={"name": "some"},
            version=1)
        record2 = ObjectRecordFactory.create(
            object__object_type=other_object_type,
            data={"name": "other"},
            version=1)

        response = self.client.get(self.url, {"fields": "url,record__data"})

        self.assertEqual(response.status_code, status.HTTP_200_OK)
        self.assertEqual(
            response.json(),
            [
                {
                    "url":
                    f"http://testserver{reverse('object-detail', args=[record2.object.uuid])}",
                    "record": {
                        "data": {
                            "name": "other"
                        },
                    },
                },
                {
                    "url":
                    f"http://testserver{reverse('object-detail', args=[record1.object.uuid])}",
                    "record": {
                        "data": {
                            "name": "some"
                        },
                    },
                },
            ],
        )
        self.assertNotIn("x-unauthorized-fields", response._headers)
コード例 #7
0
    def setUpTestData(cls):
        super().setUpTestData()

        cls.object_type = ObjectTypeFactory(service__api_root=OBJECT_TYPES_API)