diff --git a/.gitignore b/.gitignore index 8dc6858..cf703b3 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ python-suds-0.3.8.tar.gz python-suds-0.3.9.tar.gz /python-suds-0.4.1.tar.gz /94664ddd46a6.tar.bz2 +/suds-0.8.4.tar.gz diff --git a/fix_http_test.patch b/fix_http_test.patch deleted file mode 100644 index d92ce92..0000000 --- a/fix_http_test.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff -up jurko-suds-94664ddd46a6/tests/test_transport_http.py.httptestfix jurko-suds-94664ddd46a6/tests/test_transport_http.py ---- jurko-suds-94664ddd46a6/tests/test_transport_http.py.httptestfix 2015-07-27 05:08:20.000000000 -0400 -+++ jurko-suds-94664ddd46a6/tests/test_transport_http.py 2016-01-09 23:29:22.749940293 -0500 -@@ -120,6 +120,9 @@ class MockFP: - def readline(): - raise MustNotBeCalled - -+ def close(self): -+ pass -+ - - class MockURLOpenerSaboteur: - """ -@@ -295,12 +298,18 @@ def test_sending_using_network_sockets(s - self.__mocker.mock_sent_data += data - def settimeout(self, *args, **kwargs): - pass -+ def setsockopt(self, level, optname, value): -+ pass - - class MockSocketReader(CountedMock): - def __init__(self): - super(MockSocketReader, self).__init__() - def readline(self, *args, **kwargs): - raise MyException -+ def close(self): -+ pass -+ def flush(self): -+ pass - - # Setup. - host = "an-easily-recognizable-host-name-214894932" diff --git a/pytest4.patch b/pytest4.patch deleted file mode 100644 index 43ef73c..0000000 --- a/pytest4.patch +++ /dev/null @@ -1,140 +0,0 @@ -diff --git a/setup.cfg b/setup.cfg -index 4666800..e09e5e8 100644 ---- a/setup.cfg -+++ b/setup.cfg -@@ -89,7 +89,7 @@ command = py342.cmd - [env:3.4.2 x86] - command = py342_x86.cmd - --[pytest] -+[tool:pytest] - # Folders 'pytest' unit testing framework should avoid when collecting test - # cases to run, e.g. internal build & version control system folders. - norecursedirs = .git .hg .svn build dist -diff --git a/tests/test_argument_parser.py b/tests/test_argument_parser.py -index 64a5778..402e318 100644 ---- a/tests/test_argument_parser.py -+++ b/tests/test_argument_parser.py -@@ -95,7 +95,7 @@ class MockParamType: - # the argument parsing functionality. This will remove code duplication - # between different binding implementations and make their features more - # balanced. -- pytest.mark.xfail(reason="Not yet implemented.")("rpc") -+ pytest.param("rpc", marks=pytest.mark.xfail(reason="Not yet implemented.")), - )) - def test_binding_uses_argument_parsing(monkeypatch, binding_style): - """ -@@ -158,7 +158,7 @@ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"> - # the argument parsing functionality. This will remove code duplication - # between different binding implementations and make their features more - # balanced. -- pytest.mark.xfail(reason="Not yet implemented.")("rpc") -+ pytest.param("rpc", marks=pytest.mark.xfail(reason="Not yet implemented.")), - )) - def test_binding_for_an_operation_with_no_input_uses_argument_parsing( - monkeypatch, binding_style): -diff --git a/tests/test_input_parameters.py b/tests/test_input_parameters.py -index f4ab7a7..4a817a4 100644 ---- a/tests/test_input_parameters.py -+++ b/tests/test_input_parameters.py -@@ -268,8 +268,8 @@ class TestUnsupportedParameterDefinitions: - self.service = client.service - - @pytest.mark.parametrize("test_args_required", ( -- pytest.mark.xfail(reason="empty choice member items not supported")( -- True), -+ pytest.param(True, marks=pytest.mark.xfail( -+ reason="empty choice member items not supported")), - False)) - def test_choice_containing_an_empty_sequence(self, test_args_required): - """ -@@ -295,15 +295,16 @@ class TestUnsupportedParameterDefinitions: - @pytest.mark.parametrize("choice", ( - # Explicitly marked as optional and containing only non-optional - # elements. -- pytest.mark.xfail(reason="suds does not yet support minOccurs/" -- "maxOccurs attributes on all/choice/sequence order indicators")( -+ pytest.param( - """\ - - - - - -- """), -+ """, marks=pytest.mark.xfail( -+ reason="suds does not yet support minOccurs/" -+ "maxOccurs attributes on all/choice/sequence order indicators")), - # Explicitly marked as optional and containing at least one - # non-optional element. - """\ -diff --git a/tests/test_request_construction.py b/tests/test_request_construction.py -index 3fef3fe..90e42bd 100644 ---- a/tests/test_request_construction.py -+++ b/tests/test_request_construction.py -@@ -94,9 +94,12 @@ def parametrize_single_element_input_test(param_names, param_values): - args, request_body = next_value[:2] - xfail = len(next_value) == 3 - param = (xsd, external_element_name, args, request_body) -- if xfail: -- param = pytest.mark.xfail(param, reason=next_value[2]) -- expanded_param_values.append(param) -+ #if xfail: -+ # param = pytest.mark.xfail(param, reason=next_value[2]) -+ #expanded_param_values.append(param) -+ # Manually skip xfails for now since there's no way to mark -+ if not xfail: -+ expanded_param_values.append(param) - return (param_names, expanded_param_values), {} - - -diff --git a/tests/test_sax_encoder.py b/tests/test_sax_encoder.py -index f7d1f37..65deb70 100644 ---- a/tests/test_sax_encoder.py -+++ b/tests/test_sax_encoder.py -@@ -141,7 +141,7 @@ symmetric_decoded_encoded_test_data__broken_encode = [ - (e, d) for d, e in - symmetric_decoded_encoded_test_data + - symmetric_decoded_encoded_test_data__broken_encode] + [ -- pytest.mark.xfail((e, d), reason="CDATA encoding not supported yet") -+ pytest.param(e, d, marks=pytest.mark.xfail(reason="CDATA encoding not supported yet")) - for d, e in symmetric_decoded_encoded_test_data__broken] + [ - # Character reference lookalikes. - (x, x) for x in ( -@@ -164,7 +164,7 @@ def test_decode(input, expected): - - @pytest.mark.parametrize(("input", "expected"), - symmetric_decoded_encoded_test_data + [ -- pytest.mark.xfail(x, reason="CDATA encoding not supported yet") for x in -+ pytest.param(x, y, marks=pytest.mark.xfail(reason="CDATA encoding not supported yet")) for x, y in - symmetric_decoded_encoded_test_data__broken + - symmetric_decoded_encoded_test_data__broken_encode] + [ - # Double encoding. -diff --git a/tests/testutils/indirect_parametrize.py b/tests/testutils/indirect_parametrize.py -index a8f1e0f..4be9950 100644 ---- a/tests/testutils/indirect_parametrize.py -+++ b/tests/testutils/indirect_parametrize.py -@@ -112,19 +112,15 @@ def pytest_configure(config): - "argument list and keyword argument dictionary) based on the received " - "input data. For more detailed information see the " - "indirect_parametrize pytest plugin implementation module.") -+ """pytest hook publishing references in the toplevel pytest namespace.""" -+ pytest.indirect_parametrize = indirect_parametrize - - - def pytest_generate_tests(metafunc): - """pytest hook called for all detected test functions.""" -- func = metafunc.function -- try: -- mark = func.indirect_parametrize -- except AttributeError: -+ mark = metafunc.definition.get_closest_marker('indirect_parametrize') -+ if not mark: - return - args, kwargs = mark.args[0](*mark.args[1:], **mark.kwargs) - metafunc.parametrize(*args, **kwargs) - -- --def pytest_namespace(): -- """pytest hook publishing references in the toplevel pytest namespace.""" -- return {'indirect_parametrize': indirect_parametrize} diff --git a/python-suds.spec b/python-suds.spec index 8ea0395..b85db5f 100644 --- a/python-suds.spec +++ b/python-suds.spec @@ -1,5 +1,3 @@ -%global commit 94664ddd46a61d06862fa8fb6ba7b9e054214f57 -%global shortcommit %(c=%{commit}; echo ${c:0:12}) %global srcname suds %global sum A python SOAP client %global desc \ @@ -11,15 +9,12 @@ services and WSDL based objects can be easily inspected. Summary: %{sum} Name: python-suds -Version: 0.7 -Release: 0.17.%{shortcommit}%{?dist} -Source0: https://bitbucket.org/jurko/suds/get/%{shortcommit}.tar.bz2 -Patch0: fix_http_test.patch -Patch1: pytest4.patch -Patch2: python3.8.patch +Version: 0.8.4 +Release: 1%{?dist} +Source0: https://github.com/suds-community/suds/archive/v%{version}.tar.gz#/%{srcname}-%{version}.tar.gz License: LGPLv3+ BuildArch: noarch -URL: https://bitbucket.org/jurko/suds +URL: https://github.com/suds-community/suds %description %{desc} @@ -30,10 +25,7 @@ Summary: %{sum} %description -n python3-%{srcname} %{desc} %prep -%setup -q -n jurko-suds-%{shortcommit} -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 +%autosetup -p1 -n %{srcname}-%{version} %build %py3_build @@ -46,10 +38,13 @@ Summary: %{sum} %files -n python3-%{srcname} %{python3_sitelib}/%{srcname}*/ -%doc README.rst +%doc README.md %license LICENSE.txt %changelog +* Tue Feb 18 2020 Scott Talbert - 0.8.4-1 +- Switch to new upstream https://github.com/suds-community/suds + * Thu Jan 30 2020 Fedora Release Engineering - 0.7-0.17.94664ddd46a6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild diff --git a/python3.8.patch b/python3.8.patch deleted file mode 100644 index 1dee0da..0000000 --- a/python3.8.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/tests/test_transport.py b/tests/test_transport.py -index d045aaf..cbcdecd 100644 ---- a/tests/test_transport.py -+++ b/tests/test_transport.py -@@ -140,7 +140,7 @@ and I'm all out of gum."""), - ("", {}, "\n\n\n\n\n\n"), - ("", {}, u("\u4E2D\u539F\u5343\u519B\u9010\u848B")))) - def test_string_representation_with_message(self, url, headers, message): -- for key, value in headers.items(): -+ for key, value in list(headers.items()): - old_key = key - if isinstance(key, text_type): - key = key.encode("utf-8") diff --git a/sources b/sources index 0ab4ba3..cd6a210 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b6ba60afd0a5842156e3dc9ea949e93a 94664ddd46a6.tar.bz2 +SHA512 (suds-0.8.4.tar.gz) = 79be88de3e76550fa3c7ab15b240bee2c416ccf4ec27d5305f6ccc736e77a2d32f18a71411ab7a0006efaaf416ad2a84e896ee84954d837ac1e3db4ae870528d