Current section

Files

Jump to
riverside lib riverside test test_server.ex
Raw

lib/riverside/test/test_server.ex

defmodule Riverside.Test.TestServer do
@spec start(handelr :: module,
port :: non_neg_integer,
path :: String.t) :: {:ok, pid}
def start(handler, port, path) do
:cowboy.start_clear(:test_server,
[{:port, port}],
%{env: %{
dispatch: dispatch(handler, path)
} }
)
end
defp dispatch(handler, path) do
:cowboy_router.compile([
{:_, [
{path, Riverside.Connection, [handler: handler]}
]}
])
end
@spec stop(pid) :: no_return
def stop(pid) do
:cowboy.stop_listener(:test_server)
Process.exit(pid, :shutdown)
end
end