Runs all set type transformers / validators against the provided input parameters and returns any errors
(self, input_parameters, context)
| 261 | self._outputs = outputs # pragma: no cover - generally re-implemented by sub classes |
| 262 | |
| 263 | def validate(self, input_parameters, context): |
| 264 | """Runs all set type transformers / validators against the provided input parameters and returns any errors""" |
| 265 | errors = {} |
| 266 | |
| 267 | for key, type_handler in self.input_transformations.items(): |
| 268 | if self.raise_on_invalid: |
| 269 | if key in input_parameters: |
| 270 | input_parameters[key] = self.initialize_handler( |
| 271 | type_handler, input_parameters[key], context=context |
| 272 | ) |
| 273 | else: |
| 274 | try: |
| 275 | if key in input_parameters: |
| 276 | input_parameters[key] = self.initialize_handler( |
| 277 | type_handler, input_parameters[key], context=context |
| 278 | ) |
| 279 | except InvalidTypeData as error: |
| 280 | errors[key] = error.reasons or str(error) |
| 281 | except Exception as error: |
| 282 | if hasattr(error, "args") and error.args: |
| 283 | errors[key] = error.args[0] |
| 284 | else: |
| 285 | errors[key] = str(error) |
| 286 | for require in self.required: |
| 287 | if not require in input_parameters: |
| 288 | errors[require] = "Required parameter '{}' not supplied".format(require) |
| 289 | if not errors and getattr(self, "validate_function", False): |
| 290 | errors = self.validate_function(input_parameters) |
| 291 | return errors |
| 292 | |
| 293 | def check_requirements(self, request=None, response=None, context=None): |
| 294 | """Checks to see if all requirements set pass |
no test coverage detected