1010import os
1111from pathlib import Path
1212import xml .etree .ElementTree as ET
13- from typing import Callable , Optional , Union , Dict , Any , List
13+ from typing import Callable , Optional , Union , Dict , Any , List , Tuple , Generator
1414from opengeodeweb_viewer import config
1515from opengeodeweb_microservice .database .connection import get_session , init_database
1616from opengeodeweb_microservice .database .data import Data
@@ -31,7 +31,9 @@ def __init__(self, log: str) -> None:
3131 self ._init_ws ()
3232 self ._drain_initial_messages ()
3333
34- def call (self , rpc : str , params : List [Dict [str , Any ]] = [{}]) -> None :
34+ def call (self , rpc : str , params : List [Dict [str , Any ]] = None ) -> None :
35+ if params is None :
36+ params = [{}]
3537 return self .ws .send (
3638 json .dumps (
3739 {
@@ -57,9 +59,10 @@ def get_response(self) -> Union[bytes, Dict[str, Any], str]:
5759 if isinstance (response , bytes ):
5860 return response
5961 try :
60- return json .loads (response )
62+ parsed = json .loads (response )
63+ return parsed
6164 except Exception :
62- return response
65+ return str ( response )
6366
6467 @staticmethod
6568 def _reader_for_file (path : str ) -> vtk .vtkImageReader2 :
@@ -147,7 +150,7 @@ class FixtureHelper:
147150 def __init__ (self , root_path : Path ) -> None :
148151 self .root_path = Path (root_path )
149152
150- def get_xprocess_args (self ) -> tuple :
153+ def get_xprocess_args (self ) -> Tuple [ str , type , type ] :
151154 class Starter (ProcessStarter ):
152155 terminate_on_interrupt = True
153156 pattern = "wslink: Starting factory"
@@ -166,7 +169,7 @@ class Starter(ProcessStarter):
166169
167170
168171@pytest .fixture
169- def server (xprocess ) -> ServerMonitor :
172+ def server (xprocess : Any ) -> Generator [ ServerMonitor , None , None ] :
170173 name , Starter , Monitor = HELPER .get_xprocess_args ()
171174 os .environ ["PYTHON_ENV" ] = "test"
172175 _ , log = xprocess .ensure (name , Starter )
0 commit comments