"""Test utilities for validation.""" import json from unittest.mock import MagicMock from unittest.mock import Mock from unittest.mock import patch from flask import Request from flask import Response from ows_product_physical.validation import validation def get_validation_response(rule, method='GET', headers=None, body=None): """Run fake request through validators and return result.""" request = MagicMock( spec=Request, method=method, url_rule=MagicMock(rule=rule), headers=headers or {}, get_json=Mock(return_value=body)) success_response = MagicMock(spec=Response, status_code=200) func = validation.raml_validate(lambda: success_response) with patch.object(validation, 'request', request): return func() def parse_data(response): """Decode response data.""" return json.loads(response.data.decode('utf-8'))