@@ -47,7 +47,7 @@ def fc_server(httpserver):
4747 for endpoint in ["jobs" , "metadata" ]:
4848 httpserver .expect_request (
4949 re .compile (rf"/compute/.*/{ endpoint } " ), method = "GET"
50- ).respond_with_handler (filesystem_handler )
50+ ).respond_with_handler (get_jobs_handler )
5151
5252 httpserver .expect_request (
5353 re .compile (r"/compute/.*/jobs" ), method = "POST"
@@ -268,3 +268,45 @@ def submit_handler(request: Request):
268268 return Response (json .dumps (ret ),
269269 status = ret_status ,
270270 content_type = "application/json" )
271+
272+
273+ def get_jobs_handler (request : Request ):
274+ if request .headers ["Authorization" ] != "Bearer VALID_TOKEN" :
275+ return Response (
276+ json .dumps ({"message" : "Bad token; invalid JSON" }),
277+ status = 401 ,
278+ content_type = "application/json" ,
279+ )
280+
281+ url , * params = request .url .split ("?" )
282+
283+ endpoint = url .split ("/" )[- 1 ]
284+
285+ suffix = ""
286+
287+ if endpoint == "jobs" :
288+ endpoint = "job"
289+
290+ if "account=users2" in "&" .join (params ):
291+ suffix = "_info_account"
292+ elif "allusers=true" in "&" .join (params ):
293+ suffix = "_info_all_users"
294+ else :
295+ suffix = "_info"
296+
297+ if endpoint == "1" :
298+ endpoint = "job"
299+ suffix = "_info"
300+
301+ if endpoint == "metadata" :
302+ endpoint = "job"
303+ suffix = "_metadata"
304+
305+ data = read_json_file (f"v2/responses/{ endpoint } { suffix } .json" )
306+
307+ ret = data ["response" ]
308+ ret_status = data ["status_code" ]
309+
310+ return Response (json .dumps (ret ),
311+ status = ret_status ,
312+ content_type = "application/json" )
0 commit comments