Packages
bandit
0.7.7
1.12.0
1.11.1
1.11.0
1.10.4
1.10.3
1.10.2
1.10.1
1.10.0
retired
1.9.0
1.8.0
1.7.0
1.6.11
1.6.10
1.6.9
1.6.8
1.6.7
1.6.6
1.6.5
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.5.7
1.5.6
1.5.5
1.5.4
1.5.3
1.5.2
1.5.1
1.5.0
1.4.2
1.4.1
1.4.0
1.3.0
1.2.3
1.2.2
1.2.1
1.2.0
1.1.3
1.1.2
1.1.1
1.1.0
1.0.0
1.0.0-pre.18
1.0.0-pre.17
1.0.0-pre.16
1.0.0-pre.15
1.0.0-pre.14
1.0.0-pre.13
1.0.0-pre.12
1.0.0-pre.11
1.0.0-pre.10
1.0.0-pre.9
1.0.0-pre.8
1.0.0-pre.7
1.0.0-pre.6
1.0.0-pre.5
1.0.0-pre.4
1.0.0-pre.3
1.0.0-pre.2
1.0.0-pre.1
0.7.7
0.7.6
0.7.5
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.11
0.6.10
0.6.9
0.6.8
0.6.7
0.6.6
0.6.5
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.11
0.5.10
0.5.9
0.5.8
0.5.7
0.5.6
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.10
0.4.9
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.9
0.3.8
0.3.7
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.2.3
0.2.2
0.2.1
0.2.0
0.1.1
0.1.0
A pure-Elixir HTTP server built for Plug & WebSock apps
Security advisory:
This version has known vulnerabilities.
View advisories
Current section
Files
Jump to
Current section
Files
test/bandit/server_test.exs
defmodule ServerTest do
# False due to capture log emptiness check
use ExUnit.Case, async: false
use ServerHelpers
use FinchHelpers
import ExUnit.CaptureLog
setup :finch_http1_client
test "server logs connection details at startup" do
logs =
capture_log(fn ->
start_supervised({Bandit, plug: __MODULE__, port: 0, ip: :loopback})
end)
assert logs =~
"Running ServerTest with Bandit #{Application.spec(:bandit)[:vsn]} at 127.0.0.1"
end
test "startup_log: false arg disables connection detail log at startup" do
logs =
capture_log(fn ->
start_supervised({Bandit, plug: __MODULE__, port: 0, ip: :loopback, startup_log: false})
end)
assert logs == ""
end
test "server logs connection error detail log at startup" do
pid = start_supervised!({Bandit, scheme: :http, plug: __MODULE__})
{:ok, %{address: address, port: port}} = ThousandIsland.listener_info(pid)
logs =
capture_log(fn ->
assert {:error, _} = start_supervised({Bandit, plug: __MODULE__, port: port, ip: address})
end)
assert logs =~
"Running ServerTest with Bandit #{Application.spec(:bandit)[:vsn]} at http failed, port already in use"
end
test "can run multiple instances of Bandit", context do
start_supervised({Bandit, plug: __MODULE__, port: 4000})
start_supervised({Bandit, plug: __MODULE__, port: 4001})
{:ok, response} =
Finch.build(:get, "http://localhost:4000/hello")
|> Finch.request(context[:finch_name])
assert response.status == 200
assert response.body == "OK"
{:ok, response} =
Finch.build(:get, "http://localhost:4001/hello")
|> Finch.request(context[:finch_name])
assert response.status == 200
assert response.body == "OK"
end
def hello(conn) do
conn |> send_resp(200, "OK")
end
end