summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-tornado-httpclient-mock.spec226
-rw-r--r--sources1
3 files changed, 228 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..4accdae 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/tornado-httpclient-mock-0.2.3.tar.gz
diff --git a/python-tornado-httpclient-mock.spec b/python-tornado-httpclient-mock.spec
new file mode 100644
index 0000000..2d225ff
--- /dev/null
+++ b/python-tornado-httpclient-mock.spec
@@ -0,0 +1,226 @@
+%global _empty_manifest_terminate_build 0
+Name: python-tornado-httpclient-mock
+Version: 0.2.3
+Release: 1
+Summary: A library for mocking requests in Tornado HTTP client
+License: http://www.apache.org/licenses/LICENSE-2.0
+URL: https://github.com/SuminAndrew/tornado-httpclient-mock
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/2b/70/884e2d3565874c8e075dd763258481379173f9bccf90967af6f14e7d66e6/tornado-httpclient-mock-0.2.3.tar.gz
+BuildArch: noarch
+
+Requires: python3-tornado
+
+%description
+## tornado-httpclient-mock
+A library for mocking requests in Tornado HTTP client
+
+[![Build Status](https://travis-ci.org/SuminAndrew/tornado-httpclient-mock.svg?branch=master)](https://travis-ci.org/SuminAndrew/tornado-httpclient-mock)
+[![codecov](https://codecov.io/gh/SuminAndrew/tornado-httpclient-mock/branch/master/graph/badge.svg)](https://codecov.io/gh/SuminAndrew/tornado-httpclient-mock)
+
+This library can be used to patch `AsyncHTTPClient.fetch_impl` method to stub requests to external resources.
+
+`tornado_mock.httpclient.patch_http_client` does this patching on `AsyncHTTPClient` instance.
+After that you can use `tornado_mock.httpclient.set_stub` method to setup an appropriate responses to the requests.
+
+```python
+from tornado import gen
+from tornado.httpclient import AsyncHTTPClient
+from tornado.testing import AsyncHTTPTestCase
+from tornado.web import Application, RequestHandler
+
+from tornado_mock.httpclient import get_response_stub, patch_http_client, set_stub
+
+
+class TestHandler(RequestHandler):
+ @gen.coroutine
+ def get(self, *args, **kwargs):
+ response1 = yield self.application.http_client.fetch('http://example.com/path?query')
+ self.write(response1.body)
+
+ response2 = yield self.application.http_client.fetch('http://test.com/path')
+ self.finish(response2.body)
+
+
+class HTTPClientMockTest(AsyncHTTPTestCase):
+ def get_app(self):
+ app = Application([('/test', TestHandler)])
+ self.app_http_client = app.http_client = AsyncHTTPClient(force_instance=True)
+ return app
+
+ def test_mock(self):
+ patch_http_client(self.app_http_client)
+
+ def get_response(request):
+ return get_response_stub(request, buffer='STUB2')
+
+ set_stub(self.app_http_client, 'http://example.com/path', response_body='STUB1')
+ set_stub(self.app_http_client, 'http://test.com/path', response_function=get_response)
+
+ self.assertEqual(self.fetch('/test').body, b'STUB1STUB2')
+```
+
+For more information see docstrings in [httpclient.py](tornado_mock/httpclient.py).
+
+
+
+
+%package -n python3-tornado-httpclient-mock
+Summary: A library for mocking requests in Tornado HTTP client
+Provides: python-tornado-httpclient-mock
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-tornado-httpclient-mock
+## tornado-httpclient-mock
+A library for mocking requests in Tornado HTTP client
+
+[![Build Status](https://travis-ci.org/SuminAndrew/tornado-httpclient-mock.svg?branch=master)](https://travis-ci.org/SuminAndrew/tornado-httpclient-mock)
+[![codecov](https://codecov.io/gh/SuminAndrew/tornado-httpclient-mock/branch/master/graph/badge.svg)](https://codecov.io/gh/SuminAndrew/tornado-httpclient-mock)
+
+This library can be used to patch `AsyncHTTPClient.fetch_impl` method to stub requests to external resources.
+
+`tornado_mock.httpclient.patch_http_client` does this patching on `AsyncHTTPClient` instance.
+After that you can use `tornado_mock.httpclient.set_stub` method to setup an appropriate responses to the requests.
+
+```python
+from tornado import gen
+from tornado.httpclient import AsyncHTTPClient
+from tornado.testing import AsyncHTTPTestCase
+from tornado.web import Application, RequestHandler
+
+from tornado_mock.httpclient import get_response_stub, patch_http_client, set_stub
+
+
+class TestHandler(RequestHandler):
+ @gen.coroutine
+ def get(self, *args, **kwargs):
+ response1 = yield self.application.http_client.fetch('http://example.com/path?query')
+ self.write(response1.body)
+
+ response2 = yield self.application.http_client.fetch('http://test.com/path')
+ self.finish(response2.body)
+
+
+class HTTPClientMockTest(AsyncHTTPTestCase):
+ def get_app(self):
+ app = Application([('/test', TestHandler)])
+ self.app_http_client = app.http_client = AsyncHTTPClient(force_instance=True)
+ return app
+
+ def test_mock(self):
+ patch_http_client(self.app_http_client)
+
+ def get_response(request):
+ return get_response_stub(request, buffer='STUB2')
+
+ set_stub(self.app_http_client, 'http://example.com/path', response_body='STUB1')
+ set_stub(self.app_http_client, 'http://test.com/path', response_function=get_response)
+
+ self.assertEqual(self.fetch('/test').body, b'STUB1STUB2')
+```
+
+For more information see docstrings in [httpclient.py](tornado_mock/httpclient.py).
+
+
+
+
+%package help
+Summary: Development documents and examples for tornado-httpclient-mock
+Provides: python3-tornado-httpclient-mock-doc
+%description help
+## tornado-httpclient-mock
+A library for mocking requests in Tornado HTTP client
+
+[![Build Status](https://travis-ci.org/SuminAndrew/tornado-httpclient-mock.svg?branch=master)](https://travis-ci.org/SuminAndrew/tornado-httpclient-mock)
+[![codecov](https://codecov.io/gh/SuminAndrew/tornado-httpclient-mock/branch/master/graph/badge.svg)](https://codecov.io/gh/SuminAndrew/tornado-httpclient-mock)
+
+This library can be used to patch `AsyncHTTPClient.fetch_impl` method to stub requests to external resources.
+
+`tornado_mock.httpclient.patch_http_client` does this patching on `AsyncHTTPClient` instance.
+After that you can use `tornado_mock.httpclient.set_stub` method to setup an appropriate responses to the requests.
+
+```python
+from tornado import gen
+from tornado.httpclient import AsyncHTTPClient
+from tornado.testing import AsyncHTTPTestCase
+from tornado.web import Application, RequestHandler
+
+from tornado_mock.httpclient import get_response_stub, patch_http_client, set_stub
+
+
+class TestHandler(RequestHandler):
+ @gen.coroutine
+ def get(self, *args, **kwargs):
+ response1 = yield self.application.http_client.fetch('http://example.com/path?query')
+ self.write(response1.body)
+
+ response2 = yield self.application.http_client.fetch('http://test.com/path')
+ self.finish(response2.body)
+
+
+class HTTPClientMockTest(AsyncHTTPTestCase):
+ def get_app(self):
+ app = Application([('/test', TestHandler)])
+ self.app_http_client = app.http_client = AsyncHTTPClient(force_instance=True)
+ return app
+
+ def test_mock(self):
+ patch_http_client(self.app_http_client)
+
+ def get_response(request):
+ return get_response_stub(request, buffer='STUB2')
+
+ set_stub(self.app_http_client, 'http://example.com/path', response_body='STUB1')
+ set_stub(self.app_http_client, 'http://test.com/path', response_function=get_response)
+
+ self.assertEqual(self.fetch('/test').body, b'STUB1STUB2')
+```
+
+For more information see docstrings in [httpclient.py](tornado_mock/httpclient.py).
+
+
+
+
+%prep
+%autosetup -n tornado-httpclient-mock-0.2.3
+
+%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-tornado-httpclient-mock -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 0.2.3-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..edcb5df
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+04128a0960b8445f1ea02fe87c27fbfc tornado-httpclient-mock-0.2.3.tar.gz