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

Function test_reverse

test/mitmproxy/proxy/layers/test_dns.py:210–246  ·  view source on GitHub ↗
(tctx, transport_protocol)

Source from the content-addressed store, hash-verified

208
209@pytest.mark.parametrize("transport_protocol", ["tcp", "udp"])
210def test_reverse(tctx, transport_protocol):
211 tctx.client.transport_protocol = transport_protocol
212 tctx.server.transport_protocol = transport_protocol
213
214 f = Placeholder(DNSFlow)
215 layer = dns.DNSLayer(tctx)
216 layer.context.server.address = ("8.8.8.8", 53)
217
218 req = tdnsreq()
219 resp = tdnsresp()
220
221 assert (
222 Playbook(layer)
223 >> DataReceived(
224 tctx.client, dns.pack_message(req, tctx.client.transport_protocol)
225 )
226 << dns.DnsRequestHook(f)
227 >> reply()
228 << OpenConnection(tctx.server)
229 >> reply(None)
230 << SendData(tctx.server, dns.pack_message(req, tctx.server.transport_protocol))
231 >> DataReceived(
232 tctx.server, dns.pack_message(resp, tctx.server.transport_protocol)
233 )
234 << dns.DnsResponseHook(f)
235 >> reply()
236 << SendData(tctx.client, dns.pack_message(resp, tctx.client.transport_protocol))
237 >> ConnectionClosed(tctx.client)
238 << CloseConnection(tctx.server)
239 << None
240 )
241 assert f().request
242 assert f().response
243 assert not f().live
244 req.timestamp = f().request.timestamp
245 resp.timestamp = f().response.timestamp
246 assert f().request == req and f().response == resp
247
248
249@pytest.mark.parametrize("transport_protocol", ["tcp", "udp"])

Callers

nothing calls this directly

Calls 11

DataReceivedClass · 0.90
OpenConnectionClass · 0.90
SendDataClass · 0.90
ConnectionClosedClass · 0.90
CloseConnectionClass · 0.90
PlaceholderFunction · 0.85
tdnsreqFunction · 0.85
tdnsrespFunction · 0.85
PlaybookClass · 0.85
replyClass · 0.85
fFunction · 0.50

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…