@@ -68,6 +68,7 @@ class ConfigurationTest < ActiveSupport::TestCase
6868 assert_processes configuration , :scheduler , 1
6969
7070 scheduler = configuration . configured_processes . second . instantiate
71+ assert_equal 1 , scheduler . recurring_schedule . configured_tasks . count
7172 assert_has_recurring_task scheduler , key : "periodic_store_result" , class_name : "StoreResultJob" , schedule : "every second"
7273 end
7374
@@ -77,6 +78,7 @@ class ConfigurationTest < ActiveSupport::TestCase
7778 assert_processes configuration , :scheduler , 1
7879
7980 scheduler = configuration . configured_processes . first . instantiate
81+ assert_equal 1 , scheduler . recurring_schedule . configured_tasks . count
8082 assert_has_recurring_task scheduler , key : "periodic_store_result" , class_name : "StoreResultJob" , schedule : "every second"
8183 end
8284
@@ -143,6 +145,20 @@ class ConfigurationTest < ActiveSupport::TestCase
143145 configuration . errors . full_messages . first
144146 end
145147
148+ test 'multiple recurring configuration files' do
149+ configuration = SolidQueue ::Configuration . new ( recurring_schedule_config_pattern : 'config/recurring_matching_pattern_*.yml' )
150+
151+ assert configuration . valid?
152+ assert_processes configuration , :scheduler , 1
153+
154+ scheduler = configuration . configured_processes . find { |process | process . kind == :scheduler } . instantiate
155+
156+ assert_equal 2 , scheduler . recurring_schedule . configured_tasks . count
157+ assert_has_recurring_task scheduler , key : "periodic_store_result_a" , class_name : "StoreResultJob" , schedule : "every second"
158+ assert_has_recurring_task scheduler , key : "periodic_store_result_b" , class_name : "StoreResultJob" , schedule : "every second"
159+ ensure
160+ end
161+
146162 private
147163 def assert_processes ( configuration , kind , count , **attributes )
148164 processes = configuration . configured_processes . select { |p | p . kind == kind }
@@ -159,7 +175,6 @@ def assert_processes(configuration, kind, count, **attributes)
159175 end
160176
161177 def assert_has_recurring_task ( scheduler , key :, **attributes )
162- assert_equal 1 , scheduler . recurring_schedule . configured_tasks . count
163178 task = scheduler . recurring_schedule . configured_tasks . detect { |t | t . key == key }
164179
165180 attributes . each do |attr , value |
0 commit comments