MCPcopy
hub / github.com/tornadoweb/tornado / check_url

Method check_url

maint/test/redbot/red_test.py:76–113  ·  view source on GitHub ↗
(self, path, method='GET', body=None, headers=None,
                  expected_status=200, allowed_warnings=None,
                  allowed_errors=None)

Source from the content-addressed store, hash-verified

74 return []
75
76 def check_url(self, path, method='GET', body=None, headers=None,
77 expected_status=200, allowed_warnings=None,
78 allowed_errors=None):
79 url = self.get_url(path)
80 red = self.run_redbot(url, method, body, headers)
81 if not red.response.complete:
82 if isinstance(red.response.http_error, Exception):
83 logging.warning((red.response.http_error.desc, vars(red.response.http_error), url))
84 raise red.response.http_error.res_error
85 else:
86 raise Exception("unknown error; incomplete response")
87 self.assertEqual(int(red.response.status_code), expected_status)
88
89 allowed_warnings = (allowed_warnings or []) + self.get_allowed_warnings()
90 allowed_errors = (allowed_errors or []) + self.get_allowed_errors()
91
92 errors = []
93 warnings = []
94 for msg in red.response.notes:
95 if msg.level == 'bad':
96 logger = logging.error
97 if not isinstance(msg, tuple(allowed_errors)):
98 errors.append(msg)
99 elif msg.level == 'warning':
100 logger = logging.warning
101 if not isinstance(msg, tuple(allowed_warnings)):
102 warnings.append(msg)
103 elif msg.level in ('good', 'info', 'uri'):
104 logger = logging.info
105 else:
106 raise Exception('unknown level' + msg.level)
107 logger('%s: %s (%s)', msg.category, msg.show_summary('en'),
108 msg.__class__.__name__)
109 logger(msg.show_text('en'))
110
111 self.assertEqual(len(warnings) + len(errors), 0,
112 'Had %d unexpected warnings and %d errors' %
113 (len(warnings), len(errors)))
114
115 def run_redbot(self, url, method, body, headers):
116 red = HttpResource(url, method=method, req_body=body,

Callers 15

test_helloMethod · 0.95
test_staticMethod · 0.95
test_redirectMethod · 0.95
test_404Method · 0.95
test_postMethod · 0.95
test_chunkedMethod · 0.95

Calls 5

run_redbotMethod · 0.95
get_allowed_warningsMethod · 0.95
get_allowed_errorsMethod · 0.95
appendMethod · 0.80
get_urlMethod · 0.45

Tested by

no test coverage detected