Accepting request 972290 from devel:languages:python

OBS-URL: https://build.opensuse.org/request/show/972290
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-httpbin?expand=0&rev=6
This commit is contained in:
Dominique Leuenberger 2022-04-23 17:45:22 +00:00 committed by Git OBS Bridge
commit cf790d4cf7
7 changed files with 63 additions and 52 deletions

View File

@ -1,7 +1,7 @@
<services>
<service name="tar_scm" mode="disabled">
<param name="filename">python-httpbin</param>
<param name="url">git://github.com/postmanlabs/httpbin.git</param>
<param name="url">https://github.com/postmanlabs/httpbin.git</param>
<param name="scm">git</param>
<param name="changesgenerate">enable</param>
<param name="versionformat">0.7.0+git%cd.%h</param>

View File

@ -8,7 +8,7 @@ Index: python-httpbin-0.7.0+git20181107.f8ec666/setup.py
install_requires=[
- 'Flask', 'MarkupSafe', 'decorator', 'itsdangerous', 'six', 'brotlipy',
- 'raven[flask]', 'werkzeug>=0.14.1', 'gevent', 'flasgger'
+ 'Flask', 'MarkupSafe', 'decorator', 'itsdangerous', 'six', 'brotli',
+ 'werkzeug>=0.14.1', 'gevent', 'flasgger'
+ 'Flask>=2.1', 'MarkupSafe', 'decorator', 'itsdangerous', 'six', 'brotli',
+ 'werkzeug>=2.0', 'gevent', 'flasgger'
],
)

View File

@ -0,0 +1,32 @@
From 5cc81ce87a3c447a127e4a1a707faf9f3b1c9b6b Mon Sep 17 00:00:00 2001
From: Maximino BOGADO <bogamax2@hotmail.fr>
Date: Wed, 30 Mar 2022 16:26:31 +0200
Subject: [PATCH] Replace BaseResponse to Response class (new werkzeug version
2.1.0)
---
httpbin/core.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/httpbin/core.py b/httpbin/core.py
index 305c9882..2bad408e 100644
--- a/httpbin/core.py
+++ b/httpbin/core.py
@@ -29,7 +29,7 @@
from six.moves import range as xrange
from werkzeug.datastructures import WWWAuthenticate, MultiDict
from werkzeug.http import http_date
-from werkzeug.wrappers import BaseResponse
+from werkzeug.wrappers import Response
from werkzeug.http import parse_authorization_header
from flasgger import Swagger, NO_SANITIZER
@@ -77,7 +77,7 @@ def jsonify(*args, **kwargs):
# Prevent WSGI from correcting the casing of the Location header
-BaseResponse.autocorrect_location_header = False
+Response.autocorrect_location_header = False
# Find the correct template folder when running from a different location
tmpl_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "templates")

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ab0787e72373f6f4f01fed6ee7521c75aa9c4dfc17a584a7770f286d5bedd256
size 97964
oid sha256:6ca690b5d5d0b1e75a947559663400492c48be4713502f9466da658d4270f638
size 98088

View File

@ -1,3 +1,18 @@
-------------------------------------------------------------------
Fri Apr 22 19:17:15 UTC 2022 - Ben Greiner <code@bnavigator.de>
- add httpbin-pr674-wekzeug2.1.patch for Werkzeug 2.1 compatibility
gh#postmanlabs/httpbin#674
-------------------------------------------------------------------
Tue Apr 12 20:36:37 UTC 2022 - Ben Greiner <code@bnavigator.de>
- Truncate werkzeug.patch as Flask changed their behavior back to
returning relative URLs.
- Update fix-setup-py.patch accordingly
- Update _service file (rerun modifies the archive, but keeps same
tag)
-------------------------------------------------------------------
Tue Mar 15 04:57:06 UTC 2022 - Steve Kowalik <steven.kowalik@suse.com>

View File

