summaryrefslogtreecommitdiff
path: root/gitlab/tests
diff options
context:
space:
mode:
authorMax Wittig <max.wittig@siemens.com>2019-02-22 13:12:04 +0100
committerGitHub <noreply@github.com>2019-02-22 13:12:04 +0100
commita4ea0fe6b91d856b30d25c9f0f71ef9cae8f3f08 (patch)
tree699a183bb6c71a29ef162cbdbbca21ae9cea039b /gitlab/tests
parent57fa4e37aaf6ccee0d75085520f96fd15752a3df (diff)
parent3d60850aa42351a0bb0066ef579ade95df5a81ee (diff)
downloadgitlab-a4ea0fe6b91d856b30d25c9f0f71ef9cae8f3f08.tar.gz
Merge pull request #702 from jpiron/eq_hash
Implement __eq__ and __hash__ methods
Diffstat (limited to 'gitlab/tests')
-rw-r--r--gitlab/tests/test_base.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/gitlab/tests/test_base.py b/gitlab/tests/test_base.py
index 36cb63b..b29d423 100644
--- a/gitlab/tests/test_base.py
+++ b/gitlab/tests/test_base.py
@@ -134,3 +134,26 @@ class TestRESTObject(unittest.TestCase):
self.assertIsInstance(obj.fakes, FakeManager)
self.assertEqual(obj.fakes.gitlab, self.gitlab)
self.assertEqual(obj.fakes._parent, obj)
+
+ def test_equality(self):
+ obj1 = FakeObject(self.manager, {'id': 'foo'})
+ obj2 = FakeObject(self.manager, {'id': 'foo', 'other_attr': 'bar'})
+ self.assertEqual(obj1, obj2)
+
+ def test_equality_custom_id(self):
+ class OtherFakeObject(FakeObject):
+ _id_attr = 'foo'
+
+ obj1 = OtherFakeObject(self.manager, {'foo': 'bar'})
+ obj2 = OtherFakeObject(self.manager, {'foo': 'bar', 'other_attr': 'baz'})
+ self.assertEqual(obj1, obj2)
+
+ def test_inequality(self):
+ obj1 = FakeObject(self.manager, {'id': 'foo'})
+ obj2 = FakeObject(self.manager, {'id': 'bar'})
+ self.assertNotEqual(obj1, obj2)
+
+ def test_inequality_no_id(self):
+ obj1 = FakeObject(self.manager, {'attr1': 'foo'})
+ obj2 = FakeObject(self.manager, {'attr1': 'bar'})
+ self.assertNotEqual(obj1, obj2)