Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-amqpstorm for 
openSUSE:Factory checked in at 2021-04-21 20:59:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-amqpstorm (Old)
 and      /work/SRC/openSUSE:Factory/.python-amqpstorm.new.12324 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-amqpstorm"

Wed Apr 21 20:59:23 2021 rev:12 rq:886696 version:2.8.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-amqpstorm/python-amqpstorm.changes        
2020-07-28 17:26:44.197999923 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-amqpstorm.new.12324/python-amqpstorm.changes 
    2021-04-21 20:59:40.282227044 +0200
@@ -1,0 +2,10 @@
+Mon Apr 19 13:03:19 UTC 2021 - Mark??ta Machov?? <[email protected]>
+
+- Upadte to 2.8.4
+  * Added getter/setter methods for Message properties expiration, 
message_type and user_id
+  * Fixed pip sdist circular dependency
+  * Fixed basic.consume argument type in documentation
+  * Fixed a bug in Message.create where it would mutate the properties dict
+- Create patch pamqp3.patch for better compatibility
+
+-------------------------------------------------------------------

Old:
----
  AMQPStorm-2.8.1.tar.gz

New:
----
  AMQPStorm-2.8.4.tar.gz
  pamqp3.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-amqpstorm.spec ++++++
--- /var/tmp/diff_new_pack.ZwYndF/_old  2021-04-21 20:59:40.790227844 +0200
+++ /var/tmp/diff_new_pack.ZwYndF/_new  2021-04-21 20:59:40.790227844 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-amqpstorm
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,20 +18,21 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-amqpstorm
-Version:        2.8.1
+Version:        2.8.4
 Release:        0
 Summary:        Thread-safe Python RabbitMQ Client & Management library
 License:        MIT
 URL:            https://github.com/eandersson/amqpstorm
 Source:         
https://files.pythonhosted.org/packages/source/A/AMQPStorm/AMQPStorm-%{version}.tar.gz
+Patch0:         pamqp3.patch
 BuildRequires:  %{python_module mock}
-BuildRequires:  %{python_module pamqp >= 2.0.0}
+BuildRequires:  %{python_module pamqp >= 3.0}
 BuildRequires:  %{python_module pytest}
 BuildRequires:  %{python_module requests}
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
-Requires:       python-pamqp >= 2.0.0
+Requires:       python-pamqp >= 3.0
 Requires:       python-requests
 BuildArch:      noarch
 %if 0%{?suse_version} < 1500
@@ -48,7 +49,8 @@
 
 %prep
 %setup -q -n AMQPStorm-%{version}
-sed -i -e "s/'pamqp>=2.0.0,<3.0'/'pamqp>=2.0.0'/" setup.py
+%autopatch -p1
+sed -i -e "s/'pamqp>=2.0.0,<3.0'/'pamqp>=3.0'/" setup.py
 
 %build
 export LANG="en_US.UTF8"

++++++ AMQPStorm-2.8.1.tar.gz -> AMQPStorm-2.8.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/AMQPStorm-2.8.1/AMQPStorm.egg-info/PKG-INFO 
new/AMQPStorm-2.8.4/AMQPStorm.egg-info/PKG-INFO
--- old/AMQPStorm-2.8.1/AMQPStorm.egg-info/PKG-INFO     2020-06-27 
05:57:31.000000000 +0200
+++ new/AMQPStorm-2.8.4/AMQPStorm.egg-info/PKG-INFO     2021-03-18 
02:35:45.000000000 +0100
@@ -1,12 +1,11 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
 Name: AMQPStorm
-Version: 2.8.1
+Version: 2.8.4
 Summary: Thread-safe Python RabbitMQ Client & Management library.
 Home-page: https://www.amqpstorm.io
 Author: Erik Olof Gunnar Andersson
 Author-email: [email protected]
 License: MIT License
-Description-Content-Type: UNKNOWN
 Description: AMQPStorm
         =========
         Thread-safe Python RabbitMQ Client & Management library.
@@ -29,6 +28,20 @@
         Changelog
         =========
         
