@@ -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