@@ -98,9 +98,13 @@ def shuffle(self):
9898# fmt: on
9999
100100
101- def request_callback_core (request , uri , response_headers ):
102- body = json .loads (request .body )
103- procs = {
101+ @pytest .fixture
102+ def mock_jsonrpc_procs_core () -> Dict [str , Any ]:
103+ """
104+ Dictionary of JSON RPC method names and their return values. Can override
105+ existing values in subfixtures.
106+ """
107+ return {
104108 "hello_world" : {"hello" : "world" },
105109 "get_running_version" : "develop" ,
106110 "get_id_by_email_password" : "6372a35e821ed2b71d9fe4e3" ,
@@ -253,17 +257,36 @@ def request_callback_core(request, uri, response_headers):
253257 "job_connect_group" : True ,
254258 "job_set_param" : True ,
255259 }
256- procs ["system.describe" ] = {"procs" : [{"name" : m } for m in procs ]}
257- response_headers ["content-type" ] = "application/json"
258- return [200 , response_headers , json .dumps ({"result" : procs [body ["method" ]]})]
259260
260261
261- def request_callback_vis (request , uri , response_headers ):
262- body = json .loads (request .body )
263- procs : Dict [str , Any ] = {"hello_world" : {"hello" : "world" }}
264- procs ["system.describe" ] = {"procs" : [{"name" : m } for m in procs ]}
265- response_headers ["content-type" ] = "application/json"
266- return [200 , response_headers , json .dumps ({"result" : procs [body ["method" ]]})]
262+ @pytest .fixture
263+ def request_callback_core (mock_jsonrpc_procs_core ):
264+ def request_callback_core_fn (request , uri , response_headers ):
265+ body = json .loads (request .body )
266+ mock_jsonrpc_procs_core ["system.describe" ] = {"procs" : [{"name" : m } for m in mock_jsonrpc_procs_core ]}
267+ response_headers ["content-type" ] = "application/json"
268+ return [200 , response_headers , json .dumps ({"result" : mock_jsonrpc_procs_core [body ["method" ]]})]
269+
270+ return request_callback_core_fn
271+
272+
273+ @pytest .fixture
274+ def mock_jsonrpc_procs_vis () -> Dict [str , Any ]:
275+ return {
276+ "hello_world" : {"hello" : "world" },
277+ }
278+
279+
280+ @pytest .fixture
281+ def request_callback_vis (mock_jsonrpc_procs_vis ):
282+ def request_callback_vis_fn (request , uri , response_headers ):
283+ body = json .loads (request .body )
284+
285+ mock_jsonrpc_procs_vis ["system.describe" ] = {"procs" : [{"name" : m } for m in mock_jsonrpc_procs_vis ]}
286+ response_headers ["content-type" ] = "application/json"
287+ return [200 , response_headers , json .dumps ({"result" : mock_jsonrpc_procs_vis [body ["method" ]]})]
288+
289+ return request_callback_vis_fn
267290
268291
269292def request_callback_vis_get_project_file (request , uri , response_headers ):
@@ -404,7 +427,7 @@ def t20s_particles_passthrough():
404427
405428
406429@pytest .fixture
407- def cs ():
430+ def cs (request_callback_core , request_callback_vis ):
408431 httpretty .enable (verbose = False , allow_net_connect = False )
409432 httpretty .register_uri (httpretty .POST , "http://localhost:39002/api" , body = request_callback_core ) # type: ignore
410433 httpretty .register_uri (httpretty .POST , "http://localhost:39003/api" , body = request_callback_vis ) # type: ignore
0 commit comments