44
55from werkzeug .wrappers import Request , Response
66from werkzeug .serving import make_server
7+ from typing import Mapping , Optional , Union
8+
79
810URI_DEFAULT = ""
911METHOD_ALL = "__ALL"
@@ -200,7 +202,16 @@ def create_matcher(self, *args, **kwargs) -> RequestMatcher:
200202
201203 return RequestMatcher (* args , ** kwargs )
202204
203- def expect_oneshot_request (self , uri , method = METHOD_ALL , data = None , data_encoding = "utf-8" , headers = None , * , ordered = False ) -> RequestHandler :
205+ def expect_oneshot_request (
206+ self ,
207+ uri : str ,
208+ method : str = METHOD_ALL ,
209+ data : Union [str , bytes , None ] = None ,
210+ data_encoding : str = "utf-8" ,
211+ headers : Optional [Mapping [str , str ]] = None ,
212+ query_string : Optional [str ] = None ,
213+ * ,
214+ ordered = False ) -> RequestHandler :
204215 """
205216 Create and register a oneshot request handler.
206217
@@ -221,12 +232,13 @@ def expect_oneshot_request(self, uri, method=METHOD_ALL, data=None, data_encodin
221232 by default, see `data_encoding`) or a bytes object.
222233 :param data_encoding: the encoding used for data parameter if data is a string.
223234 :param headers: dictionary of the headers of the request to be matched
235+ :param query_string: the http query string starting with ``?``, such as ``?username=user``
224236 :param ordered: specifies whether to create an ordered handler or not. See above for details.
225237
226238 :return: Created and register :py:class:`RequestHandler`.
227239 """
228240
229- matcher = self .create_matcher (uri , method = method , data = data , data_encoding = data_encoding , headers = headers )
241+ matcher = self .create_matcher (uri , method = method , data = data , data_encoding = data_encoding , headers = headers , query_string = query_string )
230242 request_handler = RequestHandler (matcher )
231243 if ordered :
232244 self .ordered_handlers .append (request_handler )
@@ -235,7 +247,14 @@ def expect_oneshot_request(self, uri, method=METHOD_ALL, data=None, data_encodin
235247
236248 return request_handler
237249
238- def expect_request (self , uri , method = METHOD_ALL , data = None , data_encoding = "utf-8" , headers = None ) -> RequestHandler :
250+ def expect_request (
251+ self ,
252+ uri : str ,
253+ method : str = METHOD_ALL ,
254+ data : Union [str , bytes , None ] = None ,
255+ data_encoding : str = "utf-8" ,
256+ headers : Optional [Mapping [str , str ]] = None ,
257+ query_string : Optional [str ] = None ) -> RequestHandler :
239258 """
240259 Create and register a permanent request handler.
241260
@@ -254,7 +273,7 @@ def expect_request(self, uri, method=METHOD_ALL, data=None, data_encoding="utf-8
254273 :return: Created and register :py:class:`RequestHandler`.
255274 """
256275
257- matcher = self .create_matcher (uri , method = method , data = data , data_encoding = data_encoding , headers = headers )
276+ matcher = self .create_matcher (uri , method = method , data = data , data_encoding = data_encoding , headers = headers , query_string = query_string )
258277 request_handler = RequestHandler (matcher )
259278 self .handlers .append (request_handler )
260279 return request_handler
0 commit comments