@@ -90,3 +90,62 @@ def test_events():
9090    assert  any (isinstance (obj , aapi .AddEvents ) and  any (event .event  ==  'add2'  for  event  in  obj .events ) for  obj  in  job .add_events_list )
9191
9292    assert  json .loads (job .dumps_aapi ())
93+ 
94+ def  test_job_in_folder_run_as ():
95+     workflow  =  Workflow (Environment .create_workbench ("refael" ), WorkflowDefaults (run_as = 'workbench' ), skip_initial_authentication = True )
96+     job_command  =  aapi .JobCommand ('TestJob' , command = 'echo Hello' )
97+     
98+     sla_job  =  aapi .JobSLAManagement ('ForecastSLA' ,
99+                        service_name = 'ForecastSLA' ,
100+                        service_priority = '1' ,
101+                        job_runs_deviations_tolerance = '1' ,
102+                        complete_in = aapi .JobSLAManagement .CompleteIn (time = '00:15' ),
103+                        complete_by = aapi .JobSLAManagement .CompleteBy (
104+                            time = '21:40' , days = '3' ),
105+                        average_run_time_tolerance = aapi .JobSLAManagement .AverageRunTimeTolerance (
106+                            average_run_time = '15' ,
107+                            units = aapi .JobSLAManagement .AverageRunTimeTolerance .Units .Minutes 
108+                        ))
109+     
110+     subfolder  =  aapi .SubFolder ('SubFolder' )
111+     folder  =  aapi .Folder ("TestFolder" ,
112+                          sub_folder_list = [subfolder ],
113+                          job_list = [sla_job , job_command ]
114+                          )
115+     workflow .add (folder )
116+     # {"TestFolder": {"Type": "Folder", "ForecastSLA": {"Type": "Job:SLAManagement", "RunAs": "workbench", "ServiceName": "ForecastSLA", "ServicePriority": "1", "JobRunsDeviationsTolerance": "1", "AverageRunTimeTolerance": {"AverageRunTime": "15", "Units": "Minutes"}, "CompleteBy": {"Time": "21:40", "Days": "3"}, "CompleteIn": {"Time": "00:15"}}, "TestJob": {"Type": "Job:Command", "RunAs": "workbench", "Command": "echo Hello"}, "RunAs": "workbench", "SubFolder": {"Type": "SubFolder", "RunAs": "workbench"}}} 
117+     o  =  json .loads (''' 
118+         { 
119+         "Type": "Folder", 
120+         "ForecastSLA": { 
121+             "Type": "Job:SLAManagement", 
122+             "RunAs": "workbench", 
123+             "ServiceName": "ForecastSLA", 
124+             "ServicePriority": "1", 
125+             "JobRunsDeviationsTolerance": "1", 
126+             "AverageRunTimeTolerance": { 
127+                 "AverageRunTime": "15",  
128+                 "Units": "Minutes" 
129+             }, 
130+             "CompleteBy": { 
131+                 "Time": "21:40",  
132+                 "Days": "3" 
133+             }, 
134+             "CompleteIn": { 
135+                 "Time": "00:15" 
136+                 } 
137+             }, 
138+             "TestJob": { 
139+                 "Type": "Job:Command", 
140+                 "RunAs": "workbench", 
141+                 "Command": "echo Hello" 
142+             }, 
143+             "RunAs": "workbench", 
144+             "SubFolder": { 
145+                 "Type": "SubFolder",  
146+                 "RunAs": "workbench" 
147+             } 
148+         } 
149+                    ''' )
150+     assert  workflow .get ("TestFolder" ).as_aapi_dict () ==  o 
151+     
0 commit comments