forked from pool/python-w3lib
Accepting request 880134 from devel:languages:python
- Add 166-add-xfail-test_add_or_replace_parameter_fail.patch, which makes tests working with CVE-2021-23336 (bsc#1181270). OBS-URL: https://build.opensuse.org/request/show/880134 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-w3lib?expand=0&rev=7
This commit is contained in:
80
166-add-xfail-test_add_or_replace_parameter_fail.patch
Normal file
80
166-add-xfail-test_add_or_replace_parameter_fail.patch
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
From 34c62eb265cdb75b748d8aca43a2f8b9581dbd6a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Eugenio Lacuesta <eugenio.lacuesta@gmail.com>
|
||||||
|
Date: Wed, 10 Mar 2021 12:20:24 -0300
|
||||||
|
Subject: [PATCH 1/8] [CI] Run tests on GitHub actions
|
||||||
|
|
||||||
|
---
|
||||||
|
tests/test_url.py | 24 ++++++++++++++----------
|
||||||
|
1 file changed, 14 insertions(+), 10 deletions(-)
|
||||||
|
delete mode 100644 .github/workflows/build.yml
|
||||||
|
create mode 100644 .github/workflows/tests.yml
|
||||||
|
|
||||||
|
--- a/tests/test_url.py
|
||||||
|
+++ b/tests/test_url.py
|
||||||
|
@@ -2,11 +2,14 @@
|
||||||
|
from __future__ import absolute_import
|
||||||
|
import os
|
||||||
|
import unittest
|
||||||
|
+
|
||||||
|
+import pytest
|
||||||
|
+from six.moves.urllib.parse import urlparse
|
||||||
|
+
|
||||||
|
from w3lib.url import (is_url, safe_url_string, safe_download_url,
|
||||||
|
url_query_parameter, add_or_replace_parameter, url_query_cleaner,
|
||||||
|
file_uri_to_path, parse_data_uri, path_to_file_uri, any_to_uri,
|
||||||
|
urljoin_rfc, canonicalize_url, parse_url, add_or_replace_parameters)
|
||||||
|
-from six.moves.urllib.parse import urlparse
|
||||||
|
|
||||||
|
|
||||||
|
class UrlTests(unittest.TestCase):
|
||||||
|
@@ -76,17 +79,16 @@ class UrlTests(unittest.TestCase):
|
||||||
|
def test_safe_url_string_unsafe_chars(self):
|
||||||
|
safeurl = safe_url_string(r"http://localhost:8001/unwise{,},|,\,^,[,],`?|=[]&[]=|")
|
||||||
|
self.assertEqual(safeurl, r"http://localhost:8001/unwise%7B,%7D,|,%5C,%5E,[,],%60?|=[]&[]=|")
|
||||||
|
-
|
||||||
|
+
|
||||||
|
def test_safe_url_string_quote_path(self):
|
||||||
|
safeurl = safe_url_string(u'http://google.com/"hello"', quote_path=True)
|
||||||
|
self.assertEqual(safeurl, u'http://google.com/%22hello%22')
|
||||||
|
-
|
||||||
|
+
|
||||||
|
safeurl = safe_url_string(u'http://google.com/"hello"', quote_path=False)
|
||||||
|
self.assertEqual(safeurl, u'http://google.com/"hello"')
|
||||||
|
-
|
||||||
|
+
|
||||||
|
safeurl = safe_url_string(u'http://google.com/"hello"')
|
||||||
|
self.assertEqual(safeurl, u'http://google.com/%22hello%22')
|
||||||
|
-
|
||||||
|
|
||||||
|
def test_safe_url_string_with_query(self):
|
||||||
|
safeurl = safe_url_string(u"http://www.example.com/£?unit=µ")
|
||||||
|
@@ -299,10 +301,6 @@ class UrlTests(unittest.TestCase):
|
||||||
|
self.assertEqual(add_or_replace_parameter(url, 'arg3', 'nv3'),
|
||||||
|
'http://domain/test?arg1=v1&arg2=v2&arg3=nv3')
|
||||||
|
|
||||||
|
- url = 'http://domain/test?arg1=v1;arg2=v2'
|
||||||
|
- self.assertEqual(add_or_replace_parameter(url, 'arg1', 'v3'),
|
||||||
|
- 'http://domain/test?arg1=v3&arg2=v2')
|
||||||
|
-
|
||||||
|
self.assertEqual(add_or_replace_parameter("http://domain/moreInfo.asp?prodID=", 'prodID', '20'),
|
||||||
|
'http://domain/moreInfo.asp?prodID=20')
|
||||||
|
url = 'http://rmc-offers.co.uk/productlist.asp?BCat=2%2C60&CatID=60'
|
||||||
|
@@ -327,6 +325,13 @@ class UrlTests(unittest.TestCase):
|
||||||
|
self.assertEqual(add_or_replace_parameter(url, 'arg1', 'v3'),
|
||||||
|
'http://domain/test?arg1=v3&arg2=v2')
|
||||||
|
|
||||||
|
+ @pytest.mark.xfail(reason="https://github.com/scrapy/w3lib/issues/164")
|
||||||
|
+ def test_add_or_replace_parameter_fail(self):
|
||||||
|
+ self.assertEqual(
|
||||||
|
+ add_or_replace_parameter('http://domain/test?arg1=v1;arg2=v2', 'arg1', 'v3'),
|
||||||
|
+ 'http://domain/test?arg1=v3&arg2=v2'
|
||||||
|
+ )
|
||||||
|
+
|
||||||
|
def test_add_or_replace_parameters(self):
|
||||||
|
url = 'http://domain/test'
|
||||||
|
self.assertEqual(add_or_replace_parameters(url, {'arg': 'v'}),
|
||||||
|
@@ -741,4 +746,3 @@ class DataURITests(unittest.TestCase):
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
unittest.main()
|
||||||
|
-
|
||||||
@@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Mar 19 14:28:28 UTC 2021 - Matej Cepl <mcepl@suse.com>
|
||||||
|
|
||||||
|
- Add 166-add-xfail-test_add_or_replace_parameter_fail.patch,
|
||||||
|
which makes tests working with CVE-2021-23336 (bsc#1181270).
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Jul 22 11:05:23 UTC 2020 - Marketa Calabkova <mcalabkova@suse.com>
|
Wed Jul 22 11:05:23 UTC 2020 - Marketa Calabkova <mcalabkova@suse.com>
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package python-w3lib
|
# spec file for package python-w3lib
|
||||||
#
|
#
|
||||||
# Copyright (c) 2020 SUSE LLC
|
# Copyright (c) 2021 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -25,6 +25,10 @@ License: BSD-3-Clause
|
|||||||
Group: Development/Languages/Python
|
Group: Development/Languages/Python
|
||||||
URL: https://github.com/scrapy/w3lib
|
URL: https://github.com/scrapy/w3lib
|
||||||
Source: https://files.pythonhosted.org/packages/source/w/w3lib/w3lib-%{version}.tar.gz
|
Source: https://files.pythonhosted.org/packages/source/w/w3lib/w3lib-%{version}.tar.gz
|
||||||
|
# PATCH-FIX-UPSTREAM 166-add-xfail-test_add_or_replace_parameter_fail.patch mcepl@suse.com
|
||||||
|
# Allow working with Python fixed CVE-2021-23336
|
||||||
|
Patch0: 166-add-xfail-test_add_or_replace_parameter_fail.patch
|
||||||
|
BuildRequires: %{python_module pytest}
|
||||||
BuildRequires: %{python_module setuptools}
|
BuildRequires: %{python_module setuptools}
|
||||||
BuildRequires: %{python_module six >= 1.4.1}
|
BuildRequires: %{python_module six >= 1.4.1}
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
@@ -56,7 +60,7 @@ This is a Python library of web-related functions, such as:
|
|||||||
* extract arguments from urls
|
* extract arguments from urls
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n w3lib-%{version}
|
%autosetup -p1 -n w3lib-%{version}
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%python_build
|
%python_build
|
||||||
@@ -66,7 +70,7 @@ This is a Python library of web-related functions, such as:
|
|||||||
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||||
|
|
||||||
%check
|
%check
|
||||||
%python_exec setup.py test
|
%pytest
|
||||||
|
|
||||||
%files %{python_files}
|
%files %{python_files}
|
||||||
%doc README.rst
|
%doc README.rst
|
||||||
|
|||||||
Reference in New Issue
Block a user