File tree Expand file tree Collapse file tree 3 files changed +50
-1
lines changed
Expand file tree Collapse file tree 3 files changed +50
-1
lines changed Original file line number Diff line number Diff line change @@ -38,7 +38,7 @@ def start
3838 # @parameter evaluator [Environment::Evaluator] The environment evaluator.
3939 # @returns [Falcon::Server] The server instance.
4040 def run ( instance , evaluator )
41- if evaluator . key ?( :make_supervised_worker )
41+ if evaluator . respond_to ?( :make_supervised_worker )
4242 Console . warn ( self , "Async::Container::Supervisor is replaced by Async::Services::Supervisor, please update your service definition." )
4343
4444 evaluator . make_supervised_worker ( instance ) . run
Original file line number Diff line number Diff line change 11# Releases
22
3+ ## Unreleased
4+
5+ - Fix handling of old style supervisors from ` Async::Container::Supervisor ` .
6+
37## v0.54.0
48
59 - Introduce ` Falcon::CompositeServer ` for hosting multiple server instances in a single worker.
Original file line number Diff line number Diff line change 6363 container . stop
6464 end
6565 end
66+
67+ with "legacy make_supervised_worker" do
68+ let ( :instance ) { Object . new }
69+
70+ let ( :supervised_worker ) do
71+ worker = Object . new
72+ def worker . run
73+ # Mock method - will be stubbed by expect
74+ end
75+ worker
76+ end
77+
78+ let ( :mock_server ) do
79+ server = Object . new
80+ def server . run
81+ # Mock method - will be stubbed by expect
82+ end
83+ server
84+ end
85+
86+ it "invokes make_supervised_worker when evaluator responds to it" do
87+ server . start
88+
89+ evaluator = environment . evaluator
90+
91+ # Verify make_supervised_worker is called with the instance and returns supervised_worker
92+ expect ( evaluator ) . to receive ( :make_supervised_worker ) . with ( instance ) . and_return ( supervised_worker )
93+
94+ # Verify supervised_worker.run is called
95+ expect ( supervised_worker ) . to receive ( :run )
96+
97+ # Mock make_server to return our mock server
98+ expect ( evaluator ) . to receive ( :make_server ) . and_return ( mock_server )
99+
100+ # Mock server.run to avoid errors in the Async block
101+ expect ( mock_server ) . to receive ( :run )
102+
103+ Async do
104+ result = server . run ( instance , evaluator )
105+ expect ( result ) . to be == mock_server
106+ end . wait
107+
108+ server . stop
109+ end
110+ end
66111end
You can’t perform that action at this time.
0 commit comments