diff options
-rw-r--r-- | base/server/python/pki/server/__init__.py | 6 | ||||
-rw-r--r-- | tests/python/server/test_server.py | 15 |
2 files changed, 15 insertions, 6 deletions
diff --git a/base/server/python/pki/server/__init__.py b/base/server/python/pki/server/__init__.py index abcce7167..114a6e461 100644 --- a/base/server/python/pki/server/__init__.py +++ b/base/server/python/pki/server/__init__.py @@ -115,7 +115,8 @@ class PKISubsystem(object): self.instance < other.instance or self_type < other_type) - __hash__ = None + def __hash__(self): + return hash((self.name, self.instance, self.type)) def load(self): self.config.clear() @@ -424,7 +425,8 @@ class PKIInstance(object): return (self.name < other.name or self.type < other.type) - __hash__ = None + def __hash__(self): + return hash((self.name, self.type)) def is_valid(self): return os.path.exists(self.conf_dir) diff --git a/tests/python/server/test_server.py b/tests/python/server/test_server.py index 646e6826f..af540faa0 100644 --- a/tests/python/server/test_server.py +++ b/tests/python/server/test_server.py @@ -36,8 +36,12 @@ class PKIServerTests(unittest.TestCase): self.assertFalse(ca != ca) self.assertFalse(ca == ca9) self.assertTrue(ca != ca9) - with self.assertRaises(TypeError): - hash(ca) + d = {ca: 1, ca9: 2} + self.assertEqual(sorted(d), [ca9, ca]) + d.pop(ca9) + self.assertEqual(sorted(d), [ca]) + self.assertIn(ca, d) + self.assertNotIn(ca9, d) def test_subsystem(self): ca = PKIInstance('ca') @@ -53,8 +57,11 @@ class PKIServerTests(unittest.TestCase): self.assertTrue(casub != krasub) self.assertFalse(ca == casub) self.assertTrue(ca != casub) - with self.assertRaises(TypeError): - hash(casub) + d = {casub: 1, krasub: 2} + self.assertEqual(sorted(d), [casub, krasub]) + self.assertIn(casub, d) + d.pop(casub) + self.assertNotIn(casub, d) if __name__ == '__main__': |