Dear Maintainer,

Please find attached two patches that make your package buildable in my
sid chroot environment.
Please also refers to these commits [1][2] where patches come from.

Kind Regards

[1] 
https://github.com/jplana/python-etcd/commit/68d8d5dd4ae7ece6c63f446e3c38448998cde3e4
[2] 
https://github.com/jplana/python-etcd/commit/b8f3ad0d19626b21b08892ac910fc2e72e0001b6
--- a/src/etcd/tests/unit/test_lock.py
+++ b/src/etcd/tests/unit/test_lock.py
@@ -90,8 +90,7 @@
         """
         self.locker._sequence = '4'
         retval = ('/_locks/test_lock/4', None)
-        self.locker._get_locker = mock.MagicMock(
-            spec=self.locker._get_locker, return_value=retval)
+        self.locker._get_locker = mock.MagicMock(return_value=retval)
         self.assertTrue(self.locker._acquired())
         self.assertTrue(self.locker.is_taken)
         retval = ('/_locks/test_lock/1', '/_locks/test_lock/4')
@@ -112,8 +111,7 @@
         def side_effect():
             return returns.pop()
 
-        self.locker._get_locker = mock.MagicMock(
-            spec=self.locker._get_locker, side_effect=side_effect)
+        self.locker._get_locker = mock.MagicMock(side_effect=side_effect)
         self.assertTrue(self.locker._acquired())
 
     def test_acquired_no_timeout(self):
--- a/src/etcd/tests/unit/test_lock.py
+++ b/src/etcd/tests/unit/test_lock.py
@@ -31,9 +31,9 @@
         """
         Verify the lock gets initialized correctly
         """
-        self.assertEquals(self.locker.name, u'test_lock')
-        self.assertEquals(self.locker.path, u'/_locks/test_lock')
-        self.assertEquals(self.locker.is_taken, False)
+        self.assertEqual(self.locker.name, u'test_lock')
+        self.assertEqual(self.locker.path, u'/_locks/test_lock')
+        self.assertEqual(self.locker.is_taken, False)
 
     def test_acquire(self):
         """
@@ -52,8 +52,8 @@
             }
         }
         self._mock_api(200, d)
-        self.assertEquals(l.acquire(), True)
-        self.assertEquals(l._sequence, '1')
+        self.assertEqual(l.acquire(), True)
+        self.assertEqual(l._sequence, '1')
 
     def test_is_acquired(self):
         """
@@ -70,7 +70,7 @@
         }
         self._mock_api(200, d)
         self.locker.is_taken = True
-        self.assertEquals(self.locker.is_acquired, True)
+        self.assertEqual(self.locker.is_acquired, True)
 
     def test_is_not_acquired(self):
         """
@@ -78,11 +78,11 @@
         """
         self.locker._sequence = '2'
         self.locker.is_taken = False
-        self.assertEquals(self.locker.is_acquired, False)
+        self.assertEqual(self.locker.is_acquired, False)
         self.locker.is_taken = True
         self._mock_exception(etcd.EtcdKeyNotFound, self.locker.lock_key)
-        self.assertEquals(self.locker.is_acquired, False)
-        self.assertEquals(self.locker.is_taken, False)
+        self.assertEqual(self.locker.is_acquired, False)
+        self.assertEqual(self.locker.is_taken, False)
 
     def test_acquired(self):
         """
@@ -147,11 +147,11 @@
         with self.assertRaises(ValueError):
             self.locker.lock_key
         self.locker._sequence = '5'
-        self.assertEquals(u'/_locks/test_lock/5',self.locker.lock_key)
+        self.assertEqual(u'/_locks/test_lock/5',self.locker.lock_key)
 
     def test_set_sequence(self):
         self.locker._set_sequence('/_locks/test_lock/10')
