summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-04-10 20:46:59 +0000
committerCoprDistGit <infra@openeuler.org>2023-04-10 20:46:59 +0000
commita6f8680c9f30ddf0fc702609c3662b52353cdc1b (patch)
tree3871f8082d04f62f9e1f198410eebfc0c2107c91
parentd6adba41698ad7339f0f4f26d22137caa4593ccb (diff)
automatic import of python-pytest-httpserver
-rw-r--r--.gitignore1
-rw-r--r--python-pytest-httpserver.spec454
-rw-r--r--sources1
3 files changed, 456 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..e47bd8c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/pytest_httpserver-1.0.6.tar.gz
diff --git a/python-pytest-httpserver.spec b/python-pytest-httpserver.spec
new file mode 100644
index 0000000..8dc2396
--- /dev/null
+++ b/python-pytest-httpserver.spec
@@ -0,0 +1,454 @@
+%global _empty_manifest_terminate_build 0
+Name: python-pytest-httpserver
+Version: 1.0.6
+Release: 1
+Summary: pytest-httpserver is a httpserver for pytest
+License: MIT
+URL: https://github.com/csernazs/pytest-httpserver
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/27/7b/3f5bdca6a6732fd02f5bd61ed6a7971c76db422ed2a93b61111bfa1dac43/pytest_httpserver-1.0.6.tar.gz
+BuildArch: noarch
+
+Requires: python3-Werkzeug
+
+%description
+[![Build Status](https://github.com/csernazs/pytest-httpserver/workflows/build/badge.svg?branch=master)](https://github.com/csernazs/pytest-httpserver/actions?query=workflow%3Abuild+branch%3Amaster)
+[![Documentation Status](https://readthedocs.org/projects/pytest-httpserver/badge/?version=latest)](https://pytest-httpserver.readthedocs.io/en/latest/?badge=latest)
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
+[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=K6PU3AGBZW4QC&item_name=pytest-httpserver&currency_code=EUR&source=url)
+[![codecov](https://codecov.io/gh/csernazs/pytest-httpserver/branch/master/graph/badge.svg?token=MX2JXbHqRH)](https://codecov.io/gh/csernazs/pytest-httpserver)
+[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
+
+## pytest_httpserver
+
+HTTP server for pytest
+
+
+### Nutshell
+
+This library is designed to help to test http clients without contacting the real http server.
+In other words, it is a fake http server which is accessible via localhost can be started with
+the pre-defined expected http requests and their responses.
+
+### Example
+
+#### Handling a simple GET request
+```python
+def test_my_client(
+ httpserver,
+): # httpserver is a pytest fixture which starts the server
+ # set up the server to serve /foobar with the json
+ httpserver.expect_request("/foobar").respond_with_json({"foo": "bar"})
+ # check that the request is served
+ assert requests.get(httpserver.url_for("/foobar")).json() == {"foo": "bar"}
+```
+
+#### Handing a POST request with an expected json body
+```python
+def test_json_request(
+ httpserver,
+): # httpserver is a pytest fixture which starts the server
+ # set up the server to serve /foobar with the json
+ httpserver.expect_request(
+ "/foobar", method="POST", json={"id": 12, "name": "foo"}
+ ).respond_with_json({"foo": "bar"})
+ # check that the request is served
+ assert requests.post(
+ httpserver.url_for("/foobar"), json={"id": 12, "name": "foo"}
+ ).json() == {"foo": "bar"}
+```
+
+
+You can also use the library without pytest. There's a with statement to ensure that the server is stopped.
+
+
+```python
+with HTTPServer() as httpserver:
+ # set up the server to serve /foobar with the json
+ httpserver.expect_request("/foobar").respond_with_json({"foo": "bar"})
+ # check that the request is served
+ print(requests.get(httpserver.url_for("/foobar")).json())
+```
+
+### Documentation
+
+Please find the API documentation at https://pytest-httpserver.readthedocs.io/en/latest/.
+
+### Features
+
+You can set up a dozen of expectations for the requests, and also what response should be sent by the server to the client.
+
+
+#### Requests
+
+There are three different types:
+
+- **permanent**: this will be always served when there's match for this request, you can make as many HTTP requests as you want
+- **oneshot**: this will be served only once when there's a match for this request, you can only make 1 HTTP request
+- **ordered**: same as oneshot but the order must be strictly matched to the order of setting up
+
+You can also fine-tune the expected request. The following can be specified:
+
+- URI (this is a must)
+- HTTP method
+- headers
+- query string
+- data (HTTP body of the request)
+- JSON (HTTP body loaded as JSON)
+
+
+#### Responses
+
+Once you have the expectations for the request set up, you should also define the response you want to send back.
+The following is supported currently:
+
+- respond arbitrary data (string or bytearray)
+- respond a json (a python dict converted in-place to json)
+- respond a Response object of werkzeug
+- use your own function
+
+Similar to requests, you can fine-tune what response you want to send:
+
+- HTTP status
+- headers
+- data
+
+
+#### Behave support
+
+Using the `BlockingHTTPServer` class, the assertion for a request and the
+response can be performed in real order. For more info, see the
+[test](tests/test_blocking_httpserver.py), the
+[howto](https://pytest-httpserver.readthedocs.io/en/latest/howto.html#running-httpserver-in-blocking-mode)
+and the [API
+documentation](https://pytest-httpserver.readthedocs.io/en/latest/api.html#blockinghttpserver).
+
+
+### Missing features
+* HTTP/2
+* Keepalive
+* ~~TLS~~
+
+### Donation
+
+If you want to donate to this project, you can find the donate button at the top
+of the README.
+
+Currently, this project is based heavily on werkzeug. Werkzeug does all the heavy lifting
+behind the scenes, parsing HTTP request and defining Request and Response objects, which
+are currently transparent in the API.
+
+If you wish to donate, please consider donating to them: https://palletsprojects.com/donate
+
+
+%package -n python3-pytest-httpserver
+Summary: pytest-httpserver is a httpserver for pytest
+Provides: python-pytest-httpserver
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-pytest-httpserver
+[![Build Status](https://github.com/csernazs/pytest-httpserver/workflows/build/badge.svg?branch=master)](https://github.com/csernazs/pytest-httpserver/actions?query=workflow%3Abuild+branch%3Amaster)
+[![Documentation Status](https://readthedocs.org/projects/pytest-httpserver/badge/?version=latest)](https://pytest-httpserver.readthedocs.io/en/latest/?badge=latest)
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
+[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=K6PU3AGBZW4QC&item_name=pytest-httpserver&currency_code=EUR&source=url)
+[![codecov](https://codecov.io/gh/csernazs/pytest-httpserver/branch/master/graph/badge.svg?token=MX2JXbHqRH)](https://codecov.io/gh/csernazs/pytest-httpserver)
+[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
+
+## pytest_httpserver
+
+HTTP server for pytest
+
+
+### Nutshell
+
+This library is designed to help to test http clients without contacting the real http server.
+In other words, it is a fake http server which is accessible via localhost can be started with
+the pre-defined expected http requests and their responses.
+
+### Example
+
+#### Handling a simple GET request
+```python
+def test_my_client(
+ httpserver,
+): # httpserver is a pytest fixture which starts the server
+ # set up the server to serve /foobar with the json
+ httpserver.expect_request("/foobar").respond_with_json({"foo": "bar"})
+ # check that the request is served
+ assert requests.get(httpserver.url_for("/foobar")).json() == {"foo": "bar"}
+```
+
+#### Handing a POST request with an expected json body
+```python
+def test_json_request(
+ httpserver,
+): # httpserver is a pytest fixture which starts the server
+ # set up the server to serve /foobar with the json
+ httpserver.expect_request(
+ "/foobar", method="POST", json={"id": 12, "name": "foo"}
+ ).respond_with_json({"foo": "bar"})
+ # check that the request is served
+ assert requests.post(
+ httpserver.url_for("/foobar"), json={"id": 12, "name": "foo"}
+ ).json() == {"foo": "bar"}
+```
+
+
+You can also use the library without pytest. There's a with statement to ensure that the server is stopped.
+
+
+```python
+with HTTPServer() as httpserver:
+ # set up the server to serve /foobar with the json
+ httpserver.expect_request("/foobar").respond_with_json({"foo": "bar"})
+ # check that the request is served
+ print(requests.get(httpserver.url_for("/foobar")).json())
+```
+
+### Documentation
+
+Please find the API documentation at https://pytest-httpserver.readthedocs.io/en/latest/.
+
+### Features
+
+You can set up a dozen of expectations for the requests, and also what response should be sent by the server to the client.
+
+
+#### Requests
+
+There are three different types:
+
+- **permanent**: this will be always served when there's match for this request, you can make as many HTTP requests as you want
+- **oneshot**: this will be served only once when there's a match for this request, you can only make 1 HTTP request
+- **ordered**: same as oneshot but the order must be strictly matched to the order of setting up
+
+You can also fine-tune the expected request. The following can be specified:
+
+- URI (this is a must)
+- HTTP method
+- headers
+- query string
+- data (HTTP body of the request)
+- JSON (HTTP body loaded as JSON)
+
+
+#### Responses
+
+Once you have the expectations for the request set up, you should also define the response you want to send back.
+The following is supported currently:
+
+- respond arbitrary data (string or bytearray)
+- respond a json (a python dict converted in-place to json)
+- respond a Response object of werkzeug
+- use your own function
+
+Similar to requests, you can fine-tune what response you want to send:
+
+- HTTP status
+- headers
+- data
+
+
+#### Behave support
+
+Using the `BlockingHTTPServer` class, the assertion for a request and the
+response can be performed in real order. For more info, see the
+[test](tests/test_blocking_httpserver.py), the
+[howto](https://pytest-httpserver.readthedocs.io/en/latest/howto.html#running-httpserver-in-blocking-mode)
+and the [API
+documentation](https://pytest-httpserver.readthedocs.io/en/latest/api.html#blockinghttpserver).
+
+
+### Missing features
+* HTTP/2
+* Keepalive
+* ~~TLS~~
+
+### Donation
+
+If you want to donate to this project, you can find the donate button at the top
+of the README.
+
+Currently, this project is based heavily on werkzeug. Werkzeug does all the heavy lifting
+behind the scenes, parsing HTTP request and defining Request and Response objects, which
+are currently transparent in the API.
+
+If you wish to donate, please consider donating to them: https://palletsprojects.com/donate
+
+
+%package help
+Summary: Development documents and examples for pytest-httpserver
+Provides: python3-pytest-httpserver-doc
+%description help
+[![Build Status](https://github.com/csernazs/pytest-httpserver/workflows/build/badge.svg?branch=master)](https://github.com/csernazs/pytest-httpserver/actions?query=workflow%3Abuild+branch%3Amaster)
+[![Documentation Status](https://readthedocs.org/projects/pytest-httpserver/badge/?version=latest)](https://pytest-httpserver.readthedocs.io/en/latest/?badge=latest)
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
+[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=K6PU3AGBZW4QC&item_name=pytest-httpserver&currency_code=EUR&source=url)
+[![codecov](https://codecov.io/gh/csernazs/pytest-httpserver/branch/master/graph/badge.svg?token=MX2JXbHqRH)](https://codecov.io/gh/csernazs/pytest-httpserver)
+[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
+
+## pytest_httpserver
+
+HTTP server for pytest
+
+
+### Nutshell
+
+This library is designed to help to test http clients without contacting the real http server.
+In other words, it is a fake http server which is accessible via localhost can be started with
+the pre-defined expected http requests and their responses.
+
+### Example
+
+#### Handling a simple GET request
+```python
+def test_my_client(
+ httpserver,
+): # httpserver is a pytest fixture which starts the server
+ # set up the server to serve /foobar with the json
+ httpserver.expect_request("/foobar").respond_with_json({"foo": "bar"})
+ # check that the request is served
+ assert requests.get(httpserver.url_for("/foobar")).json() == {"foo": "bar"}
+```
+
+#### Handing a POST request with an expected json body
+```python
+def test_json_request(
+ httpserver,
+): # httpserver is a pytest fixture which starts the server
+ # set up the server to serve /foobar with the json
+ httpserver.expect_request(
+ "/foobar", method="POST", json={"id": 12, "name": "foo"}
+ ).respond_with_json({"foo": "bar"})
+ # check that the request is served
+ assert requests.post(
+ httpserver.url_for("/foobar"), json={"id": 12, "name": "foo"}
+ ).json() == {"foo": "bar"}
+```
+
+
+You can also use the library without pytest. There's a with statement to ensure that the server is stopped.
+
+
+```python
+with HTTPServer() as httpserver:
+ # set up the server to serve /foobar with the json
+ httpserver.expect_request("/foobar").respond_with_json({"foo": "bar"})
+ # check that the request is served
+ print(requests.get(httpserver.url_for("/foobar")).json())
+```
+
+### Documentation
+
+Please find the API documentation at https://pytest-httpserver.readthedocs.io/en/latest/.
+
+### Features
+
+You can set up a dozen of expectations for the requests, and also what response should be sent by the server to the client.
+
+
+#### Requests
+
+There are three different types:
+
+- **permanent**: this will be always served when there's match for this request, you can make as many HTTP requests as you want
+- **oneshot**: this will be served only once when there's a match for this request, you can only make 1 HTTP request
+- **ordered**: same as oneshot but the order must be strictly matched to the order of setting up
+
+You can also fine-tune the expected request. The following can be specified:
+
+- URI (this is a must)
+- HTTP method
+- headers
+- query string
+- data (HTTP body of the request)
+- JSON (HTTP body loaded as JSON)
+
+
+#### Responses
+
+Once you have the expectations for the request set up, you should also define the response you want to send back.
+The following is supported currently:
+
+- respond arbitrary data (string or bytearray)
+- respond a json (a python dict converted in-place to json)
+- respond a Response object of werkzeug
+- use your own function
+
+Similar to requests, you can fine-tune what response you want to send:
+
+- HTTP status
+- headers
+- data
+
+
+#### Behave support
+
+Using the `BlockingHTTPServer` class, the assertion for a request and the
+response can be performed in real order. For more info, see the
+[test](tests/test_blocking_httpserver.py), the
+[howto](https://pytest-httpserver.readthedocs.io/en/latest/howto.html#running-httpserver-in-blocking-mode)
+and the [API
+documentation](https://pytest-httpserver.readthedocs.io/en/latest/api.html#blockinghttpserver).
+
+
+### Missing features
+* HTTP/2
+* Keepalive
+* ~~TLS~~
+
+### Donation
+
+If you want to donate to this project, you can find the donate button at the top
+of the README.
+
+Currently, this project is based heavily on werkzeug. Werkzeug does all the heavy lifting
+behind the scenes, parsing HTTP request and defining Request and Response objects, which
+are currently transparent in the API.
+
+If you wish to donate, please consider donating to them: https://palletsprojects.com/donate
+
+
+%prep
+%autosetup -n pytest-httpserver-1.0.6
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-pytest-httpserver -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 1.0.6-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..b7c2abb
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+8d68790bf99e223fde4f6cdd3815dcb4 pytest_httpserver-1.0.6.tar.gz