def test_create_view_wrong_user_id( self, TwoRetinaPolygonAnnotationSets, rf, user_type ): model_build = PolygonAnnotationSetFactory.build() model_serialized = PolygonAnnotationSetSerializer(model_build).data image = ImageFactory() model_serialized["image"] = str(image.id) other_user = UserFactory() model_serialized["grader"] = other_user.id model_json = json.dumps(model_serialized) response = view_test( "create", user_type, self.namespace, self.basename, TwoRetinaPolygonAnnotationSets.grader1, TwoRetinaPolygonAnnotationSets.polygonset1, rf, PolygonAnnotationSetViewSet, model_json, check_response_status_code=False, ) if user_type == "retina_admin": model_serialized["id"] = response.data["id"] response.data["image"] = str(response.data["image"]) assert response.data == model_serialized elif user_type == "retina_grader": assert response.status_code == status.HTTP_400_BAD_REQUEST assert ( str(response.data["grader"][0]) == "User is not allowed to create annotation for other grader" ) else: assert response.status_code == status.HTTP_403_FORBIDDEN
def test_create_view(self, TwoRetinaPolygonAnnotationSets, rf, user_type): model_build = PolygonAnnotationSetFactory.build() model_serialized = PolygonAnnotationSetSerializer(model_build).data image = ImageFactory() model_serialized["image"] = str(image.id) model_serialized["grader"] = TwoRetinaPolygonAnnotationSets.grader1.id model_json = json.dumps(model_serialized) response = view_test( "create", user_type, self.namespace, self.basename, TwoRetinaPolygonAnnotationSets.grader1, TwoRetinaPolygonAnnotationSets.polygonset1, rf, PolygonAnnotationSetViewSet, model_json, ) if user_type in ("retina_grader", "retina_admin"): model_serialized["id"] = response.data["id"] response.data["image"] = str(response.data["image"]) assert response.data == model_serialized