mirror of
https://github.com/element-hq/synapse.git
synced 2024-11-23 01:55:53 +03:00
Support PyJWT v2.0.0. (#8986)
Tests were broken due to an API changing. The code used in Synapse proper should be compatible with both versions already.
This commit is contained in:
parent
4218473f9e
commit
a802606475
2 changed files with 13 additions and 4 deletions
1
changelog.d/8986.misc
Normal file
1
changelog.d/8986.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Support using PyJWT v2.0.0 in the test suite.
|
|
@ -475,8 +475,12 @@ class JWTTestCase(unittest.HomeserverTestCase):
|
|||
self.hs.config.jwt_algorithm = self.jwt_algorithm
|
||||
return self.hs
|
||||
|
||||
def jwt_encode(self, token, secret=jwt_secret):
|
||||
return jwt.encode(token, secret, self.jwt_algorithm).decode("ascii")
|
||||
def jwt_encode(self, token: str, secret: str = jwt_secret) -> str:
|
||||
# PyJWT 2.0.0 changed the return type of jwt.encode from bytes to str.
|
||||
result = jwt.encode(token, secret, self.jwt_algorithm)
|
||||
if isinstance(result, bytes):
|
||||
return result.decode("ascii")
|
||||
return result
|
||||
|
||||
def jwt_login(self, *args):
|
||||
params = json.dumps(
|
||||
|
@ -680,8 +684,12 @@ class JWTPubKeyTestCase(unittest.HomeserverTestCase):
|
|||
self.hs.config.jwt_algorithm = "RS256"
|
||||
return self.hs
|
||||
|
||||
def jwt_encode(self, token, secret=jwt_privatekey):
|
||||
return jwt.encode(token, secret, "RS256").decode("ascii")
|
||||
def jwt_encode(self, token: str, secret: str = jwt_privatekey) -> str:
|
||||
# PyJWT 2.0.0 changed the return type of jwt.encode from bytes to str.
|
||||
result = jwt.encode(token, secret, "RS256")
|
||||
if isinstance(result, bytes):
|
||||
return result.decode("ascii")
|
||||
return result
|
||||
|
||||
def jwt_login(self, *args):
|
||||
params = json.dumps(
|
||||
|
|
Loading…
Reference in a new issue