aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorThomas Kriechbaumer <thomas@kriechbaumer.name>2017-03-09 19:40:42 +0100
committerThomas Kriechbaumer <thomas@kriechbaumer.name>2017-03-10 11:37:25 +0100
commit45bf1ff64d0609a8550d901f731fc21502ad39e9 (patch)
treef7945dfe2edb152152efad1e51aada7a06eeadea /test
parent98b589385519eb6b27f8be89bb1ba45940d45245 (diff)
downloadmitmproxy-45bf1ff64d0609a8550d901f731fc21502ad39e9.tar.gz
mitmproxy-45bf1ff64d0609a8550d901f731fc21502ad39e9.tar.bz2
mitmproxy-45bf1ff64d0609a8550d901f731fc21502ad39e9.zip
disable h2c prior knowledge connections
Diffstat (limited to 'test')
-rw-r--r--test/mitmproxy/addons/test_disable_h2c.py39
-rw-r--r--test/mitmproxy/addons/test_disable_h2c_upgrade.py17
2 files changed, 39 insertions, 17 deletions
diff --git a/test/mitmproxy/addons/test_disable_h2c.py b/test/mitmproxy/addons/test_disable_h2c.py
new file mode 100644
index 00000000..d4df8390
--- /dev/null
+++ b/test/mitmproxy/addons/test_disable_h2c.py
@@ -0,0 +1,39 @@
+import io
+from mitmproxy import http
+from mitmproxy.addons import disable_h2c
+from mitmproxy.net.http import http1
+from mitmproxy.exceptions import Kill
+from mitmproxy.test import tflow
+from mitmproxy.test import taddons
+
+
+class TestDisableH2CleartextUpgrade:
+ def test_upgrade(self):
+ with taddons.context() as tctx:
+ a = disable_h2c.DisableH2C()
+ tctx.configure(a)
+
+ f = tflow.tflow()
+ f.request.headers['upgrade'] = 'h2c'
+ f.request.headers['connection'] = 'foo'
+ f.request.headers['http2-settings'] = 'bar'
+
+ a.request(f)
+ assert 'upgrade' not in f.request.headers
+ assert 'connection' not in f.request.headers
+ assert 'http2-settings' not in f.request.headers
+
+ def test_prior_knowledge(self):
+ with taddons.context() as tctx:
+ a = disable_h2c.DisableH2C()
+ tctx.configure(a)
+
+ b = io.BytesIO(b"PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n")
+ f = tflow.tflow()
+ f.request = http.HTTPRequest.wrap(http1.read_request(b))
+ f.reply.handle()
+ f.intercept()
+
+ a.request(f)
+ assert not f.killable
+ assert f.reply.value == Kill
diff --git a/test/mitmproxy/addons/test_disable_h2c_upgrade.py b/test/mitmproxy/addons/test_disable_h2c_upgrade.py
deleted file mode 100644
index 6cab713d..00000000
--- a/test/mitmproxy/addons/test_disable_h2c_upgrade.py
+++ /dev/null
@@ -1,17 +0,0 @@
-from mitmproxy.addons import disable_h2c_upgrade
-from mitmproxy.test import tflow
-
-
-class TestTermLog:
- def test_simple(self):
- a = disable_h2c_upgrade.DisableH2CleartextUpgrade()
-
- f = tflow.tflow()
- f.request.headers['upgrade'] = 'h2c'
- f.request.headers['connection'] = 'foo'
- f.request.headers['http2-settings'] = 'bar'
-
- a.request(f)
- assert 'upgrade' not in f.request.headers
- assert 'connection' not in f.request.headers
- assert 'http2-settings' not in f.request.headers