Ejemplo n.º 1
0
def get_swagger_spec(settings):
    """Return a :class:`bravado_core.spec.Spec` constructed from
    the swagger specs in `pyramid_swagger.schema_directory`. If
    `pyramid_swagger.enable_swagger_spec_validation` is enabled the schema
    will be validated before returning it.

    :param settings: a pyramid registry settings with configuration for
        building a swagger schema
    :type settings: dict
    :rtype: :class:`bravado_core.spec.Spec`
    """
    schema_dir = settings.get('pyramid_swagger.schema_directory', 'api_docs/')
    schema_filename = settings.get('pyramid_swagger.schema_file',
                                   'swagger.json')
    schema_path = os.path.join(schema_dir, schema_filename)
    schema_url = urlparse.urljoin('file:', pathname2url(os.path.abspath(schema_path)))

    handlers = build_http_handlers(None)  # don't need http_client for file:
    file_handler = handlers['file']
    spec_dict = file_handler(schema_url)

    return Spec.from_dict(
        spec_dict,
        config=create_bravado_core_config(settings),
        origin_url=schema_url)
Ejemplo n.º 2
0
def get_swagger_spec(settings):
    """Return a :class:`bravado_core.spec.Spec` constructed from
    the swagger specs in `pyramid_swagger.schema_directory`. If
    `pyramid_swagger.enable_swagger_spec_validation` is enabled the schema
    will be validated before returning it.

    :param settings: a pyramid registry settings with configuration for
        building a swagger schema
    :type settings: dict
    :rtype: :class:`bravado_core.spec.Spec`
    """
    schema_dir = settings.get('pyramid_swagger.schema_directory', 'api_docs/')
    schema_filename = settings.get('pyramid_swagger.schema_file',
                                   'swagger.json')
    schema_path = os.path.join(schema_dir, schema_filename)
    schema_url = urlparse.urljoin('file:',
                                  pathname2url(os.path.abspath(schema_path)))

    handlers = build_http_handlers(None)  # don't need http_client for file:
    file_handler = handlers['file']
    spec_dict = file_handler(schema_url)

    return Spec.from_dict(spec_dict,
                          config=create_bravado_core_config(settings),
                          origin_url=schema_url)
def _build_http_client(content):
    # required for py27/py34 compatibility
    if hasattr(content, 'decode'):
        content = content.decode("utf-8")

    mock_response = mock.Mock()
    mock_response.content = StringIO(content)
    mock_response.json.side_effect = lambda *args, **kwargs: json.loads(content)

    mock_http_client = mock.Mock()
    result_func = mock_http_client.request.return_value.result

    result_func.return_value = mock_response

    handlers = build_http_handlers(mock_http_client)

    return handlers, mock_response
Ejemplo n.º 4
0
def _build_http_client(content):
    # required for py27/py34 compatibility
    if hasattr(content, 'decode'):
        content = content.decode("utf-8")

    mock_response = mock.Mock()
    mock_response.content = StringIO(content)
    mock_response.json.side_effect = lambda *args, **kwargs: json.loads(content
                                                                        )

    mock_http_client = mock.Mock()
    result_func = mock_http_client.request.return_value.result

    result_func.return_value = mock_response

    handlers = build_http_handlers(mock_http_client)

    return handlers, mock_response