MCPcopy Index your code
hub / github.com/mitmproxy/mitmproxy / test_flow_update

Method test_flow_update

test/mitmproxy/tools/web/test_app.py:196–255  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

194 assert self.fetch("/flows/1234", method="DELETE").code == 404
195
196 def test_flow_update(self):
197 f = self.view.get_by_id("42")
198 assert f.request.method == "GET"
199 f.backup()
200
201 upd = {
202 "request": {
203 "method": "PATCH",
204 "port": 123,
205 "headers": [("foo", "bar")],
206 "trailers": [("foo", "bar")],
207 "content": "req",
208 },
209 "response": {
210 "msg": "Non-Authorisé",
211 "code": 404,
212 "headers": [("bar", "baz")],
213 "trailers": [("foo", "bar")],
214 "content": "resp",
215 },
216 "marked": ":red_circle:",
217 "comment": "I'm a modified comment!",
218 }
219 assert self.put_json("/flows/42", upd).code == 200
220 assert f.request.method == "PATCH"
221 assert f.request.port == 123
222 assert f.request.headers["foo"] == "bar"
223 assert f.request.text == "req"
224 assert f.response.msg == "Non-Authorisé"
225 assert f.response.status_code == 404
226 assert f.response.headers["bar"] == "baz"
227 assert f.response.text == "resp"
228 assert f.comment == "I'm a modified comment!"
229
230 upd = {
231 "request": {
232 "trailers": [("foo", "baz")],
233 },
234 "response": {
235 "trailers": [("foo", "baz")],
236 },
237 }
238 assert self.put_json("/flows/42", upd).code == 200
239 assert f.request.trailers["foo"] == "baz"
240
241 f.revert()
242
243 assert self.put_json("/flows/42", {"foo": 42}).code == 400
244 assert self.put_json("/flows/42", {"request": {"foo": 42}}).code == 400
245 assert self.put_json("/flows/42", {"response": {"foo": 42}}).code == 400
246 assert self.fetch("/flows/42", method="PUT", body="{}").code == 400
247 assert (
248 self.fetch(
249 "/flows/42",
250 method="PUT",
251 headers={"Content-Type": "application/json"},
252 body="!!",
253 ).code

Callers

nothing calls this directly

Calls 5

put_jsonMethod · 0.95
fetchMethod · 0.95
get_by_idMethod · 0.80
backupMethod · 0.80
revertMethod · 0.45

Tested by

no test coverage detected