Skip to content

Commit

Permalink
add bandit to integration tests
Browse files Browse the repository at this point in the history
Supersedes #5707.
  • Loading branch information
SteffenDE committed Feb 17, 2025
1 parent faf58d0 commit 86c2de0
Show file tree
Hide file tree
Showing 6 changed files with 333 additions and 164 deletions.
1 change: 1 addition & 0 deletions mix.exs
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ defmodule Phoenix.MixProject do

# Optional deps
{:plug_cowboy, "~> 2.7", optional: true},
{:bandit, "~> 1.0", optional: true},
{:jason, "~> 1.0", optional: true},

# Docs dependencies (some for cross references)
Expand Down
2 changes: 2 additions & 0 deletions mix.lock
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
%{
"bandit": {:hex, :bandit, "1.6.7", "42f30e37a1c89a2a12943c5dca76f731a2313e8a2e21c1a95dc8241893e922d1", [:mix], [{:hpax, "~> 1.0", [hex: :hpax, repo: "hexpm", optional: false]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:thousand_island, "~> 1.0", [hex: :thousand_island, repo: "hexpm", optional: false]}, {:websock, "~> 0.5", [hex: :websock, repo: "hexpm", optional: false]}], "hexpm", "551ba8ff5e4fc908cbeb8c9f0697775fb6813a96d9de5f7fe02e34e76fd7d184"},
"castore": {:hex, :castore, "1.0.11", "4bbd584741601eb658007339ea730b082cc61f3554cf2e8f39bf693a11b49073", [:mix], [], "hexpm", "e03990b4db988df56262852f20de0f659871c35154691427a5047f4967a16a62"},
"cowboy": {:hex, :cowboy, "2.12.0", "f276d521a1ff88b2b9b4c54d0e753da6c66dd7be6c9fca3d9418b561828a3731", [:make, :rebar3], [{:cowlib, "2.13.0", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "8a7abe6d183372ceb21caa2709bec928ab2b72e18a3911aa1771639bef82651e"},
"cowboy_telemetry": {:hex, :cowboy_telemetry, "0.4.0", "f239f68b588efa7707abce16a84d0d2acf3a0f50571f8bb7f56a15865aae820c", [:rebar3], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "7d98bac1ee4565d31b62d59f8823dfd8356a169e7fcbb83831b8a5397404c9de"},
Expand Down Expand Up @@ -35,6 +36,7 @@
"telemetry": {:hex, :telemetry, "1.3.0", "fedebbae410d715cf8e7062c96a1ef32ec22e764197f70cda73d82778d61e7a2", [:rebar3], [], "hexpm", "7015fc8919dbe63764f4b4b87a95b7c0996bd539e0d499be6ec9d7f3875b79e6"},
"telemetry_metrics": {:hex, :telemetry_metrics, "1.1.0", "5bd5f3b5637e0abea0426b947e3ce5dd304f8b3bc6617039e2b5a008adc02f8f", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "e7b79e8ddfde70adb6db8a6623d1778ec66401f366e9a8f5dd0955c56bc8ce67"},
"telemetry_poller": {:hex, :telemetry_poller, "1.1.0", "58fa7c216257291caaf8d05678c8d01bd45f4bdbc1286838a28c4bb62ef32999", [:rebar3], [{:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "9eb9d9cbfd81cbd7cdd24682f8711b6e2b691289a0de6826e58452f28c103c8f"},
"thousand_island": {:hex, :thousand_island, "1.3.9", "095db3e2650819443e33237891271943fad3b7f9ba341073947581362582ab5a", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "25ab4c07badadf7f87adb4ab414e0ed374e5f19e72503aa85132caa25776e54f"},
"websock": {:hex, :websock, "0.5.3", "2f69a6ebe810328555b6fe5c831a851f485e303a7c8ce6c5f675abeb20ebdadc", [:mix], [], "hexpm", "6105453d7fac22c712ad66fab1d45abdf049868f253cf719b625151460b8b453"},
"websock_adapter": {:hex, :websock_adapter, "0.5.8", "3b97dc94e407e2d1fc666b2fb9acf6be81a1798a2602294aac000260a7c4a47d", [:mix], [{:bandit, ">= 0.6.0", [hex: :bandit, repo: "hexpm", optional: true]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.6", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:websock, "~> 0.5", [hex: :websock, repo: "hexpm", optional: false]}], "hexpm", "315b9a1865552212b5f35140ad194e67ce31af45bcee443d4ecb96b5fd3f3782"},
}
9 changes: 7 additions & 2 deletions test/phoenix/integration/long_poll_channels_test.exs
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
Code.require_file("../../support/http_client.exs", __DIR__)

defmodule Phoenix.Integration.LongPollChannelsTest do
use ExUnit.Case
use ExUnit.Case,
parameterize: [%{adapter: Bandit.PhoenixAdapter}, %{adapter: Phoenix.Endpoint.Cowboy2Adapter}]

import ExUnit.CaptureLog

alias Phoenix.Integration.HTTPClient
Expand All @@ -17,6 +19,7 @@ defmodule Phoenix.Integration.LongPollChannelsTest do
http: [port: @port],
secret_key_base: String.duplicate("abcdefgh", 8),
server: true,
drainer: false,
pubsub_server: __MODULE__
)

Expand Down Expand Up @@ -138,7 +141,9 @@ defmodule Phoenix.Integration.LongPollChannelsTest do
]
end

setup_all do
setup_all %{adapter: adapter} do
config = Application.get_env(:phoenix, Endpoint)
Application.put_env(:phoenix, Endpoint, Keyword.merge(config, adapter: adapter))
capture_log(fn -> start_supervised!(Endpoint) end)
start_supervised!({Phoenix.PubSub, name: __MODULE__, pool_size: @pool_size})
:ok
Expand Down
13 changes: 9 additions & 4 deletions test/phoenix/integration/long_poll_socket_test.exs
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
Code.require_file("../../support/http_client.exs", __DIR__)

defmodule Phoenix.Integration.LongPollSocketTest do
use ExUnit.Case
use ExUnit.Case,
parameterize: [%{adapter: Bandit.PhoenixAdapter}, %{adapter: Phoenix.Endpoint.Cowboy2Adapter}]

import ExUnit.CaptureLog

alias Phoenix.Integration.HTTPClient
Expand All @@ -19,6 +21,7 @@ defmodule Phoenix.Integration.LongPollSocketTest do
debug_errors: false,
secret_key_base: String.duplicate("abcdefgh", 8),
server: true,
drainer: false,
pubsub_server: __MODULE__
)

Expand Down Expand Up @@ -71,9 +74,11 @@ defmodule Phoenix.Integration.LongPollSocketTest do
custom: :value
end

setup_all do
capture_log(fn -> start_supervised! Endpoint end)
start_supervised! {Phoenix.PubSub, name: __MODULE__, pool_size: @pool_size}
setup_all %{adapter: adapter} do
config = Application.get_env(:phoenix, Endpoint)
Application.put_env(:phoenix, Endpoint, Keyword.merge(config, adapter: adapter))
capture_log(fn -> start_supervised!(Endpoint) end)
start_supervised!({Phoenix.PubSub, name: __MODULE__, pool_size: @pool_size})
:ok
end

Expand Down
Loading

0 comments on commit 86c2de0

Please sign in to comment.