# `ExUtcp.Transports.WebSocket.Testable`
[🔗](https://github.com/universal-tool-calling-protocol/elixir-utcp/blob/main/lib/ex_utcp/transports/websocket/testable.ex#L1)

Testable version of WebSocket transport that can use mocks.

# `call_tool`

# `call_tool_stream`

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `close`

# `deregister_tool_provider`

# `get_next_message`

# `new`

```elixir
@spec new(keyword()) :: %ExUtcp.Transports.WebSocket.Testable{
  connection_module: module(),
  connection_pool: map(),
  connection_timeout: non_neg_integer(),
  genserver_module: module(),
  logger: function(),
  max_retries: non_neg_integer(),
  retry_config: map(),
  retry_delay: non_neg_integer()
}
```

Creates a new testable WebSocket transport.

# `register_tool_provider`

# `send_message`

# `start_link`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