-        self.assertEquals('10', self.locker._sequence)
+        self.assertEqual('10', self.locker._sequence)
 
     def test_find_lock(self):
         d = {
@@ -171,11 +171,11 @@
         self.locker._sequence = None
         self.recursive_read()
         self.assertTrue(self.locker._find_lock())
-        self.assertEquals(self.locker._sequence, '34')
+        self.assertEqual(self.locker._sequence, '34')
 
     def test_get_locker(self):
         self.recursive_read()
-        self.assertEquals((u'/_locks/test_lock/1', etcd.EtcdResult(node={'newKey': False, '_children': [], 'createdIndex': 33, 'modifiedIndex': 33, 'value': u'2qwwwq', 'expiration': None, 'key': u'/_locks/test_lock/1', 'ttl': None, 'action': None, 'dir': False})),
+        self.assertEqual((u'/_locks/test_lock/1', etcd.EtcdResult(node={'newKey': False, '_children': [], 'createdIndex': 33, 'modifiedIndex': 33, 'value': u'2qwwwq', 'expiration': None, 'key': u'/_locks/test_lock/1', 'ttl': None, 'action': None, 'dir': False})),
                           self.locker._get_locker())
         with self.assertRaises(etcd.EtcdLockExpired):
             self.locker._sequence = '35'
--- a/src/etcd/tests/unit/test_old_request.py
+++ b/src/etcd/tests/unit/test_old_request.py
@@ -42,7 +42,7 @@
 
         result = client.set('/testkey', 'test', ttl=19)
 
-        self.assertEquals(
+        self.assertEqual(
             etcd.EtcdResult(
                 **{u'action': u'SET',
                    'node': {
@@ -67,7 +67,7 @@
                                           '"ttl":49,"modifiedIndex":203}}')
         )
         result = client.test_and_set('/testkey', 'newvalue', 'test', ttl=19)
-        self.assertEquals(
+        self.assertEqual(
             etcd.EtcdResult(
                 **{u'action': u'SET',
                    u'node': {
@@ -94,7 +94,7 @@
                 'test', ttl=19)
         except ValueError as e:
             #from ipdb import set_trace; set_trace()
-            self.assertEquals(
+            self.assertEqual(
                 'The given PrevValue is not equal'
                 ' to the value of the key : TestAndSet: 1!=3', str(e))
 
@@ -111,7 +111,7 @@
                                           '"modifiedIndex":189}}')
         )
         result = client.delete('/testkey')
-        self.assertEquals(etcd.EtcdResult(
+        self.assertEqual(etcd.EtcdResult(
             **{u'action': u'DELETE',
                u'node': {
                    u'expiration': u'2013-09-14T01:06:35.5242587+02:00',
@@ -133,7 +133,7 @@
         )
 
         result = client.get('/testkey')
-        self.assertEquals(etcd.EtcdResult(
+        self.assertEqual(etcd.EtcdResult(
             **{u'action': u'GET',
                u'node': {
                    u'modifiedIndex': 190,
@@ -154,7 +154,7 @@
         client = etcd.Client()
         client.get = mock.Mock(side_effect=etcd.EtcdKeyNotFound())
         result = '/testkey' not in client
-        self.assertEquals(True, result)
+        self.assertEqual(True, result)
 
     def test_in(self):
         """ Can check if key is in client """
@@ -169,7 +169,7 @@
         )
         result = '/testkey' in client
 
-        self.assertEquals(True, result)
+        self.assertEqual(True, result)
 
     def test_simple_watch(self):
         """ Can watch values """
@@ -186,7 +186,7 @@
                                           '"modifiedIndex":192}}')
         )
         result = client.watch('/testkey')
-        self.assertEquals(
+        self.assertEqual(
             etcd.EtcdResult(
                 **{u'action': u'SET',
                    u'node': {
@@ -213,7 +213,7 @@
                                           '"modifiedIndex":180}}')
         )
         result = client.watch('/testkey', index=180)
-        self.assertEquals(
+        self.assertEqual(
             etcd.EtcdResult(
                 **{u'action': u'SET',
                    u'node': {
@@ -267,7 +267,7 @@
         response = FakeHTTPResponse(status=200, data='arbitrary json data')
         client.http.request = mock.Mock(return_value=response)
         result = client.api_execute('/v1/keys/testkey', client._MGET)
-        self.assertEquals('arbitrary json data'.encode('utf-8'), result.data)
+        self.assertEqual('arbitrary json data'.encode('utf-8'), result.data)
 
     def test_delete(self):
         """ http delete request """
@@ -275,7 +275,7 @@
         response = FakeHTTPResponse(status=200, data='arbitrary json data')
         client.http.request = mock.Mock(return_value=response)
         result = client.api_execute('/v1/keys/testkey', client._MDELETE)
-        self.assertEquals('arbitrary json data'.encode('utf-8'), result.data)
+        self.assertEqual('arbitrary json data'.encode('utf-8'), result.data)
 
     def test_get_error(self):
         """ http get error request 101"""
@@ -289,7 +289,7 @@
             client.api_execute('/v2/keys/testkey', client._MGET)
             assert False
         except etcd.EtcdKeyNotFound as e:
-            self.assertEquals(str(e), 'message : cause')
+            self.assertEqual(str(e), 'message : cause')
 
     def test_put(self):
         """ http put request """
@@ -297,7 +297,7 @@
         response = FakeHTTPResponse(status=200, data='arbitrary json data')
         client.http.request_encode_body = mock.Mock(return_value=response)
         result = client.api_execute('/v2/keys/testkey', client._MPUT)
-        self.assertEquals('arbitrary json data'.encode('utf-8'), result.data)
+        self.assertEqual('arbitrary json data'.encode('utf-8'), result.data)
 
     def test_test_and_set_error(self):
         """ http post error request 101 """
@@ -311,7 +311,7 @@
             client.api_execute('/v2/keys/testkey', client._MPUT, payload)
             self.fail()
         except ValueError as e:
-            self.assertEquals('message : cause', str(e))
+            self.assertEqual('message : cause', str(e))
 
     def test_set_not_file_error(self):
         """ http post error request 102 """
@@ -325,7 +325,7 @@
             client.api_execute('/v2/keys/testkey', client._MPUT, payload)
             self.fail()
         except etcd.EtcdNotFile as e:
-            self.assertEquals('message : cause', str(e))
+            self.assertEqual('message : cause', str(e))
 
     def test_get_error_unknown(self):
         """ http get error request unknown """
--- a/src/etcd/tests/unit/test_request.py
+++ b/src/etcd/tests/unit/test_request.py
@@ -68,7 +68,7 @@
         }
         self._mock_api(200, d)
         self.client.write('/newdir', None, dir=True)
-        self.assertEquals(self.client.api_execute.call_args,
+        self.assertEqual(self.client.api_execute.call_args,
                           (('/v2/keys/newdir', 'PUT'),
                            dict(params={'dir': 'true'})))
 
@@ -86,7 +86,7 @@
                 'http://127.0.0.1:4002', 'http://127.0.0.1:4003']
         d = ','.join(data)
         mocker.return_value = self._prepare_response(200, d)
-        self.assertEquals(data, self.client.machines)
+        self.assertEqual(data, self.client.machines)
 
     @mock.patch('etcd.Client.machines', new_callable=mock.PropertyMock)
     def test_use_proxies(self, mocker):
@@ -101,8 +101,8 @@
             use_proxies=True
         )
 
-        self.assertEquals(c._machines_cache, ['https://localproxy:4001'])
-        self.assertEquals(c._base_uri, 'https://localhost:4001')
+        self.assertEqual(c._machines_cache, ['https://localproxy:4001'])
+        self.assertEqual(c._base_uri, 'https://localhost:4001')
         self.assertNotIn(c.base_uri, c._machines_cache)
 
         c = etcd.Client(
@@ -128,7 +128,7 @@
             ]
         }
         self._mock_api(200, data)
-        self.assertEquals(self.client.members["ce2a822cea30bfca"]["id"], "ce2a822cea30bfca")
+        self.assertEqual(self.client.members["ce2a822cea30bfca"]["id"], "ce2a822cea30bfca")
 
     def test_self_stats(self):
         """ Request for stats """
@@ -148,13 +148,13 @@
             "state": "StateFollower"
         }
         self._mock_api(200,data)
-        self.assertEquals(self.client.stats['name'], "node3")
+        self.assertEqual(self.client.stats['name'], "node3")
 
     def test_leader_stats(self):
         """ Request for leader stats """
         data = {"leader": "924e2e83e93f2560", "followers": {}}
         self._mock_api(200,data)
-        self.assertEquals(self.client.leader_stats['leader'], "924e2e83e93f2560")
+        self.assertEqual(self.client.leader_stats['leader'], "924e2e83e93f2560")
 
 
     @mock.patch('etcd.Client.members', new_callable=mock.PropertyMock)
@@ -163,7 +163,7 @@
         members = {"ce2a822cea30bfca": {"id": "ce2a822cea30bfca", "name": "default"}}
         mocker.return_value = members
         self._mock_api(200, {"leaderInfo":{"leader": "ce2a822cea30bfca", "followers": {}}})
-        self.assertEquals(self.client.leader, members["ce2a822cea30bfca"])
+        self.assertEqual(self.client.leader, members["ce2a822cea30bfca"])
 
     def test_set_plain(self):
         """ Can set a value """
@@ -179,7 +179,7 @@
 
         self._mock_api(200, d)
         res = self.client.write('/testkey', 'test')
-        self.assertEquals(res, etcd.EtcdResult(**d))
+        self.assertEqual(res, etcd.EtcdResult(**d))
 
     def test_update(self):
         """Can update a result."""
@@ -198,7 +198,7 @@
         d['node']['value'] = 'ciao'
         self._mock_api(200,d)
         newres = self.client.update(res)
-        self.assertEquals(newres.value, 'ciao')
+        self.assertEqual(newres.value, 'ciao')
 
     def test_newkey(self):
         """ Can set a new value """
@@ -215,7 +215,7 @@
         self._mock_api(201, d)
         res = self.client.write('/testkey', 'test')
         d['node']['newKey'] = True
-        self.assertEquals(res, etcd.EtcdResult(**d))
+        self.assertEqual(res, etcd.EtcdResult(**d))
 
     def test_refresh(self):
         """ Can refresh a new value """
@@ -232,7 +232,7 @@
 
         self._mock_api(200, d)
         res = self.client.refresh('/testkey', ttl=600)
-        self.assertEquals(res, etcd.EtcdResult(**d))
+        self.assertEqual(res, etcd.EtcdResult(**d))
 
     def test_not_found_response(self):
         """ Can handle server not found response """
@@ -253,7 +253,7 @@
 
         self._mock_api(200, d)
         res = self.client.write('/testkey', 'test', prevValue='test_old')
-        self.assertEquals(res, etcd.EtcdResult(**d))
+        self.assertEqual(res, etcd.EtcdResult(**d))
 
     def test_compare_and_swap_failure(self):
         """ Exception will be raised if prevValue != value in test_set """
@@ -279,7 +279,7 @@
         }
         self._mock_api(201, d)
         res = self.client.write('/testdir', 'test')
-        self.assertEquals(res.createdIndex, 190)
+        self.assertEqual(res.createdIndex, 190)
 
     def test_set_dir_with_value(self):
         """ Creating a directory with a value raises an error. """
@@ -298,7 +298,7 @@
         }
         self._mock_api(200, d)
         res = self.client.delete('/testKey')
-        self.assertEquals(res, etcd.EtcdResult(**d))
+        self.assertEqual(res, etcd.EtcdResult(**d))
 
     def test_pop(self):
         """ Can pop a value """
@@ -316,7 +316,7 @@
 
         self._mock_api(200, d)
         res = self.client.pop(d['node']['key'])
-        self.assertEquals({attr: getattr(res, attr) for attr in dir(res)
+        self.assertEqual({attr: getattr(res, attr) for attr in dir(res)
                            if attr in etcd.EtcdResult._node_props}, d['prevNode'])
         self.assertEqual(res.value, d['prevNode']['value'])
 
@@ -332,7 +332,7 @@
         }
         self._mock_api(200, d)
         res = self.client.read('/testKey')
-        self.assertEquals(res, etcd.EtcdResult(**d))
+        self.assertEqual(res, etcd.EtcdResult(**d))
 
     def test_get_dir(self):
         """Can get values in dirs"""
@@ -358,7 +358,7 @@
         }
         self._mock_api(200, d)
         res = self.client.read('/testDir', recursive=True)
-        self.assertEquals(res, etcd.EtcdResult(**d))
+        self.assertEqual(res, etcd.EtcdResult(**d))
 
     def test_not_in(self):
         """ Can check if key is not in client """
@@ -390,7 +390,7 @@
         }
         self._mock_api(200, d)
         res = self.client.read('/testkey', wait=True)
-        self.assertEquals(res, etcd.EtcdResult(**d))
+        self.assertEqual(res, etcd.EtcdResult(**d))
 
     def test_watch_index(self):
         """ Can watch a key starting from the given Index """
@@ -404,7 +404,7 @@
         }
         self._mock_api(200, d)
         res = self.client.read('/testkey', wait=True, waitIndex=True)
-        self.assertEquals(res, etcd.EtcdResult(**d))
+        self.assertEqual(res, etcd.EtcdResult(**d))
 
 
 class TestClientRequest(TestClientApiInterface):
--- a/src/etcd/tests/unit/test_client.py
+++ b/src/etcd/tests/unit/test_client.py
@@ -142,8 +142,8 @@
                 timeout=mock.ANY)
 
             # Verify the properties while we are here
-            self.assertEquals('2.2.3', client.version)
-            self.assertEquals('2.3.0', client.cluster_version)
+            self.assertEqual('2.2.3', client.version)
+            self.assertEqual('2.3.0', client.cluster_version)
 
     def test_version_property(self):
         """Ensure the version property is set on first access."""
@@ -157,7 +157,7 @@
             client = etcd.Client()
 
             # Verify the version property is set
-            self.assertEquals('2.2.3', client.version)
+            self.assertEqual('2.2.3', client.version)
 
     def test_cluster_version_property(self):
         """Ensure the cluster version property is set on first access."""
@@ -171,7 +171,7 @@
             client = etcd.Client()
 
             # Verify the cluster_version property is set
-            self.assertEquals('2.3.0', client.cluster_version)
+            self.assertEqual('2.3.0', client.cluster_version)
 
     def test_get_headers_without_auth(self):
         client = etcd.Client()
@@ -207,7 +207,7 @@
         etcd.Client.machines = mock.create_autospec(etcd.Client.machines, return_value=[u'https://etcd2.example.com:2379'])
         c = etcd.Client(srv_domain="example.com", allow_reconnect=True, protocol="https")
         etcd.Client.machines = self.machines
-        self.assertEquals(c.host, u'etcd1.example.com')
-        self.assertEquals(c.port, 2379)
-        self.assertEquals(c._machines_cache,
+        self.assertEqual(c.host, u'etcd1.example.com')
+        self.assertEqual(c.port, 2379)
+        self.assertEqual(c._machines_cache,
                           [u'https://etcd2.example.com:2379'])

 

Reply via email to