import json from unittest import mock import flask from masters_registry.constant import error from masters_registry.constant import field_const from masters_registry.validation import json_schema from masters_registry.validation.schema import header def test_validate_headers_fail(): """Assert that validate_headers fails when required field missing """ request = mock.Mock() request.headers = {} @json_schema.validate_headers(request, header.schema) def function(): pass response = function() assert flask.wrappers.Response == type(response) response_json = json.loads(response.data.decode()) assert 400 == response.status_code assert error.HEADER_VALIDATION_ERROR == response_json[field_const.CODE] assert "'{}' is a required property".format( field_const.CORRELATION_ID) in response_json[field_const.MESSAGE] def test_validate_headers_success(valid_headers): """Assert that validate_headers succeeds when headers valid """ request = mock.Mock() request.headers = valid_headers @json_schema.validate_headers(request, header.schema) def function(): return 42 assert 42 == function()