+        Version 2.8.4
+        -------------
+        - Fixed a bug in Message.create where it would mutate the properties 
dict [#92] - Thanks Killerama.
+        
+        Version 2.8.3
+        -------------
+        - Fixed pip sdist circular dependency [#88] - Thanks Jay Hogg.
+        - Fixed basic.consume argument type in documentation [#86] - Thanks 
TechmarkDavid.
+        
+        Version 2.8.2
+        -------------
+        - Retry on SSLWantReadErrors [#82] - Thanks Bernhard Thiel.
+        - Added getter/setter methods for Message properties expiration, 
message_type and user_id [#86] - Thanks Jay Hogg.
+        
         Version 2.8.1
         -------------
         - Cleaned up documentation.
@@ -83,8 +96,8 @@
         =======
         Special thanks to gmr (Gavin M. Roy) for creating pamqp, and in 
addition amqpstorm is heavily influenced by his pika and rabbitpy libraries.
         
-        .. |Version| image:: https://badge.fury.io/py/amqpstorm.svg?
-          :target: http://badge.fury.io/py/amqpstorm
+        .. |Version| image:: https://badge.fury.io/py/AMQPStorm.svg
+          :target: https://badge.fury.io/py/AMQPStorm
         
         .. |CodeClimate| image:: 
https://codeclimate.com/github/eandersson/amqpstorm/badges/gpa.svg
           :target: https://codeclimate.com/github/eandersson/amqpstorm
@@ -108,6 +121,8 @@
 Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: Implementation :: CPython
 Classifier: Programming Language :: Python :: Implementation :: PyPy
 Classifier: Topic :: Communications
@@ -116,3 +131,4 @@
 Classifier: Topic :: Software Development :: Libraries
 Classifier: Topic :: Software Development :: Libraries :: Python Modules
 Classifier: Topic :: System :: Networking
+Provides-Extra: management
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/AMQPStorm-2.8.1/CHANGELOG.rst 
new/AMQPStorm-2.8.4/CHANGELOG.rst
--- old/AMQPStorm-2.8.1/CHANGELOG.rst   2020-06-27 05:57:13.000000000 +0200
+++ new/AMQPStorm-2.8.4/CHANGELOG.rst   2021-03-18 02:28:30.000000000 +0100
@@ -1,6 +1,20 @@
 Changelog
 =========
 
+Version 2.8.4
+-------------
+- Fixed a bug in Message.create where it would mutate the properties dict 
[#92] - Thanks Killerama.
+
+Version 2.8.3
+-------------
+- Fixed pip sdist circular dependency [#88] - Thanks Jay Hogg.
+- Fixed basic.consume argument type in documentation [#86] - Thanks 
TechmarkDavid.
+
+Version 2.8.2
+-------------
+- Retry on SSLWantReadErrors [#82] - Thanks Bernhard Thiel.
+- Added getter/setter methods for Message properties expiration, message_type 
and user_id [#86] - Thanks Jay Hogg.
+
 Version 2.8.1
 -------------
 - Cleaned up documentation.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/AMQPStorm-2.8.1/PKG-INFO new/AMQPStorm-2.8.4/PKG-INFO
--- old/AMQPStorm-2.8.1/PKG-INFO        2020-06-27 05:57:31.000000000 +0200
+++ new/AMQPStorm-2.8.4/PKG-INFO        2021-03-18 02:35:45.540383000 +0100
@@ -1,12 +1,11 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
 Name: AMQPStorm
-Version: 2.8.1
+Version: 2.8.4
 Summary: Thread-safe Python RabbitMQ Client & Management library.
 Home-page: https://www.amqpstorm.io
 Author: Erik Olof Gunnar Andersson
 Author-email: [email protected]
 License: MIT License
-Description-Content-Type: UNKNOWN
 Description: AMQPStorm
         =========
         Thread-safe Python RabbitMQ Client & Management library.
@@ -29,6 +28,20 @@
         Changelog
         =========
         
+        Version 2.8.4
+        -------------
+        - Fixed a bug in Message.create where it would mutate the properties 
dict [#92] - Thanks Killerama.
+        
+        Version 2.8.3
+        -------------
+        - Fixed pip sdist circular dependency [#88] - Thanks Jay Hogg.
+        - Fixed basic.consume argument type in documentation [#86] - Thanks 
TechmarkDavid.
+        
+        Version 2.8.2
+        -------------
+        - Retry on SSLWantReadErrors [#82] - Thanks Bernhard Thiel.
+        - Added getter/setter methods for Message properties expiration, 
message_type and user_id [#86] - Thanks Jay Hogg.
+        
         Version 2.8.1
         -------------
         - Cleaned up documentation.
@@ -83,8 +96,8 @@
         =======
         Special thanks to gmr (Gavin M. Roy) for creating pamqp, and in 
addition amqpstorm is heavily influenced by his pika and rabbitpy libraries.
         
-        .. |Version| image:: https://badge.fury.io/py/amqpstorm.svg?
-          :target: http://badge.fury.io/py/amqpstorm
+        .. |Version| image:: https://badge.fury.io/py/AMQPStorm.svg
+          :target: https://badge.fury.io/py/AMQPStorm
         
         .. |CodeClimate| image:: 
https://codeclimate.com/github/eandersson/amqpstorm/badges/gpa.svg
           :target: https://codeclimate.com/github/eandersson/amqpstorm
@@ -108,6 +121,8 @@
 Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: Implementation :: CPython
 Classifier: Programming Language :: Python :: Implementation :: PyPy
 Classifier: Topic :: Communications
@@ -116,3 +131,4 @@
 Classifier: Topic :: Software Development :: Libraries
 Classifier: Topic :: Software Development :: Libraries :: Python Modules
 Classifier: Topic :: System :: Networking
+Provides-Extra: management
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/AMQPStorm-2.8.1/README.rst 
new/AMQPStorm-2.8.4/README.rst
--- old/AMQPStorm-2.8.1/README.rst      2020-06-27 05:57:13.000000000 +0200
+++ new/AMQPStorm-2.8.4/README.rst      2021-03-18 02:28:30.000000000 +0100
@@ -20,6 +20,20 @@
 Changelog
 =========
 
+Version 2.8.4
+-------------
+- Fixed a bug in Message.create where it would mutate the properties dict 
[#92] - Thanks Killerama.
+
+Version 2.8.3
+-------------
+- Fixed pip sdist circular dependency [#88] - Thanks Jay Hogg.
+- Fixed basic.consume argument type in documentation [#86] - Thanks 
TechmarkDavid.
+
+Version 2.8.2
+-------------
+- Retry on SSLWantReadErrors [#82] - Thanks Bernhard Thiel.
+- Added getter/setter methods for Message properties expiration, message_type 
and user_id [#86] - Thanks Jay Hogg.
+
 Version 2.8.1
 -------------
 - Cleaned up documentation.
@@ -74,8 +88,8 @@
 =======
 Special thanks to gmr (Gavin M. Roy) for creating pamqp, and in addition 
amqpstorm is heavily influenced by his pika and rabbitpy libraries.
 
-.. |Version| image:: https://badge.fury.io/py/amqpstorm.svg?
-  :target: http://badge.fury.io/py/amqpstorm
+.. |Version| image:: https://badge.fury.io/py/AMQPStorm.svg
+  :target: https://badge.fury.io/py/AMQPStorm
 
 .. |CodeClimate| image:: 
https://codeclimate.com/github/eandersson/amqpstorm/badges/gpa.svg
   :target: https://codeclimate.com/github/eandersson/amqpstorm
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/AMQPStorm-2.8.1/amqpstorm/__init__.py 
new/AMQPStorm-2.8.4/amqpstorm/__init__.py
--- old/AMQPStorm-2.8.1/amqpstorm/__init__.py   2020-06-27 05:57:13.000000000 
+0200
+++ new/AMQPStorm-2.8.4/amqpstorm/__init__.py   2021-03-18 02:28:49.000000000 
+0100
@@ -1,5 +1,5 @@
 """AMQPStorm."""
-__version__ = '2.8.1'  # noqa
+__version__ = '2.8.4'  # noqa
 __author__ = 'eandersson'  # noqa
 
 import logging
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/AMQPStorm-2.8.1/amqpstorm/basic.py 
new/AMQPStorm-2.8.4/amqpstorm/basic.py
--- old/AMQPStorm-2.8.1/amqpstorm/basic.py      2020-06-27 05:57:13.000000000 
+0200
+++ new/AMQPStorm-2.8.4/amqpstorm/basic.py      2021-03-18 02:28:49.000000000 
+0100
@@ -105,7 +105,7 @@
                 exclusive=False, no_ack=False, no_local=False, arguments=None):
         """Start a queue consumer.
 
-        :param function callback: Message callback
+        :param typing.Callable callback: Message callback
         :param str queue: Queue name
         :param str consumer_tag: Consumer tag
         :param bool no_local: Do not deliver own messages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/AMQPStorm-2.8.1/amqpstorm/compatibility.py 
new/AMQPStorm-2.8.4/amqpstorm/compatibility.py
--- old/AMQPStorm-2.8.1/amqpstorm/compatibility.py      2020-06-27 
05:57:13.000000000 +0200
+++ new/AMQPStorm-2.8.4/amqpstorm/compatibility.py      2021-03-18 
02:28:30.000000000 +0100
@@ -29,6 +29,16 @@
 else:
     RANGE = xrange
 
+
+class DummyException(Exception):
+    """
+    Never raised by anything.
+
+    This is used in except blocks if the intended
+    exception cannot be imported.
+    """
+
+
 SSL_CERT_MAP = {}
 SSL_VERSIONS = {}
 SSL_OPTIONS = [
@@ -69,6 +79,9 @@
         'cert_optional': ssl.CERT_OPTIONAL,
         'cert_required': ssl.CERT_REQUIRED
     }
+    SSLWantReadError = ssl.SSLWantReadError
+else:
+    SSLWantReadError = DummyException
 
 
 def is_string(obj):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/AMQPStorm-2.8.1/amqpstorm/connection.py 
new/AMQPStorm-2.8.4/amqpstorm/connection.py
--- old/AMQPStorm-2.8.1/amqpstorm/connection.py 2020-06-27 05:57:13.000000000 
+0200
+++ new/AMQPStorm-2.8.4/amqpstorm/connection.py 2021-03-18 02:28:30.000000000 
+0100
@@ -43,7 +43,9 @@
         import amqpstorm
         ssl_options = {
             'context': ssl.create_default_context(cafile='cacert.pem'),
-            'server_hostname': 'rmq.eandersson.net'
+            'server_hostname': 'rmq.eandersson.net',
+            'check_hostname': True,        # New 2.8.0, default is False
+            'verify_mode': 'required',     # New 2.8.0, default is 'none'
         }
         connection = amqpstorm.Connection(
             'rmq.eandersson.net', 'guest', 'guest', port=5671,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/AMQPStorm-2.8.1/amqpstorm/io.py 
new/AMQPStorm-2.8.4/amqpstorm/io.py
--- old/AMQPStorm-2.8.1/amqpstorm/io.py 2020-06-09 05:44:33.000000000 +0200
+++ new/AMQPStorm-2.8.4/amqpstorm/io.py 2021-03-18 02:28:30.000000000 +0100
@@ -272,9 +272,15 @@
             data_in = self._read_from_socket()
         except socket.timeout:
             pass
+        except compatibility.SSLWantReadError:
+            # NOTE(visobet): Retry if the non-blocking socket does not
+            # have any meaningful data ready.
+            pass
         except (IOError, OSError) as why:
             if why.args[0] not in (EWOULDBLOCK, EAGAIN):
                 self._exceptions.append(AMQPConnectionError(why))
+                if self._running.is_set():
+                    LOGGER.warning("Stopping inbound thread due to %s", why)
                 self._running.clear()
         return data_in
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/AMQPStorm-2.8.1/amqpstorm/message.py 
new/AMQPStorm-2.8.4/amqpstorm/message.py
--- old/AMQPStorm-2.8.1/amqpstorm/message.py    2020-06-27 05:57:13.000000000 
+0200
+++ new/AMQPStorm-2.8.4/amqpstorm/message.py    2021-03-18 02:28:30.000000000 
+0100
@@ -52,7 +52,7 @@
 
         :rtype: Message
         """
-        properties = properties or {}
+        properties = dict(properties or {})
         if 'correlation_id' not in properties:
             properties['correlation_id'] = str(uuid.uuid4())
         if 'message_id' not in properties:
@@ -328,6 +328,54 @@
         self._update_properties('reply_to', value)
 
     @property
+    def message_type(self):
+        """Get AMQP Message attribute: message_type.
+
+        :return:
+        """
+        return self.properties.get('message_type')
+
+    @message_type.setter
+    def message_type(self, value):
+        """Set AMQP Message attribute: message_type.
+
+        :return:
+        """
+        self._update_properties('message_type', value)
+
+    @property
+    def expiration(self):
+        """Get AMQP Message attribute: expiration.
+
+        :return:
+        """
+        return self.properties.get('expiration')
+
+    @expiration.setter
+    def expiration(self, value):
+        """Set AMQP Message attribute: expiration.
+
+        :return:
+        """
+        self._update_properties('expiration', value)
+
+    @property
+    def user_id(self):
+        """Get AMQP Message attribute: user_id.
+
+        :return:
+        """
+        return self.properties.get('user_id')
+
+    @user_id.setter
+    def user_id(self, value):
+        """Set AMQP Message attribute: user_id.
+
+        :return:
+        """
+        self._update_properties('user_id', value)
+
+    @property
     def redelivered(self):
         """Indicates if this message may have been delivered before (but not
         acknowledged).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/AMQPStorm-2.8.1/amqpstorm/tests/unit/io/io_exception_tests.py 
new/AMQPStorm-2.8.4/amqpstorm/tests/unit/io/io_exception_tests.py
--- old/AMQPStorm-2.8.1/amqpstorm/tests/unit/io/io_exception_tests.py   
2020-06-09 05:44:33.000000000 +0200
+++ new/AMQPStorm-2.8.4/amqpstorm/tests/unit/io/io_exception_tests.py   
2021-03-18 02:28:30.000000000 +0100
@@ -36,6 +36,15 @@
             connection.check_for_errors
         )
 
+    def test_io_receive_raises_ssl_want_read_error(self):
+        connection = FakeConnection()
+
+        io = IO(connection.parameters, exceptions=connection.exceptions)
+        io.socket = mock.Mock(name='socket', spec=socket.socket)
+        io.socket.recv.side_effect = compatibility.SSLWantReadError()
+        io._receive()
+        self.assertIsNone(connection.check_for_errors())
+
     def test_io_receive_does_not_raise_on_block(self):
         connection = FakeConnection()
 
@@ -51,6 +60,7 @@
         io.socket = mock.Mock(name='socket', spec=socket.socket)
         io.socket.recv.side_effect = socket.timeout('timeout')
         io._receive()
+        self.assertIsNone(connection.check_for_errors())
 
     def test_io_simple_send_with_error(self):
         connection = FakeConnection()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/AMQPStorm-2.8.1/amqpstorm/tests/unit/io/io_tests.py 
new/AMQPStorm-2.8.4/amqpstorm/tests/unit/io/io_tests.py
--- old/AMQPStorm-2.8.1/amqpstorm/tests/unit/io/io_tests.py     2020-06-09 
05:44:33.000000000 +0200
+++ new/AMQPStorm-2.8.4/amqpstorm/tests/unit/io/io_tests.py     2021-03-18 
02:28:30.000000000 +0100
@@ -11,6 +11,7 @@
 
 
 class IOTests(TestFramework):
+
     def test_io_socket_close(self):
         connection = FakeConnection()
         io = IO(connection.parameters)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/AMQPStorm-2.8.1/amqpstorm/tests/unit/message_tests.py 
new/AMQPStorm-2.8.4/amqpstorm/tests/unit/message_tests.py
--- old/AMQPStorm-2.8.1/amqpstorm/tests/unit/message_tests.py   2020-06-09 
05:44:33.000000000 +0200
+++ new/AMQPStorm-2.8.4/amqpstorm/tests/unit/message_tests.py   2021-03-18 
02:28:30.000000000 +0100
@@ -37,10 +37,34 @@
         self.assertIsNone(message.content_type)
         self.assertIsNone(message.priority)
         self.assertIsNone(message.delivery_mode)
+        self.assertIsNone(message.user_id)
+        self.assertIsNone(message.message_type)
+        self.assertIsNone(message.expiration)
         self.assertIsInstance(message.message_id, str)
         self.assertIsInstance(message.correlation_id, str)
         self.assertIsInstance(message.timestamp, datetime)
 
+    def test_message_create_does_not_mutate_properties(self):
+        properties = {
+            'content_type': 'application/json',
+            'headers': {'key': 'value'}
+        }
+
+        message1 = Message.create(None, self.message, properties)
+        message2 = Message.create(None, self.message, properties)
+
+        self.assertNotIn('correlation_id', properties)
+        self.assertNotIn('message_id', properties)
+        self.assertNotIn('timestamp', properties)
+
+        self.assertIsNotNone(message1.message_id)
+        self.assertIsNotNone(message1.correlation_id)
+        self.assertIsNotNone(message1.timestamp)
+
+        self.assertNotEqual(message1.message_id, message2.message_id)
+        self.assertNotEqual(message1.correlation_id, message2.correlation_id)
+        self.assertNotEqual(message1.timestamp, message2.timestamp)
+
     def test_message_app_id_custom_value(self):
         app_id = 'my-app'
 
@@ -114,6 +138,30 @@
 
         self.assertEqual(reply_to, message.reply_to)
 
+    def test_message_expiration_custom_value(self):
+        expiration = '2000'
+
+        message = Message.create(None, '')
+        message.expiration = expiration
+
+        self.assertEqual(expiration, message.expiration)
+
+    def test_message_user_id_custom_value(self):
+        user_id = 'guest'
+
+        message = Message.create(None, '')
+        message.user_id = user_id
+
+        self.assertEqual(user_id, message.user_id)
+
+    def test_message_message_type_custom_value(self):
+        message_type = 'mymessage'
+
+        message = Message.create(None, '')
+        message.message_type = message_type
+
+        self.assertEqual(message_type, message.message_type)
+
     def test_message_redelivered(self):
         message = Message.create(body='',
                                  channel=FakeChannel())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/AMQPStorm-2.8.1/setup.py new/AMQPStorm-2.8.4/setup.py
--- old/AMQPStorm-2.8.1/setup.py        2020-06-27 05:57:13.000000000 +0200
+++ new/AMQPStorm-2.8.4/setup.py        2021-03-18 02:28:30.000000000 +0100
@@ -1,11 +1,28 @@
-import amqpstorm
+import codecs
+import os.path
 
 from setuptools import find_packages
 from setuptools import setup
 
+
+def read(rel_path):
+    here = os.path.abspath(os.path.dirname(__file__))
+    with codecs.open(os.path.join(here, rel_path), 'r') as fp:
+        return fp.read()
+
+
+def get_version(rel_path):
+    for line in read(rel_path).splitlines():
+        if line.startswith('__version__'):
+            delim = '"' if '"' in line else "'"
+            return line.split(delim)[1]
+    else:
+        raise RuntimeError("Unable to find version string.")
+
+
 setup(
     name='AMQPStorm',
-    version=amqpstorm.__version__,
+    version=get_version('amqpstorm/__init__.py'),
     description='Thread-safe Python RabbitMQ Client & Management library.',
     long_description=open('README.rst').read(),
     author='Erik Olof Gunnar Andersson',
@@ -32,6 +49,8 @@
         'Programming Language :: Python :: 3.5',
         'Programming Language :: Python :: 3.6',
         'Programming Language :: Python :: 3.7',
+        'Programming Language :: Python :: 3.8',
+        'Programming Language :: Python :: 3.9',
         'Programming Language :: Python :: Implementation :: CPython',
         'Programming Language :: Python :: Implementation :: PyPy',
         'Topic :: Communications',

++++++ pamqp3.patch ++++++
++++ 1148 lines (skipped)

Reply via email to