From b7c77023e8bc3ef6fe1badc5cef589909d10f3af67e8ee560733e07b6f3e8c39 Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Sun, 30 Dec 2018 08:43:29 +0000 Subject: [PATCH] Accepting request 661969 from home:mnhauke - Add patch: * python-vcrpy-fix-tunnel-uri-generation.patch Needed for python-pyvmomi OBS-URL: https://build.opensuse.org/request/show/661969 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-vcrpy?expand=0&rev=12 --- python-vcrpy-fix-tunnel-uri-generation.patch | 75 ++++++++++++++++++++ python-vcrpy.changes | 7 ++ python-vcrpy.spec | 4 +- 3 files changed, 85 insertions(+), 1 deletion(-) create mode 100644 python-vcrpy-fix-tunnel-uri-generation.patch diff --git a/python-vcrpy-fix-tunnel-uri-generation.patch b/python-vcrpy-fix-tunnel-uri-generation.patch new file mode 100644 index 0000000..a362305 --- /dev/null +++ b/python-vcrpy-fix-tunnel-uri-generation.patch @@ -0,0 +1,75 @@ +From a4e60d4bb10f49ec212ec89e9a632dc42e4fd477 Mon Sep 17 00:00:00 2001 +From: "James E. King III" +Date: Sat, 22 Dec 2018 17:21:25 +0000 +Subject: [PATCH] properly handle tunnel connect uri generation broken in #389 + +--- + tests/unit/test_request.py | 25 ++++++++++++++++--------- + vcr/request.py | 5 ++++- + 2 files changed, 20 insertions(+), 10 deletions(-) + +diff --git a/tests/unit/test_request.py b/tests/unit/test_request.py +index dfd68d7..00793f8 100644 +--- a/tests/unit/test_request.py ++++ b/tests/unit/test_request.py +@@ -3,9 +3,13 @@ + from vcr.request import Request, HeadersDict + + +-def test_str(): +- req = Request('GET', 'http://www.google.com/', '', {}) +- str(req) == '' ++@pytest.mark.parametrize("method, uri, expected_str", [ ++ ('GET', 'http://www.google.com/', ''), ++ ('OPTIONS', '*', ''), ++ ('CONNECT', 'host.some.where:1234', '') ++]) ++def test_str(method, uri, expected_str): ++ assert str(Request(method, uri, '', {})) == expected_str + + + def test_headers(): +@@ -29,18 +33,21 @@ def test_add_header_deprecated(): + ('https://go.com/', 443), + ('https://go.com:443/', 443), + ('https://go.com:3000/', 3000), ++ ('*', None) + ]) + def test_port(uri, expected_port): + req = Request('GET', uri, '', {}) + assert req.port == expected_port + + +-def test_uri(): +- req = Request('GET', 'http://go.com/', '', {}) +- assert req.uri == 'http://go.com/' +- +- req = Request('GET', 'http://go.com:80/', '', {}) +- assert req.uri == 'http://go.com:80/' ++@pytest.mark.parametrize("method, uri", [ ++ ('GET', 'http://go.com/'), ++ ('GET', 'http://go.com:80/'), ++ ('CONNECT', 'localhost:1234'), ++ ('OPTIONS', '*') ++]) ++def test_uri(method, uri): ++ assert Request(method, uri, '', {}).uri == uri + + + def test_HeadersDict(): +diff --git a/vcr/request.py b/vcr/request.py +index e268053..dfd6d46 100644 +--- a/vcr/request.py ++++ b/vcr/request.py +@@ -58,7 +58,10 @@ def port(self): + parse_uri = urlparse(self.uri) + port = parse_uri.port + if port is None: +- port = {'https': 443, 'http': 80}[parse_uri.scheme] ++ try: ++ port = {'https': 443, 'http': 80}[parse_uri.scheme] ++ except KeyError: ++ pass + return port + + @property diff --git a/python-vcrpy.changes b/python-vcrpy.changes index a24976a..044b64f 100644 --- a/python-vcrpy.changes +++ b/python-vcrpy.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Sat Dec 29 15:56:43 UTC 2018 - mardnh@gmx.de + +- Add patch: + * python-vcrpy-fix-tunnel-uri-generation.patch + Needed for python-pyvmomi + ------------------------------------------------------------------- Wed Oct 24 15:24:59 UTC 2018 - Jan Engelhardt diff --git a/python-vcrpy.spec b/python-vcrpy.spec index cf15463..73519e9 100644 --- a/python-vcrpy.spec +++ b/python-vcrpy.spec @@ -13,7 +13,7 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# Please submit bugfixes or comments via http://bugs.opensuse.org/ # @@ -26,6 +26,7 @@ License: MIT Group: Development/Languages/Python URL: https://github.com/kevin1024/vcrpy Source: https://files.pythonhosted.org/packages/source/v/vcrpy/vcrpy-%{version}.tar.gz +Patch0: python-vcrpy-fix-tunnel-uri-generation.patch BuildRequires: %{python_module PyYAML} BuildRequires: %{python_module pytest-httpbin} BuildRequires: %{python_module pytest} @@ -58,6 +59,7 @@ This is a Python version of Ruby's VCR library. %prep %setup -q -n vcrpy-%{version} +%patch0 -p1 %build %python_build