mirror of
https://github.com/Grasscutters/mitmproxy.git
synced 2024-11-29 19:08:44 +00:00
Increase test coverage
This commit is contained in:
parent
ec7d7c995c
commit
33f735ef50
@ -147,14 +147,14 @@ class Master:
|
||||
raise exceptions.ReplayException(
|
||||
"Can't replay intercepted flow."
|
||||
)
|
||||
if f.request.raw_content is None:
|
||||
raise exceptions.ReplayException(
|
||||
"Can't replay flow with missing content."
|
||||
)
|
||||
if not f.request:
|
||||
raise exceptions.ReplayException(
|
||||
"Can't replay flow with missing request."
|
||||
)
|
||||
if f.request.raw_content is None:
|
||||
raise exceptions.ReplayException(
|
||||
"Can't replay flow with missing content."
|
||||
)
|
||||
|
||||
f.backup()
|
||||
f.request.is_replay = True
|
||||
|
@ -7,7 +7,7 @@ from mitmproxy import flowfilter
|
||||
from mitmproxy import options
|
||||
from mitmproxy.proxy import config
|
||||
from mitmproxy.io import tnetstring
|
||||
from mitmproxy.exceptions import FlowReadException
|
||||
from mitmproxy.exceptions import FlowReadException, ReplayException, ControlException
|
||||
from mitmproxy import flow
|
||||
from mitmproxy import http
|
||||
from mitmproxy.proxy.server import DummyServer
|
||||
@ -102,15 +102,19 @@ class TestFlowMaster:
|
||||
fm = master.Master(None, DummyServer())
|
||||
f = tflow.tflow(resp=True)
|
||||
f.request.content = None
|
||||
with pytest.raises(Exception, match="missing"):
|
||||
with pytest.raises(ReplayException, match="missing"):
|
||||
fm.replay_request(f)
|
||||
|
||||
f.request = None
|
||||
with pytest.raises(ReplayException, match="request"):
|
||||
fm.replay_request(f)
|
||||
|
||||
f.intercepted = True
|
||||
with pytest.raises(Exception, match="intercepted"):
|
||||
with pytest.raises(ReplayException, match="intercepted"):
|
||||
fm.replay_request(f)
|
||||
|
||||
f.live = True
|
||||
with pytest.raises(Exception, match="live"):
|
||||
with pytest.raises(ReplayException, match="live"):
|
||||
fm.replay_request(f)
|
||||
|
||||
def test_all(self):
|
||||
@ -132,6 +136,10 @@ class TestFlowMaster:
|
||||
f.error = flow.Error("msg")
|
||||
fm.addons.handle_lifecycle("error", f)
|
||||
|
||||
fm.tell("foo", f)
|
||||
with pytest.raises(ControlException):
|
||||
fm.tick(timeout=1)
|
||||
|
||||
fm.shutdown()
|
||||
|
||||
|
||||
|
@ -4,7 +4,7 @@ from mitmproxy.test import tflow
|
||||
from mitmproxy.net.http import Headers
|
||||
import mitmproxy.io
|
||||
from mitmproxy import flowfilter
|
||||
from mitmproxy.exceptions import Kill
|
||||
from mitmproxy.exceptions import Kill, ControlException
|
||||
from mitmproxy import flow
|
||||
from mitmproxy import http
|
||||
|
||||
@ -170,10 +170,18 @@ class TestHTTPFlow:
|
||||
assert not f == f2
|
||||
f2.error = flow.Error("e2")
|
||||
assert not f == f2
|
||||
f2.backup()
|
||||
f2.intercept() # to change the state
|
||||
f.set_state(f2.get_state())
|
||||
assert f.get_state() == f2.get_state()
|
||||
|
||||
def test_kill(self):
|
||||
f = tflow.tflow()
|
||||
with pytest.raises(ControlException):
|
||||
f.intercept()
|
||||
f.resume()
|
||||
f.kill()
|
||||
|
||||
f = tflow.tflow()
|
||||
f.intercept()
|
||||
assert f.killable
|
||||
@ -181,6 +189,13 @@ class TestHTTPFlow:
|
||||
assert not f.killable
|
||||
assert f.reply.value == Kill
|
||||
|
||||
def test_intercept(self):
|
||||
f = tflow.tflow()
|
||||
f.intercept()
|
||||
assert f.reply.state == "taken"
|
||||
f.intercept()
|
||||
assert f.reply.state == "taken"
|
||||
|
||||
def test_resume(self):
|
||||
f = tflow.tflow()
|
||||
f.intercept()
|
||||
|
Loading…
Reference in New Issue
Block a user