Skip to content

Commit 27d7c8a

Browse files
authored
fix(jwk): handle KeySet equality with unrelated types (#106)
1 parent 397e04f commit 27d7c8a

2 files changed

Lines changed: 7 additions & 1 deletion

File tree

‎src/joserfc/_keys.py‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,8 @@ def __bool__(self) -> bool:
124124
return bool(self.keys)
125125

126126
def __eq__(self, other: t.Any) -> bool:
127-
assert isinstance(other, KeySet)
127+
if not isinstance(other, KeySet):
128+
return False
128129
return self.keys == other.keys
129130

130131
def as_dict(self, private: bool = False, **params: t.Any) -> KeySetSerialization:

‎tests/jwk/test_jwk_set.py‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,3 +103,8 @@ def test_key_eq_with_new_keys(self):
103103
key_set2 = KeySet([RSAKey.import_key(k.as_dict(private=True)) for k in key_set1])
104104
self.assertIsNot(key_set1, key_set2)
105105
self.assertEqual(key_set1, key_set2)
106+
107+
def test_key_set_eq_with_unrelated_type(self):
108+
key_set = KeySet.generate_key_set("oct", 8, count=1)
109+
self.assertFalse(key_set == "foo")
110+
self.assertNotEqual(key_set, "foo")

0 commit comments

Comments
 (0)