123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- import requests
- from pytest_localserver import http, plugin
- # define test fixture here again in order to run tests without having to
- # install the plugin anew every single time
- httpserver = plugin.httpserver
- def test_httpserver_funcarg(httpserver):
- assert isinstance(httpserver, http.ContentServer)
- assert httpserver.is_alive()
- assert httpserver.server_address
- def test_server_does_not_serve_file_at_startup(httpserver):
- assert httpserver.code == 204
- assert httpserver.content == ''
- def test_some_content_retrieval(httpserver):
- httpserver.serve_content('TEST!')
- resp = requests.get(httpserver.url)
- assert resp.text == 'TEST!'
- assert resp.status_code == 200
- def test_request_is_stored(httpserver):
- httpserver.serve_content('TEST!')
- assert len(httpserver.requests) == 0
- resp = requests.get(httpserver.url)
- assert len(httpserver.requests) == 1
- def test_GET_request(httpserver):
- httpserver.serve_content('TEST!', headers={'Content-type': 'text/plain'})
- resp = requests.get(httpserver.url, headers={'User-Agent': 'Test method'})
- assert resp.text == 'TEST!'
- assert resp.status_code == 200
- assert 'text/plain' in resp.headers['Content-type']
- # FIXME get compression working!
- # def test_gzipped_GET_request(httpserver):
- # httpserver.serve_content('TEST!', headers={'Content-type': 'text/plain'})
- # httpserver.compress = 'gzip'
- # resp = requests.get(httpserver.url, headers={
- # 'User-Agent': 'Test method',
- # 'Accept-encoding': 'gzip'
- # })
- # assert resp.text == 'TEST!'
- # assert resp.status_code == 200
- # assert resp.content_encoding == 'gzip'
- # assert resp.headers['Content-type'] == 'text/plain'
- # assert resp.headers['content-encoding'] == 'gzip'
- def test_HEAD_request(httpserver):
- httpserver.serve_content('TEST!', headers={'Content-type': 'text/plain'})
- resp = requests.head(httpserver.url)
- assert resp.status_code == 200
- assert resp.headers['Content-type'] == 'text/plain'
- # def test_POST_request(httpserver):
- # headers = {'Content-type': 'application/x-www-form-urlencoded',
- # 'set-cookie': 'some _cookie_content'}
- #
- # httpserver.serve_content('TEST!', headers=headers)
- # resp = requests.post(httpserver.url, data={'data': 'value'}, headers=headers)
- # assert resp.text == 'TEST!'
- # assert resp.status_code == 200
- #
- # httpserver.serve_content('TEST!', headers=headers, show_post_vars=True)
- # resp = requests.post(httpserver.url, data={'data': 'value'}, headers=headers)
- # assert resp.json() == {'data': 'value'}
- # assert resp.status_code == 200
|