File fix-compatibility-pr-918.patch of Package python-hug

From 7e97181f6b4e978ba892ea0e2b7d29d1ae2322cf Mon Sep 17 00:00:00 2001
From: Sebastian Wagner <swagner@intevation.de>
Date: Fri, 30 Jun 2023 10:35:02 +0200
Subject: [PATCH 1/4] pkg: remove unneeded and obsolete mock requirement

the mock library is obsolete and not even needed, so remove it from the
test requirements
---
 setup.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/setup.py b/setup.py
index 3d84b665..8084354e 100755
--- a/setup.py
+++ b/setup.py
@@ -98,7 +98,7 @@ def list_modules(dirname):
     requires=["falcon", "requests"],
     install_requires=["falcon==2.0.0", "requests"],
     setup_requires=["pytest-runner"],
-    tests_require=["pytest", "mock", "marshmallow"],
+    tests_require=["pytest", "marshmallow"],
     ext_modules=ext_modules,
     cmdclass=cmdclass,
     python_requires=">=3.5",

From eecb0ff8b15057ea36175cc60b8321d002191133 Mon Sep 17 00:00:00 2001
From: Sebastian Wagner <swagner@intevation.de>
Date: Fri, 30 Jun 2023 10:36:44 +0200
Subject: [PATCH 2/4] maint: upgrade async-related python syntax

coroutine functions are now declared with the 'async' keyword

fixes hugapi/hug#902
---
 hug/api.py               |  2 +-
 tests/test_coroutines.py | 20 +++++++-------------
 tests/test_decorators.py |  3 +--
 3 files changed, 9 insertions(+), 16 deletions(-)

diff --git a/hug/api.py b/hug/api.py
index 7179c7a4..790f0385 100644
--- a/hug/api.py
+++ b/hug/api.py
@@ -631,7 +631,7 @@ def _ensure_started(self):
             if async_handlers:
                 loop = asyncio.get_event_loop()
                 loop.run_until_complete(
-                    asyncio.gather(*[handler(self) for handler in async_handlers], loop=loop)
+                    asyncio.gather(*[handler(self) for handler in async_handlers])
                 )
             for startup_handler in self.startup_handlers:
                 if not startup_handler in async_handlers:
diff --git a/tests/test_coroutines.py b/tests/test_coroutines.py
index 556f4fea..e3775e59 100644
--- a/tests/test_coroutines.py
+++ b/tests/test_coroutines.py
@@ -31,8 +31,7 @@ def test_basic_call_coroutine():
     """The most basic Happy-Path test for Hug APIs using async"""
 
     @hug.call()
-    @asyncio.coroutine
-    def hello_world():
+    async def hello_world():
         return "Hello World!"
 
     assert loop.run_until_complete(hello_world()) == "Hello World!"
@@ -42,16 +41,14 @@ def test_nested_basic_call_coroutine():
     """The most basic Happy-Path test for Hug APIs using async"""
 
     @hug.call()
-    @asyncio.coroutine
-    def hello_world():
+    async def hello_world():
         return getattr(asyncio, "ensure_future")(nested_hello_world())
 
     @hug.local()
-    @asyncio.coroutine
-    def nested_hello_world():
+    async def nested_hello_world():
         return "Hello World!"
 
-    assert loop.run_until_complete(hello_world()) == "Hello World!"
+    assert loop.run_until_complete(hello_world()).result() == "Hello World!"
 
 
 def test_basic_call_on_method_coroutine():
@@ -59,8 +56,7 @@ def test_basic_call_on_method_coroutine():
 
     class API(object):
         @hug.call()
-        @asyncio.coroutine
-        def hello_world(self=None):
+        async def hello_world(self=None):
             return "Hello World!"
 
     api_instance = API()
@@ -79,8 +75,7 @@ def hello_world(self):
     api_instance = API()
 
     @hug.call()
-    @asyncio.coroutine
-    def hello_world():
+    async def hello_world():
         return api_instance.hello_world()
 
     assert api_instance.hello_world() == "Hello World!"
@@ -94,8 +89,7 @@ class API(object):
         def __init__(self):
             hug.call()(self.hello_world_method)
 
-        @asyncio.coroutine
-        def hello_world_method(self):
+        async def hello_world_method(self):
             return "Hello World!"
 
     api_instance = API()
diff --git a/tests/test_decorators.py b/tests/test_decorators.py
index 4e180cd7..45e1e284 100644
--- a/tests/test_decorators.py
+++ b/tests/test_decorators.py
@@ -1586,8 +1586,7 @@ def happens_on_startup(api):
         happened_on_startup.append("non-async")
 
     @hug.startup(api=hug_api)
-    @asyncio.coroutine
-    def async_happens_on_startup(api):
+    async def async_happens_on_startup(api):
         happened_on_startup.append("async")
 
     assert happens_on_startup in hug_api.startup_handlers

From 3e472d7230ce355dc6d509d16dceb689c6cf7a33 Mon Sep 17 00:00:00 2001
From: Sebastian Wagner <swagner@intevation.de>
Date: Fri, 30 Jun 2023 10:37:46 +0200
Subject: [PATCH 3/4] maint: fix numpy float construction

numpy.float was deprecated as it was just python's float. using
np.float64 explicitly
---
 tests/test_output_format.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/test_output_format.py b/tests/test_output_format.py
index 75d28821..11d0e158 100644
--- a/tests/test_output_format.py
+++ b/tests/test_output_format.py
@@ -366,7 +366,7 @@ def test_json_converter_numpy_types():
     ex_int = numpy.int_(9)
     ex_np_array = numpy.array([1, 2, 3, 4, 5])
     ex_np_int_array = numpy.int_([5, 4, 3])
-    ex_np_float = numpy.float(0.5)
+    ex_np_float = numpy.float64(0.5)
 
     assert 9 == hug.output_format._json_converter(ex_int)
     assert [1, 2, 3, 4, 5] == hug.output_format._json_converter(ex_np_array)

From 1fa29da055519a1fdd4cecac5271d0e0ce883049 Mon Sep 17 00:00:00 2001
From: Sebastian Wagner <swagner@intevation.de>
Date: Fri, 30 Jun 2023 10:44:12 +0200
Subject: [PATCH 4/4] pkg: remove unneeded pytest-runner from setup requires

fixes hugapi/hug#895
---
 setup.py | 1 -
 1 file changed, 1 deletion(-)

diff --git a/setup.py b/setup.py
index 8084354e..ab302c20 100755
--- a/setup.py
+++ b/setup.py
@@ -97,7 +97,6 @@ def list_modules(dirname):
     packages=["hug"],
     requires=["falcon", "requests"],
     install_requires=["falcon==2.0.0", "requests"],
-    setup_requires=["pytest-runner"],
     tests_require=["pytest", "marshmallow"],
     ext_modules=ext_modules,
     cmdclass=cmdclass,
openSUSE Build Service is sponsored by