diff options
-rw-r--r-- | synapse/handlers/device.py | 2 | ||||
-rw-r--r-- | synapse/rest/client/v1/login.py | 2 | ||||
-rw-r--r-- | synapse/storage/data_stores/main/devices.py | 3 | ||||
-rw-r--r-- | tests/rest/client/v1/test_login.py | 30 |
4 files changed, 17 insertions, 20 deletions
diff --git a/synapse/handlers/device.py b/synapse/handlers/device.py index 0923466db4..8995be8446 100644 --- a/synapse/handlers/device.py +++ b/synapse/handlers/device.py @@ -562,7 +562,7 @@ class DeviceHandler(DeviceWorkerHandler): async def cancel_rehydrate(self, token: str) -> dict: # FIXME: if can't find token, return 404 - token_info = await self.store.clear_dehydration_token(token) + token_info = await self.store.clear_dehydration_token(token, False) # create device and access token from original login submission login_submission = token_info.get("login_submission") device_id = login_submission.get("device_id") diff --git a/synapse/rest/client/v1/login.py b/synapse/rest/client/v1/login.py index 6a03ccf40e..9e6748d4d1 100644 --- a/synapse/rest/client/v1/login.py +++ b/synapse/rest/client/v1/login.py @@ -424,7 +424,7 @@ class LoginRestServlet(RestServlet): class RestoreDeviceServlet(RestServlet): - PATTERNS = client_patterns("/org.matrix.msc26997/restore_device") + PATTERNS = client_patterns("/org.matrix.msc2697/restore_device") def __init__(self, hs): super(RestoreDeviceServlet, self).__init__() diff --git a/synapse/storage/data_stores/main/devices.py b/synapse/storage/data_stores/main/devices.py index 8555d47ad4..0ad4846463 100644 --- a/synapse/storage/data_stores/main/devices.py +++ b/synapse/storage/data_stores/main/devices.py @@ -729,6 +729,7 @@ class DeviceWorkerStore(SQLBaseStore): ) async def get_dehydrated_device(self, user_id: str) -> Tuple[str, str]: + # FIXME: make sure device ID still exists in devices table row = await self.db.simple_select_one( table="dehydrated_devices", keyvalues={"user_id": user_id}, @@ -761,7 +762,7 @@ class DeviceWorkerStore(SQLBaseStore): self.db.simple_update_txn( txn, table="dehydrated_devices", - keyvalues={"user_id", user_id}, + keyvalues={"user_id": user_id}, updatevalues={"device_id": device_id, "device_data": device_data,}, ) return old_device_id diff --git a/tests/rest/client/v1/test_login.py b/tests/rest/client/v1/test_login.py index cafa581be7..d0c3f40e78 100644 --- a/tests/rest/client/v1/test_login.py +++ b/tests/rest/client/v1/test_login.py @@ -779,13 +779,12 @@ class DehydrationTestCase(unittest.HomeserverTestCase): access_token = self.login("kermit", "monkey") # dehydrate a device - params = json.dumps({ - "device_data": "foobar" - }) + params = json.dumps({"device_data": "foobar"}) request, channel = self.make_request( - b"POST", b"/_matrix/client/unstable/org.matrix.msc2697/device/dehydrate", + b"POST", + b"/_matrix/client/unstable/org.matrix.msc2697/device/dehydrate", params, - access_token=access_token + access_token=access_token, ) self.render(request) self.assertEquals(channel.code, 200, channel.result) @@ -798,25 +797,22 @@ class DehydrationTestCase(unittest.HomeserverTestCase): self.render(request) # log in, requesting a dehydrated device - params = json.dumps({ - "type": "m.login.password", - "user": "kermit", - "password": "monkey", - "org.matrix.msc2697.restore_device": True, - }) - request, channel = self.make_request( - "POST", "/_matrix/client/r0/login", params + params = json.dumps( + { + "type": "m.login.password", + "user": "kermit", + "password": "monkey", + "org.matrix.msc2697.restore_device": True, + } ) + request, channel = self.make_request("POST", "/_matrix/client/r0/login", params) self.render(request) self.assertEqual(channel.code, 200, channel.result) self.assertEqual(channel.json_body["device_data"], "foobar") self.assertEqual(channel.json_body["device_id"], dehydrated_device_id) dehydration_token = channel.json_body["dehydration_token"] - params = json.dumps({ - "rehydrate": True, - "dehydration_token": dehydration_token - }) + params = json.dumps({"rehydrate": True, "dehydration_token": dehydration_token}) request, channel = self.make_request( "POST", "/_matrix/client/unstable/org.matrix.msc2697/restore_device", params ) |