aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_server.py
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2015-09-18 18:07:38 +0200
committerMaximilian Hils <git@maximilianhils.com>2015-09-18 18:07:38 +0200
commit2d4a5fb116a175df0d464e9a501124a858731d99 (patch)
treee4827d50f1833378bf7fd0b4cb370e37fceff2ed /test/test_server.py
parent66d21fa4ba7bec0be0acc2c33baf8c6217bd2b38 (diff)
downloadmitmproxy-2d4a5fb116a175df0d464e9a501124a858731d99.tar.gz
mitmproxy-2d4a5fb116a175df0d464e9a501124a858731d99.tar.bz2
mitmproxy-2d4a5fb116a175df0d464e9a501124a858731d99.zip
experimental: don't interfere with headers, fix #93
Diffstat (limited to 'test/test_server.py')
-rw-r--r--test/test_server.py54
1 files changed, 20 insertions, 34 deletions
diff --git a/test/test_server.py b/test/test_server.py
index d1fef6ff..34ae4601 100644
--- a/test/test_server.py
+++ b/test/test_server.py
@@ -118,17 +118,18 @@ class TcpMixin:
del self._ignore_backup
def test_ignore(self):
- spec = '304:h"Alternate-Protocol"="mitmproxy-will-remove-this"'
- n = self.pathod(spec)
+ n = self.pathod("304")
self._ignore_on()
- i = self.pathod(spec)
- i2 = self.pathod(spec)
+ i = self.pathod("305")
+ i2 = self.pathod("306")
self._ignore_off()
- assert i.status_code == i2.status_code == n.status_code == 304
- assert "Alternate-Protocol" in i.headers
- assert "Alternate-Protocol" in i2.headers
- assert "Alternate-Protocol" not in n.headers
+ assert n.status_code == 304
+ assert i.status_code == 305
+ assert i2.status_code == 306
+ assert any(f.response.status_code == 304 for f in self.master.state.flows)
+ assert not any(f.response.status_code == 305 for f in self.master.state.flows)
+ assert not any(f.response.status_code == 306 for f in self.master.state.flows)
# Test that we get the original SSL cert
if self.ssl:
@@ -161,17 +162,18 @@ class TcpMixin:
del self._tcpproxy_backup
def test_tcp(self):
- spec = '304:h"Alternate-Protocol"="mitmproxy-will-remove-this"'
- n = self.pathod(spec)
+ n = self.pathod("304")
self._tcpproxy_on()
- i = self.pathod(spec)
- i2 = self.pathod(spec)
+ i = self.pathod("305")
+ i2 = self.pathod("306")
self._tcpproxy_off()
- assert i.status_code == i2.status_code == n.status_code == 304
- assert "Alternate-Protocol" in i.headers
- assert "Alternate-Protocol" in i2.headers
- assert "Alternate-Protocol" not in n.headers
+ assert n.status_code == 304
+ assert i.status_code == 305
+ assert i2.status_code == 306
+ assert any(f.response.status_code == 304 for f in self.master.state.flows)
+ assert not any(f.response.status_code == 305 for f in self.master.state.flows)
+ assert not any(f.response.status_code == 306 for f in self.master.state.flows)
# Test that we get the original SSL cert
if self.ssl:
@@ -182,7 +184,8 @@ class TcpMixin:
assert i_cert == i2_cert == n_cert
# Make sure that TCP messages are in the event log.
- assert any("mitmproxy-will-remove-this" in m for m in self.master.log)
+ assert any("305" in m for m in self.master.log)
+ assert any("306" in m for m in self.master.log)
class AppMixin:
@@ -886,23 +889,6 @@ class TestUpstreamProxySSL(
# request from chain[0] (regular proxy doesn't store CONNECTs)
assert self.chain[1].tmaster.state.flow_count() == 1
- def test_closing_connect_response(self):
- """
- https://github.com/mitmproxy/mitmproxy/issues/313
- """
-
- def handle_request(f):
- f.request.http_version = b"HTTP/1.1"
- del f.request.headers["Content-Length"]
- f.reply()
-
- _handle_request = self.chain[0].tmaster.handle_request
- self.chain[0].tmaster.handle_request = handle_request
- try:
- assert self.pathoc().request("get:/p/418").status_code == 418
- finally:
- self.chain[0].tmaster.handle_request = _handle_request
-
class TestProxyChainingSSLReconnect(tservers.HTTPUpstreamProxTest):
ssl = True