summaryrefslogtreecommitdiffstats
path: root/contrib/python/pytest-localserver/py2/tests/test_https.py
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/python/pytest-localserver/py2/tests/test_https.py')
-rw-r--r--contrib/python/pytest-localserver/py2/tests/test_https.py45
1 files changed, 45 insertions, 0 deletions
diff --git a/contrib/python/pytest-localserver/py2/tests/test_https.py b/contrib/python/pytest-localserver/py2/tests/test_https.py
new file mode 100644
index 00000000000..0fdc4a28727
--- /dev/null
+++ b/contrib/python/pytest-localserver/py2/tests/test_https.py
@@ -0,0 +1,45 @@
+import sys
+
+import pytest
+import requests
+
+from pytest_localserver import https, plugin
+
+
+# define test fixture here again in order to run tests without having to
+# install the plugin anew every single time
+httpsserver = plugin.httpsserver
+
+
+def test_httpsserver_funcarg(httpsserver):
+ assert isinstance(httpsserver, https.SecureContentServer)
+ assert httpsserver.is_alive()
+ assert httpsserver.server_address
+
+
+def test_server_does_not_serve_file_at_startup(httpsserver):
+ assert httpsserver.code == 204
+ assert httpsserver.content == ''
+
+
+def test_some_content_retrieval(httpsserver):
+ httpsserver.serve_content('TEST!')
+ resp = requests.get(httpsserver.url, verify=False)
+ assert resp.text == 'TEST!'
+ assert resp.status_code == 200
+
+
+def test_GET_request(httpsserver):
+ httpsserver.serve_content('TEST!', headers={'Content-type': 'text/plain'})
+ resp = requests.get(httpsserver.url, headers={'User-Agent': 'Test method'}, verify=False)
+ assert resp.text == 'TEST!'
+ assert resp.status_code == 200
+ assert 'text/plain' in resp.headers['Content-type']
+
+
+def test_HEAD_request(httpsserver):
+ httpsserver.serve_content('TEST!', headers={'Content-type': 'text/plain'})
+ print(httpsserver.url)
+ resp = requests.head(httpsserver.url, verify=False)
+ assert resp.status_code == 200
+ assert resp.headers['Content-type'] == 'text/plain'