def test_localize_text(monkeypatch): translation = "translation" monkeypatch.setattr("flask_babel.gettext", lambda: translation) assert localize_text(translation) == translation # Test no-string input with pytest.raises(AssertionError): localize_text(1) # Test None input with pytest.raises(AssertionError): localize_text(None)
def post(self): request_body = request.get_json() if request_body is None: message = localize_text("empty_post_body") raise BadRequestError(message=message) try: data = self.schema().load(request_body) except SchemaValidationError as err: raise ValidationError(errors=err.messages) item = self._service().create(data) return APIResponse().create_response(item=item, schema=self.schema)
def put(self, id: int): self._update_params({"id": id}) request_body = request.get_json() if request_body is None: message = localize_text("empty_put_body") raise BadRequestError(message=message) schema = self.schema assert schema is not None and issubclass(schema, BaseSchema) try: data = schema().load(request_body) except SchemaValidationError as err: raise ValidationError(errors=err.messages) item = self._get_item_by_id_or_not_found(id) item = self._service().update(item, data) return APIResponse().create_response(item=item, schema=schema)
def index(self, args): items_per_page: int = args.get("items_per_page") or DEFAULT_ITEMS_PER_PAGE page_index: Optional[int] = args.get("page_index") start_index: Optional[int] = args.get("start_index") if page_index is None and start_index is None: error_message = localize_text("missing_page_and_start_index") raise BadRequestError(message=error_message) query = self._service().list() return APIResponse().create_paginated_response( query=query, items_per_page=items_per_page, page_index=page_index, start_index=start_index, schema=self.schema, )
def __init__(self, **kwargs): super().__init__(**kwargs) self.message = localize_text("error_validation")
def __init__(self, **kwargs): super().__init__(**kwargs) self.message = localize_text("error_not_found")
def __init__(self, message=None, **kwargs): super().__init__(**kwargs) self.message = message or localize_text("error_bad_request")
def doing(self): return localize_text(self.value[2])
def done(self): return localize_text(self.value[1])
def do(self): return localize_text(self.value[0])