@ -17,6 +17,8 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
# The PyPI version is 0.7.0 but the metadata reads an internal file with version 0.9.2
%define internalversion 0.9.2
Name: python-httpbin
Version: 0.7.0+git20181107.f8ec666
Release: 0
@ -25,12 +27,14 @@ License: MIT
Group: Development/Languages/Python
URL: https://github.com/Runscope/httpbin
Source: python-httpbin-%{version}.tar.xz
# https://github.com/postmanlabs/httpbin/pull/555
# PATCH-FIX-UPSTREAM werkzeug.patch -- gh#postmanlabs/httpbin#555
Patch0: werkzeug.patch
# Based on https://github.com/postmanlabs/httpbin/pull/553
# PATCH-FIX-UPSTREAM fix-setup-py.patch -- gh#postmanlabs/httpbin#553
Patch1: fix-setup-py.patch
# PATCH-FIX-UPSTREAM httpbin-pr674-wekzeug2.1.patch -- gh#postmanlabs/httpbin#674
Patch2: httpbin-pr674-wekzeug2.1.patch
BuildRequires: %{python_module Brotli}
BuildRequires: %{python_module Flask}
BuildRequires: %{python_module Flask >= 2.1}
BuildRequires: %{python_module MarkupSafe}
BuildRequires: %{python_module Werkzeug >= 2.0}
BuildRequires: %{python_module blinker}
@ -43,7 +47,7 @@ BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-Brotli
Requires: python-Flask
Requires: python-Flask >= 2.1
Requires: python-MarkupSafe
Requires: python-Werkzeug >= 2.0
Requires: python-blinker
@ -67,6 +71,7 @@ All endpoint responses are JSON-encoded.
%prep
%autosetup -p1
chmod -x httpbin/templates/forms-post.html
%build
export LANG=en_US.UTF-8
@ -83,6 +88,7 @@ export LANG=en_US.UTF-8
%files %{python_files}
%doc README.md
%license LICENSE
%{python_sitelib}/*
%{python_sitelib}/httpbin
%{python_sitelib}/httpbin-%{internalversion}*-info
%changelog

View File

@ -32,45 +32,3 @@ Index: python-httpbin-0.7.0+git20181107.f8ec666/test_httpbin.py
self.assertEqual(data['url'], 'http://localhost/anything/foo/bar')
self.assertEqual(data['method'], 'GET')
self.assertTrue(response.data.endswith(b'\n'))
@@ -586,7 +584,7 @@ class HttpbinTestCase(unittest.TestCase)
def test_redirect_n_higher_than_1(self):
response = self.app.get('/redirect/5')
self.assertEqual(
- response.headers.get('Location'), '/relative-redirect/4'
+ response.headers.get('Location'), 'http://localhost/relative-redirect/4'
)
def test_redirect_to_post(self):
@@ -595,7 +593,7 @@ class HttpbinTestCase(unittest.TestCase)
content_type='application/octet-stream')
self.assertEqual(response.status_code, 307)
self.assertEqual(
- response.headers.get('Location'), '/post'
+ response.headers.get('Location'), 'http://localhost/post'
)
def test_redirect_absolute_param_n_higher_than_1(self):
@@ -608,20 +606,20 @@ class HttpbinTestCase(unittest.TestCase)
response = self.app.get('/redirect/1')
self.assertEqual(response.status_code, 302)
self.assertEqual(
- response.headers.get('Location'), '/get'
+ response.headers.get('Location'), 'http://localhost/get'
)
def test_relative_redirect_n_equals_to_1(self):
response = self.app.get('/relative-redirect/1')
self.assertEqual(
- response.headers.get('Location'), '/get'
+ response.headers.get('Location'), 'http://localhost/get'
)
def test_relative_redirect_n_higher_than_1(self):
response = self.app.get('/relative-redirect/7')
self.assertEqual(response.status_code, 302)
self.assertEqual(
- response.headers.get('Location'), '/relative-redirect/6'
+ response.headers.get('Location'), 'http://localhost/relative-redirect/6'
)
def test_absolute_redirect_n_higher_than_1(self):