summaryrefslogtreecommitdiff
path: root/keystoneclient/tests/unit
diff options
context:
space:
mode:
authorRui Chen <chenrui.momo@gmail.com>2015-12-01 20:32:51 +0800
committerRui Chen <chenrui.momo@gmail.com>2015-12-16 07:53:31 +0000
commitfcbb2d724899e265e168100718399f7886f3f1f5 (patch)
tree65a9ad2b4d46f7c61560e1429fa60716e905dfb2 /keystoneclient/tests/unit
parent131366495cab62e231ce38c5ac754fb08aa9f340 (diff)
downloadpython-keystoneclient-fcbb2d724899e265e168100718399f7886f3f1f5.tar.gz
Fix Resource.__eq__ mismatch semantics of object equal
The __eq__ of apiclient.base.Resource will return True, if the two objects have same id, even if they have different other attributes value. The behavior is weird and don't match the semantics of object equal. The objects that have different value should be different objects. Fix this issue and add some test cases in this patch. Change-Id: I1565c6e66d6dd6cf7bd2b7e8526157190deb45de Closes-Bug: #1499369
Diffstat (limited to 'keystoneclient/tests/unit')
-rw-r--r--keystoneclient/tests/unit/test_base.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/keystoneclient/tests/unit/test_base.py b/keystoneclient/tests/unit/test_base.py
index 601aa33..38644c0 100644
--- a/keystoneclient/tests/unit/test_base.py
+++ b/keystoneclient/tests/unit/test_base.py
@@ -53,9 +53,14 @@ class BaseTest(utils.TestCase):
self.assertRaises(AttributeError, getattr, f, 'blahblah')
def test_eq(self):
- # Two resources of the same type with the same id: equal
+ # Two resources with same ID: never equal if their info is not equal
r1 = base.Resource(None, {'id': 1, 'name': 'hi'})
r2 = base.Resource(None, {'id': 1, 'name': 'hello'})
+ self.assertNotEqual(r1, r2)
+
+ # Two resources with same ID: equal if their info is equal
+ r1 = base.Resource(None, {'id': 1, 'name': 'hello'})
+ r2 = base.Resource(None, {'id': 1, 'name': 'hello'})
self.assertEqual(r1, r2)
# Two resoruces of different types: never equal