@@ -8,28 +8,55 @@ class ChainingTest < ActiveSupport::TestCase
88 User . current = User . where ( :login => 'apiadmin' ) . first
99 end
1010
11- it 'creates a scheduled task chained to a prerequisite execution plan' do
12- prerequisite_plan = ForemanTasks . dynflow . world . plan ( Support ::DummyDynflowAction )
11+ it 'creates a scheduled task chained to a dependency task' do
12+ triggered = ForemanTasks . trigger ( Support ::DummyDynflowAction )
13+ triggered . finished . wait ( 30 )
14+ dependency_task = ForemanTasks ::Task ::DynflowTask . find_by! ( :external_id => triggered . id )
1315
14- task = ForemanTasks . chain ( prerequisite_plan . id , Support ::DummyDynflowAction )
16+ task = ForemanTasks . chain ( dependency_task , Support ::DummyDynflowAction )
1517
1618 assert_kind_of ForemanTasks ::Task ::DynflowTask , task
1719 assert_predicate task , :scheduled?
1820
1921 dependencies = ForemanTasks . dynflow . world . persistence . find_execution_plan_dependencies ( task . execution_plan . id )
20- assert_includes dependencies , prerequisite_plan . id
22+ assert_includes dependencies , dependency_task . external_id
2123 end
2224
23- it 'accepts multiple prerequisite execution plans' do
24- prerequisite_plan_1 = ForemanTasks . dynflow . world . plan ( Support ::DummyDynflowAction )
25- prerequisite_plan_2 = ForemanTasks . dynflow . world . plan ( Support ::DummyDynflowAction )
25+ it 'accepts multiple dependency tasks' do
26+ triggered_1 = ForemanTasks . trigger ( Support ::DummyDynflowAction )
27+ triggered_2 = ForemanTasks . trigger ( Support ::DummyDynflowAction )
28+ triggered_1 . finished . wait ( 30 )
29+ triggered_2 . finished . wait ( 30 )
30+ dependency_task_1 = ForemanTasks ::Task ::DynflowTask . find_by! ( :external_id => triggered_1 . id )
31+ dependency_task_2 = ForemanTasks ::Task ::DynflowTask . find_by! ( :external_id => triggered_2 . id )
2632
27- task = ForemanTasks . chain ( [ prerequisite_plan_1 . id , prerequisite_plan_2 . id ] , Support ::DummyDynflowAction )
33+ task = ForemanTasks . chain ( [ dependency_task_1 , dependency_task_2 ] , Support ::DummyDynflowAction )
2834
2935 dependencies = ForemanTasks . dynflow . world . persistence . find_execution_plan_dependencies ( task . execution_plan . id )
30- assert_includes dependencies , prerequisite_plan_1 . id
31- assert_includes dependencies , prerequisite_plan_2 . id
36+ assert_includes dependencies , dependency_task_1 . external_id
37+ assert_includes dependencies , dependency_task_2 . external_id
38+ end
39+
40+ it 'accepts dependency task objects' do
41+ triggered = ForemanTasks . trigger ( Support ::DummyDynflowAction )
42+ triggered . finished . wait ( 30 )
43+ dependency_task = ForemanTasks ::Task ::DynflowTask . find_by! ( :external_id => triggered . id )
44+
45+ task = ForemanTasks . chain ( dependency_task , Support ::DummyDynflowAction )
46+
47+ dependencies = ForemanTasks . dynflow . world . persistence . find_execution_plan_dependencies ( task . execution_plan . id )
48+ assert_includes dependencies , dependency_task . external_id
49+ end
50+
51+ it 'accepts dependency tasks as a relation' do
52+ triggered = ForemanTasks . trigger ( Support ::DummyDynflowAction )
53+ triggered . finished . wait ( 30 )
54+ dependency_task = ForemanTasks ::Task ::DynflowTask . find_by! ( :external_id => triggered . id )
55+
56+ task = ForemanTasks . chain ( ForemanTasks ::Task ::DynflowTask . where ( :id => dependency_task . id ) , Support ::DummyDynflowAction )
57+
58+ dependencies = ForemanTasks . dynflow . world . persistence . find_execution_plan_dependencies ( task . execution_plan . id )
59+ assert_includes dependencies , dependency_task . external_id
3260 end
3361 end
3462end
35-
0 commit comments