summaryrefslogtreecommitdiff
path: root/glanceclient/tests/unit/test_base.py
diff options
context:
space:
mode:
authorRui Chen <chenrui.momo@gmail.com>2015-11-28 18:15:52 +0800
committerRui Chen <chenrui.momo@gmail.com>2015-11-28 18:15:52 +0800
commit7651b596a3f4d254220ae7da447a07e748908ab3 (patch)
treeeaf865ec81b1c5e7016d40df85f869e51bfbca8b /glanceclient/tests/unit/test_base.py
parentc4cb6a42ef3f8bc80ee534e514954a4df055583b (diff)
downloadpython-glanceclient-7651b596a3f4d254220ae7da447a07e748908ab3.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: I24ba39bf90d727116f256de46241746520efbfee Closes-Bug: #1499369
Diffstat (limited to 'glanceclient/tests/unit/test_base.py')
-rw-r--r--glanceclient/tests/unit/test_base.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/glanceclient/tests/unit/test_base.py b/glanceclient/tests/unit/test_base.py
index 4a97de8..ddbc3d7 100644
--- a/glanceclient/tests/unit/test_base.py
+++ b/glanceclient/tests/unit/test_base.py
@@ -32,10 +32,16 @@ class TestBase(testtools.TestCase):
id = 4
self.assertEqual(4, base.getid(TmpObject))
- def test_two_resources_with_same_id_are_equal(self):
- # Two resources of the same type with the same id: equal
+ def test_two_resources_with_same_id_are_not_equal(self):
+ # 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)
+
+ def test_two_resources_with_same_id_and_info_are_equal(self):
+ # 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)
def test_two_resources_with_eq_info_are_equal(self):