def test_getset_state(self): f = tutils.tflow(resp=True) state = f.get_state() assert f.get_state() == protocol.http.HTTPFlow.from_state( state).get_state() f.response = None f.error = Error("error") state = f.get_state() assert f.get_state() == protocol.http.HTTPFlow.from_state( state).get_state() f2 = f.copy() f2.id = f.id # copy creates a different uuid assert f.get_state() == f2.get_state() assert not f == f2 f2.error = Error("e2") assert not f == f2 f.load_state(f2.get_state()) assert f.get_state() == f2.get_state()
def test_err(self): c = flow.State() f = tutils.tflow() c.add_request(f) f.error = Error("message") assert c.add_error(f) c = flow.State() f = tutils.tflow() c.add_request(f) c.set_limit("~e") assert not c.view f.error = tutils.terr() assert c.add_error(f) assert c.view
def test_client_playback(self): s = flow.State() f = tutils.tflow(resp=True) pb = [tutils.tflow(resp=True), f] fm = flow.FlowMaster(None, s) assert not fm.start_server_playback(pb, False, [], False, False) assert not fm.start_client_playback(pb, False) q = Queue.Queue() assert not fm.state.flow_count() fm.tick(q, 0) assert fm.state.flow_count() f.error = Error("error") fm.handle_error(f)
def test_client_playback(self): s = flow.State() f = tutils.tflow_full() pb = [tutils.tflow_full(), f] fm = flow.FlowMaster(None, s) assert not fm.start_server_playback(pb, False, [], False, False) assert not fm.start_client_playback(pb, False) q = Queue.Queue() assert not fm.state.flow_count() fm.tick(q) assert fm.state.flow_count() f.error = Error("error") f.error.reply = controller.DummyReply() fm.handle_error(f.error)
def test_all(self): s = flow.State() fm = flow.FlowMaster(None, s) fm.anticache = True fm.anticomp = True f = tutils.tflow(req=None) fm.handle_clientconnect(f.client_conn) f.request = tutils.treq() fm.handle_request(f) assert s.flow_count() == 1 f.response = tutils.tresp() fm.handle_response(f) assert not fm.handle_response(None) assert s.flow_count() == 1 fm.handle_clientdisconnect(f.client_conn) f.error = Error("msg") f.error.reply = controller.DummyReply() fm.handle_error(f) fm.load_script(tutils.test_data.path("scripts/a.py")) fm.shutdown()
def terr(content="error"): """ @return: libmproxy.protocol.primitives.Error """ err = Error(content) return err
def err(self): f = self.req() f.error = Error("msg") return f
def _add_error(self, state): req = tutils.treq() f = state.add_request(req) f.error = Error("msg")