aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_proxy.py
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2011-02-20 09:36:13 +1300
committerAldo Cortesi <aldo@nullcube.com>2011-02-20 09:36:13 +1300
commit9c5c3c2b1adfe9e8d79742a1bd5080b3fc1fdcde (patch)
tree413cf23bccd279d758df84b1938a8cf789a24600 /test/test_proxy.py
parent58fc0041fa5e37a891314da4a777f8b886d20f06 (diff)
downloadmitmproxy-9c5c3c2b1adfe9e8d79742a1bd5080b3fc1fdcde.tar.gz
mitmproxy-9c5c3c2b1adfe9e8d79742a1bd5080b3fc1fdcde.tar.bz2
mitmproxy-9c5c3c2b1adfe9e8d79742a1bd5080b3fc1fdcde.zip
Implement state loading that doesn't change object identity.
We need this to let us load state from copied Flows returned from scripts.
Diffstat (limited to 'test/test_proxy.py')
-rw-r--r--test/test_proxy.py31
1 files changed, 30 insertions, 1 deletions
diff --git a/test/test_proxy.py b/test/test_proxy.py
index cb2528fd..0b40164e 100644
--- a/test/test_proxy.py
+++ b/test/test_proxy.py
@@ -234,6 +234,11 @@ class uRequest(libpry.AutoTree):
state = r.get_state()
assert proxy.Request.from_state(state) == r
+ r2 = proxy.Request(c, "testing", 20, "http", "PUT", "/foo", h, "test")
+ assert not r == r2
+ r.load_state(r2.get_state())
+ assert r == r2
+
class uResponse(libpry.AutoTree):
def test_simple(self):
@@ -256,6 +261,11 @@ class uResponse(libpry.AutoTree):
state = resp.get_state()
assert proxy.Response.from_state(req, state) == resp
+ resp2 = proxy.Response(req, 220, "foo", h.copy(), "test")
+ assert not resp == resp2
+ resp.load_state(resp2.get_state())
+ assert resp == resp2
+
class uError(libpry.AutoTree):
def test_getset_state(self):
@@ -265,6 +275,12 @@ class uError(libpry.AutoTree):
assert e.copy()
+ e2 = proxy.Error(None, "bar")
+ assert not e == e2
+ e.load_state(e2.get_state())
+ assert e == e2
+
+
class uProxyError(libpry.AutoTree):
def test_simple(self):
@@ -272,6 +288,18 @@ class uProxyError(libpry.AutoTree):
assert repr(p)
+class uClientConnect(libpry.AutoTree):
+ def test_state(self):
+ c = proxy.ClientConnect(("a", 22))
+ assert proxy.ClientConnect.from_state(c.get_state()) == c
+
+ c2 = proxy.ClientConnect(("a", 25))
+ assert not c == c2
+
+ c.load_state(c2.get_state())
+ assert c == c2
+
+
tests = [
uProxyError(),
@@ -281,8 +309,9 @@ tests = [
u_parse_request_line(),
u_parse_url(),
uError(),
+ uClientConnect(),
_TestServers(), [
uSanity(),
uProxy(),
- ]
+ ],
]