Deal with mypy errors w/ type-hinted pynacl 1.5.0 (#11714)
* Deal with mypy errors w/ type-hinted pynacl 1.5.0 Fixes #11644. I really don't like that we're monkey patching pynacl SignedKey instances with alg and version objects. But I'm too scared to make the changes necessary right now. (Ideally I would replace `signedjson.types.SingingKey` with a runtime class which wraps or inherits from `nacl.signing.SigningKey`.) C.f. https://github.com/matrix-org/python-signedjson/issues/16pull/11764/head
parent
2185b28184
commit
1b1aed38e3
|
@ -0,0 +1 @@
|
||||||
|
Fix a typechecker problem related to our (ab)use of `nacl.signing.SigningKey`s.
|
|
@ -14,6 +14,7 @@
|
||||||
|
|
||||||
|
|
||||||
import nacl.signing
|
import nacl.signing
|
||||||
|
import signedjson.types
|
||||||
from unpaddedbase64 import decode_base64
|
from unpaddedbase64 import decode_base64
|
||||||
|
|
||||||
from synapse.api.room_versions import RoomVersions
|
from synapse.api.room_versions import RoomVersions
|
||||||
|
@ -35,7 +36,12 @@ HOSTNAME = "domain"
|
||||||
|
|
||||||
class EventSigningTestCase(unittest.TestCase):
|
class EventSigningTestCase(unittest.TestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.signing_key = nacl.signing.SigningKey(SIGNING_KEY_SEED)
|
# NB: `signedjson` expects `nacl.signing.SigningKey` instances which have been
|
||||||
|
# monkeypatched to include new `alg` and `version` attributes. This is captured
|
||||||
|
# by the `signedjson.types.SigningKey` protocol.
|
||||||
|
self.signing_key: signedjson.types.SigningKey = nacl.signing.SigningKey(
|
||||||
|
SIGNING_KEY_SEED
|
||||||
|
)
|
||||||
self.signing_key.alg = KEY_ALG
|
self.signing_key.alg = KEY_ALG
|
||||||
self.signing_key.version = KEY_VER
|
self.signing_key.version = KEY_VER
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue