aboutsummaryrefslogtreecommitdiffstats
path: root/actioncable/test/server/base_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'actioncable/test/server/base_test.rb')
-rw-r--r--actioncable/test/server/base_test.rb38
1 files changed, 38 insertions, 0 deletions
diff --git a/actioncable/test/server/base_test.rb b/actioncable/test/server/base_test.rb
new file mode 100644
index 0000000000..d46debea45
--- /dev/null
+++ b/actioncable/test/server/base_test.rb
@@ -0,0 +1,38 @@
+# frozen_string_literal: true
+
+require "test_helper"
+require "stubs/test_server"
+require "active_support/core_ext/hash/indifferent_access"
+
+class BaseTest < ActionCable::TestCase
+ def setup
+ @server = ActionCable::Server::Base.new
+ @server.config.cable = { adapter: "async" }.with_indifferent_access
+ end
+
+ class FakeConnection
+ def close
+ end
+ end
+
+ test "#restart closes all open connections" do
+ conn = FakeConnection.new
+ @server.add_connection(conn)
+
+ assert_called(conn, :close) do
+ @server.restart
+ end
+ end
+
+ test "#restart shuts down worker pool" do
+ assert_called(@server.worker_pool, :halt) do
+ @server.restart
+ end
+ end
+
+ test "#restart shuts down pub/sub adapter" do
+ assert_called(@server.pubsub, :shutdown) do
+ @server.restart
+ end
+ end
+end