def METHOD_NAME(monkeypatch):
    get_aws_connection_info = MagicMock(name="get_aws_connection_info")
    sentinel.CONN_ARGS = dict()
    get_aws_connection_info.return_value = (sentinel.CONN_REGION, sentinel.CONN_URL, sentinel.CONN_ARGS)
    monkeypatch.setattr(utils_base, "get_aws_connection_info", get_aws_connection_info)
    boto3_conn = MagicMock(name="boto3_conn")
    boto3_conn.return_value = sentinel.BOTO3_CONN
    monkeypatch.setattr(utils_base, "boto3_conn", boto3_conn)
    base_plugin = utils_base.AWSPluginBase()
    wrapped_conn = base_plugin.client(sentinel.PARAM_SERVICE, sentinel.PARAM_WRAPPER)
    assert wrapped_conn.client is sentinel.BOTO3_CONN
    assert wrapped_conn.retry is sentinel.PARAM_WRAPPER
    assert get_aws_connection_info.call_args == call(base_plugin)
    assert boto3_conn.call_args == call(
        base_plugin,
        conn_type="client",
        resource=sentinel.PARAM_SERVICE,
        region=sentinel.CONN_REGION,
        endpoint=sentinel.CONN_URL,
    )
    # Check that we can override parameters
    wrapped_conn = base_plugin.client(sentinel.PARAM_SERVICE, sentinel.PARAM_WRAPPER, region=sentinel.PARAM_REGION)
    assert wrapped_conn.client is sentinel.BOTO3_CONN
    assert wrapped_conn.retry is sentinel.PARAM_WRAPPER
    assert get_aws_connection_info.call_args == call(base_plugin)
    assert boto3_conn.call_args == call(
        base_plugin,
        conn_type="client",
        resource=sentinel.PARAM_SERVICE,
        region=sentinel.PARAM_REGION,
        endpoint=sentinel.CONN_URL,
    )