Package: python-mechanicalsoup Followup-For: Bug #922833 User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu disco ubuntu-patch
In Ubuntu, the attached patch was applied to achieve the following: * Fix tests to use https for httpbin * Do not expect a Connection header in test_submit_online() Thanks for considering the patch. -- System Information: Debian Release: buster/sid APT prefers disco APT policy: (991, 'disco'), (500, 'disco'), (500, 'cosmic-security') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.19.0-13-generic (SMP w/8 CPU cores) Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled -- debian developer - deb.li/jak | jak-linux.org - free software dev ubuntu core developer i speak de, en
diff -Nru python-mechanicalsoup-0.10.0/debian/patches/https-httpbin python-mechanicalsoup-0.10.0/debian/patches/https-httpbin --- python-mechanicalsoup-0.10.0/debian/patches/https-httpbin 1970-01-01 01:00:00.000000000 +0100 +++ python-mechanicalsoup-0.10.0/debian/patches/https-httpbin 2019-03-04 11:20:03.000000000 +0100 @@ -0,0 +1,104 @@ +Description: Fix httpbin tests to use https + This is needed because httpbin now does https redirects and the + tests fail. +Author: Julian Andres Klode <juli...@ubuntu.com> +Last-Update: 2019-03-04 + +--- python-mechanicalsoup-0.10.0.orig/tests/test_browser.py ++++ python-mechanicalsoup-0.10.0/tests/test_browser.py +@@ -8,7 +8,7 @@ import pytest + + + def test_submit_online(httpbin): +- """Complete and submit the pizza form at http://httpbin.org/forms/post """ ++ """Complete and submit the pizza form at https://httpbin.org/forms/post """ + browser = mechanicalsoup.Browser() + page = browser.get(httpbin + "/forms/post") + form = page.soup.form +@@ -23,7 +23,7 @@ def test_submit_online(httpbin): + + response = browser.submit(form, page.url) + +- # helpfully the form submits to http://httpbin.org/post which simply ++ # helpfully the form submits to https://httpbin.org/post which simply + # returns the request headers in json format + json = response.json() + data = json["form"] +@@ -38,7 +38,7 @@ def test_submit_online(httpbin): + + + form_html = """ +-<form method="post" action="http://httpbin.org/post"> ++<form method="post" action="https://httpbin.org/post"> + <input name="customer" value="Philip J. Fry"/> + <input name="telephone" value="555"/> + <textarea name="comments">freezer</textarea> +--- python-mechanicalsoup-0.10.0.orig/tests/test_form.py ++++ python-mechanicalsoup-0.10.0/tests/test_form.py +@@ -6,7 +6,7 @@ import pytest + + + def test_submit_online(httpbin): +- """Complete and submit the pizza form at http://httpbin.org/forms/post """ ++ """Complete and submit the pizza form at https://httpbin.org/forms/post """ + browser = mechanicalsoup.Browser() + page = browser.get(httpbin + "/forms/post") + form = mechanicalsoup.Form(page.soup.form) +@@ -25,7 +25,7 @@ def test_submit_online(httpbin): + + response = browser.submit(form, page.url) + +- # helpfully the form submits to http://httpbin.org/post which simply ++ # helpfully the form submits to https://httpbin.org/post which simply + # returns the request headers in json format + json = response.json() + data = json["form"] +@@ -37,7 +37,7 @@ def test_submit_online(httpbin): + + + def test_submit_set(httpbin): +- """Complete and submit the pizza form at http://httpbin.org/forms/post """ ++ """Complete and submit the pizza form at https://httpbin.org/forms/post """ + browser = mechanicalsoup.Browser() + page = browser.get(httpbin + "/forms/post") + form = mechanicalsoup.Form(page.soup.form) +@@ -51,7 +51,7 @@ def test_submit_set(httpbin): + + response = browser.submit(form, page.url) + +- # helpfully the form submits to http://httpbin.org/post which simply ++ # helpfully the form submits to https://httpbin.org/post which simply + # returns the request headers in json format + json = response.json() + data = json["form"] +--- python-mechanicalsoup-0.10.0.orig/tests/test_stateful_browser.py ++++ python-mechanicalsoup-0.10.0/tests/test_stateful_browser.py +@@ -25,7 +25,7 @@ def test_request_forward(): + + + def test_submit_online(httpbin): +- """Complete and submit the pizza form at http://httpbin.org/forms/post """ ++ """Complete and submit the pizza form at https://httpbin.org/forms/post """ + browser = mechanicalsoup.StatefulBrowser() + browser.set_user_agent('testing MechanicalSoup') + browser.open(httpbin.url) +@@ -217,7 +217,7 @@ def test_verbose(capsys): + + def test_new_control(): + browser = mechanicalsoup.StatefulBrowser() +- browser.open("http://httpbin.org/forms/post") ++ browser.open("https://httpbin.org/forms/post") + browser.select_form("form") + with pytest.raises(mechanicalsoup.LinkNotFoundError): + # The control doesn't exist, yet. +--- python-mechanicalsoup-0.10.0.orig/tests/utils.py ++++ python-mechanicalsoup-0.10.0/tests/utils.py +@@ -72,7 +72,7 @@ class HttpbinRemote: + """Drop-in replacement for pytest-httpbin's httpbin fixture + that uses the remote httpbin server instead of a local one.""" + def __init__(self): +- self.url = "http://httpbin.org" ++ self.url = "https://httpbin.org" + + def __add__(self, x): + return self.url + x diff -Nru python-mechanicalsoup-0.10.0/debian/patches/no-connection-header.patch python-mechanicalsoup-0.10.0/debian/patches/no-connection-header.patch --- python-mechanicalsoup-0.10.0/debian/patches/no-connection-header.patch 1970-01-01 01:00:00.000000000 +0100 +++ python-mechanicalsoup-0.10.0/debian/patches/no-connection-header.patch 2019-03-04 11:20:40.000000000 +0100 @@ -0,0 +1,16 @@ +Description: Do not expect Connection header + That header seems to be gone from the json. +Author: Julian Andres Klode <juli...@ubuntu.com> +Last-Update: 2019-03-04 + +--- python-mechanicalsoup-0.10.0.orig/tests/test_stateful_browser.py ++++ python-mechanicalsoup-0.10.0/tests/test_stateful_browser.py +@@ -55,7 +55,7 @@ def test_submit_online(httpbin): + + assert json["headers"]["User-Agent"] == 'testing MechanicalSoup' + # Ensure we haven't blown away any regular headers +- expected_headers = ('Content-Length', 'Host', 'Content-Type', 'Connection', ++ expected_headers = ('Content-Length', 'Host', 'Content-Type', + 'Accept', 'User-Agent', 'Accept-Encoding') + assert set(expected_headers).issubset(json["headers"].keys()) + diff -Nru python-mechanicalsoup-0.10.0/debian/patches/series python-mechanicalsoup-0.10.0/debian/patches/series --- python-mechanicalsoup-0.10.0/debian/patches/series 2018-06-22 19:05:28.000000000 +0200 +++ python-mechanicalsoup-0.10.0/debian/patches/series 2019-03-04 11:20:40.000000000 +0100 @@ -1,2 +1,4 @@ No-pytest-runner.patch 06f32ba21d1de71e274e52f1491c6da80200b461.patch +https-httpbin +no-connection-header.patch