Method: flask.testing.FlaskClient.open
Calls: 423, Exceptions: 18, Paths: 7Back
Path 1: 365 calls (0.86)
False (365)
False (362) True (3)
('/',) (147) ('/more',) (10) ('/jsonify_basic_types',) (10) ('/error',) (7) ('/foo/bar',) (7) ('/abort',) (7) ('/parent/child/',) (5) ('/foo/',) (4) (...
{'method': 'GET'} (290) {'method': 'POST'} (17) {'method': 'OPTIONS'} (15) dict (11) {'method': 'PUT'} (5) {'method': 'DELETE'} (5) {'method': 'HEAD'}...
WrapperTestResponse (365)
1def open(
2 self,
3 *args: t.Any,
4 buffered: bool = False,
5 follow_redirects: bool = False,
6 **kwargs: t.Any,
7 ) -> TestResponse:
8 if args and isinstance(
9 args[0], (werkzeug.test.EnvironBuilder, dict, BaseRequest)
10 ):
11 if isinstance(args[0], werkzeug.test.EnvironBuilder):
12 builder = copy(args[0])
13 builder.environ_base = self._copy_environ(builder.environ_base or {})
14 request = builder.get_request()
15 elif isinstance(args[0], dict):
16 request = EnvironBuilder.from_environ(
17 args[0], app=self.application, environ_base=self._copy_environ({})
18 ).get_request()
19 else:
20 # isinstance(args[0], BaseRequest)
21 request = copy(args[0])
22 request.environ = self._copy_environ(request.environ)
23 else:
24 # request is None
25 request = self._request_from_builder_args(args, kwargs)
26
27 # Pop any previously preserved contexts. This prevents contexts
28 # from being preserved across redirects or multiple requests
29 # within a single block.
30 self._context_stack.close()
31
32 response = super().open(
33 request,
34 buffered=buffered,
35 follow_redirects=follow_redirects,
36 )
37 response.json_module = self.application.json # type: ignore[assignment]
38
39 # Re-push contexts that were preserved during the request.
40 while self._new_contexts:
41 cm = self._new_contexts.pop()
42 self._context_stack.enter_context(cm)
43
44 return response
Path 2: 33 calls (0.08)
False (33)
False (33)
('/bump',) (12) ('/',) (9) ('/read',) (4) ('/getsession',) (2) ('/test',) (1) ('/other',) (1) ('http://domain.com/action?vodka=42',) (1) ('/echo',) (1...
{'method': 'GET'} (31) dict (2)
WrapperTestResponse (33)
1def open(
2 self,
3 *args: t.Any,
4 buffered: bool = False,
5 follow_redirects: bool = False,
6 **kwargs: t.Any,
7 ) -> TestResponse:
8 if args and isinstance(
9 args[0], (werkzeug.test.EnvironBuilder, dict, BaseRequest)
10 ):
11 if isinstance(args[0], werkzeug.test.EnvironBuilder):
12 builder = copy(args[0])
13 builder.environ_base = self._copy_environ(builder.environ_base or {})
14 request = builder.get_request()
15 elif isinstance(args[0], dict):
16 request = EnvironBuilder.from_environ(
17 args[0], app=self.application, environ_base=self._copy_environ({})
18 ).get_request()
19 else:
20 # isinstance(args[0], BaseRequest)
21 request = copy(args[0])
22 request.environ = self._copy_environ(request.environ)
23 else:
24 # request is None
25 request = self._request_from_builder_args(args, kwargs)
26
27 # Pop any previously preserved contexts. This prevents contexts
28 # from being preserved across redirects or multiple requests
29 # within a single block.
30 self._context_stack.close()
31
32 response = super().open(
33 request,
34 buffered=buffered,
35 follow_redirects=follow_redirects,
36 )
37 response.json_module = self.application.json # type: ignore[assignment]
38
39 # Re-push contexts that were preserved during the request.
40 while self._new_contexts:
41 cm = self._new_contexts.pop()
42 self._context_stack.enter_context(cm)
43
44 return response
Path 3: 18 calls (0.04)
False (18)
False (17) True (1)
('/',) (6) ('/key',) (2) ('/fail',) (2) ('/abort',) (1) ('/none',) (1) ('/small_tuple',) (1) ('/large_tuple',) (1) ('/bad_type',) (1) ('/bad_wsgi',) (...
{'method': 'GET'} (16) dict (2)
TypeError (5) ZeroDivisionError (3) ValueError (2) BadRequestKeyError (2) KeyboardInterrupt (1) BadRequest (1) NotFound (1) DebugFilesKeyError (1) For...
1def open(
2 self,
3 *args: t.Any,
4 buffered: bool = False,
5 follow_redirects: bool = False,
6 **kwargs: t.Any,
7 ) -> TestResponse:
8 if args and isinstance(
9 args[0], (werkzeug.test.EnvironBuilder, dict, BaseRequest)
10 ):
11 if isinstance(args[0], werkzeug.test.EnvironBuilder):
12 builder = copy(args[0])
13 builder.environ_base = self._copy_environ(builder.environ_base or {})
14 request = builder.get_request()
15 elif isinstance(args[0], dict):
16 request = EnvironBuilder.from_environ(
17 args[0], app=self.application, environ_base=self._copy_environ({})
18 ).get_request()
19 else:
20 # isinstance(args[0], BaseRequest)
21 request = copy(args[0])
22 request.environ = self._copy_environ(request.environ)
23 else:
24 # request is None
25 request = self._request_from_builder_args(args, kwargs)
26
27 # Pop any previously preserved contexts. This prevents contexts
28 # from being preserved across redirects or multiple requests
29 # within a single block.
30 self._context_stack.close()
31
32 response = super().open(
33 request,
34 buffered=buffered,
35 follow_redirects=follow_redirects,
36 )
37 response.json_module = self.application.json # type: ignore[assignment]
38
39 # Re-push contexts that were preserved during the request.
40 while self._new_contexts:
41 cm = self._new_contexts.pop()
42 self._context_stack.enter_context(cm)
43
44 return response
Path 4: 3 calls (0.01)
False (3)
False (3)
tuple (3)
{} (3)
WrapperTestResponse (3)
1def open(
2 self,
3 *args: t.Any,
4 buffered: bool = False,
5 follow_redirects: bool = False,
6 **kwargs: t.Any,
7 ) -> TestResponse:
8 if args and isinstance(
9 args[0], (werkzeug.test.EnvironBuilder, dict, BaseRequest)
10 ):
11 if isinstance(args[0], werkzeug.test.EnvironBuilder):
12 builder = copy(args[0])
13 builder.environ_base = self._copy_environ(builder.environ_base or {})
14 request = builder.get_request()
15 elif isinstance(args[0], dict):
16 request = EnvironBuilder.from_environ(
17 args[0], app=self.application, environ_base=self._copy_environ({})
18 ).get_request()
19 else:
20 # isinstance(args[0], BaseRequest)
21 request = copy(args[0])
22 request.environ = self._copy_environ(request.environ)
23 else:
24 # request is None
25 request = self._request_from_builder_args(args, kwargs)
26
27 # Pop any previously preserved contexts. This prevents contexts
28 # from being preserved across redirects or multiple requests
29 # within a single block.
30 self._context_stack.close()
31
32 response = super().open(
33 request,
34 buffered=buffered,
35 follow_redirects=follow_redirects,
36 )
37 response.json_module = self.application.json # type: ignore[assignment]
38
39 # Re-push contexts that were preserved during the request.
40 while self._new_contexts:
41 cm = self._new_contexts.pop()
42 self._context_stack.enter_context(cm)
43
44 return response
Path 5: 2 calls (0.0)
False (2)
False (2)
() (2)
{'method': 'GET'} (2)
WrapperTestResponse (2)
1def open(
2 self,
3 *args: t.Any,
4 buffered: bool = False,
5 follow_redirects: bool = False,
6 **kwargs: t.Any,
7 ) -> TestResponse:
8 if args and isinstance(
9 args[0], (werkzeug.test.EnvironBuilder, dict, BaseRequest)
10 ):
11 if isinstance(args[0], werkzeug.test.EnvironBuilder):
12 builder = copy(args[0])
13 builder.environ_base = self._copy_environ(builder.environ_base or {})
14 request = builder.get_request()
15 elif isinstance(args[0], dict):
16 request = EnvironBuilder.from_environ(
17 args[0], app=self.application, environ_base=self._copy_environ({})
18 ).get_request()
19 else:
20 # isinstance(args[0], BaseRequest)
21 request = copy(args[0])
22 request.environ = self._copy_environ(request.environ)
23 else:
24 # request is None
25 request = self._request_from_builder_args(args, kwargs)
26
27 # Pop any previously preserved contexts. This prevents contexts
28 # from being preserved across redirects or multiple requests
29 # within a single block.
30 self._context_stack.close()
31
32 response = super().open(
33 request,
34 buffered=buffered,
35 follow_redirects=follow_redirects,
36 )
37 response.json_module = self.application.json # type: ignore[assignment]
38
39 # Re-push contexts that were preserved during the request.
40 while self._new_contexts:
41 cm = self._new_contexts.pop()
42 self._context_stack.enter_context(cm)
43
44 return response
Path 6: 1 calls (0.0)
False (1)
False (1)
tuple (1)
{} (1)
WrapperTestResponse (1)
1def open(
2 self,
3 *args: t.Any,
4 buffered: bool = False,
5 follow_redirects: bool = False,
6 **kwargs: t.Any,
7 ) -> TestResponse:
8 if args and isinstance(
9 args[0], (werkzeug.test.EnvironBuilder, dict, BaseRequest)
10 ):
11 if isinstance(args[0], werkzeug.test.EnvironBuilder):
12 builder = copy(args[0])
13 builder.environ_base = self._copy_environ(builder.environ_base or {})
14 request = builder.get_request()
15 elif isinstance(args[0], dict):
16 request = EnvironBuilder.from_environ(
17 args[0], app=self.application, environ_base=self._copy_environ({})
18 ).get_request()
19 else:
20 # isinstance(args[0], BaseRequest)
21 request = copy(args[0])
22 request.environ = self._copy_environ(request.environ)
23 else:
24 # request is None
25 request = self._request_from_builder_args(args, kwargs)
26
27 # Pop any previously preserved contexts. This prevents contexts
28 # from being preserved across redirects or multiple requests
29 # within a single block.
30 self._context_stack.close()
31
32 response = super().open(
33 request,
34 buffered=buffered,
35 follow_redirects=follow_redirects,
36 )
37 response.json_module = self.application.json # type: ignore[assignment]
38
39 # Re-push contexts that were preserved during the request.
40 while self._new_contexts:
41 cm = self._new_contexts.pop()
42 self._context_stack.enter_context(cm)
43
44 return response
Path 7: 1 calls (0.0)
False (1)
False (1)
tuple (1)
{} (1)
WrapperTestResponse (1)
1def open(
2 self,
3 *args: t.Any,
4 buffered: bool = False,
5 follow_redirects: bool = False,
6 **kwargs: t.Any,
7 ) -> TestResponse:
8 if args and isinstance(
9 args[0], (werkzeug.test.EnvironBuilder, dict, BaseRequest)
10 ):
11 if isinstance(args[0], werkzeug.test.EnvironBuilder):
12 builder = copy(args[0])
13 builder.environ_base = self._copy_environ(builder.environ_base or {})
14 request = builder.get_request()
15 elif isinstance(args[0], dict):
16 request = EnvironBuilder.from_environ(
17 args[0], app=self.application, environ_base=self._copy_environ({})
18 ).get_request()
19 else:
20 # isinstance(args[0], BaseRequest)
21 request = copy(args[0])
22 request.environ = self._copy_environ(request.environ)
23 else:
24 # request is None
25 request = self._request_from_builder_args(args, kwargs)
26
27 # Pop any previously preserved contexts. This prevents contexts
28 # from being preserved across redirects or multiple requests
29 # within a single block.
30 self._context_stack.close()
31
32 response = super().open(
33 request,
34 buffered=buffered,
35 follow_redirects=follow_redirects,
36 )
37 response.json_module = self.application.json # type: ignore[assignment]
38
39 # Re-push contexts that were preserved during the request.
40 while self._new_contexts:
41 cm = self._new_contexts.pop()
42 self._context_stack.enter_context(cm)
43
44 return response