def test_update_metadata_descriptor(self): asset = self.generate_fixture_asset_type() asset = self.generate_fixture_asset() descriptor = projects_service.add_metadata_descriptor( self.project.id, "Asset", "Contractor", []) asset.update({"data": {"contractor": "contractor 1"}}) self.assertTrue("contractor" in asset.data) projects_service.update_metadata_descriptor(descriptor["id"], {"name": "Team"}) descriptors = projects_service.get_metadata_descriptors( self.project.id) self.assertEqual(len(descriptors), 1) asset = Entity.get(asset.id) self.assertEqual(asset.data.get("team"), "contractor 1")
def put(self, project_id, descriptor_id): args = self.get_args([("name", "", False), ("choices", [], False, "append")]) permissions.check_admin_permissions() if len(args["name"]) == 0: raise WrongParameterException("Name cannot be empty.") return projects_service.update_metadata_descriptor(descriptor_id, args)
def put(self, project_id, descriptor_id): """ Update a metadata descriptor. --- description: Descriptors serve to describe extra fields listed in the data attribute of entities. tags: - Projects parameters: - in: path name: project_id required: true schema: type: UUID example: 5dc235ec-125e-4ba5-b1db-604d4babc315 - in: path name: descriptor_id required: true schema: type: UUID example: 5dc235ec-125e-4ba5-b1db-604d4babc315 responses: 200: description: Metadata descriptor updated """ args = self.get_args([ ("name", "", False), ("for_client", "False", False), ("choices", [], False, "append"), ("departments", [], False, "append"), ]) user_service.check_all_departments_access( project_id, projects_service.get_metadata_descriptor(descriptor_id) ["departments"] + args["departments"], ) if len(args["name"]) == 0: raise WrongParameterException("Name cannot be empty.") args["for_client"] = args["for_client"] == "True" return projects_service.update_metadata_descriptor(descriptor_id, args)