diff options
author | Patrick Cloke <clokep@users.noreply.github.com> | 2020-02-10 16:35:26 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-10 16:35:26 -0500 |
commit | a92e703ab9d78aecc062e797f941bb7e206650a5 (patch) | |
tree | e2bfb9fd6945bc887358ade97c950228ad996281 /tests/handlers/test_device.py | |
parent | Add an additional test to the SyTest blacklist for worker mode. (#6883) (diff) | |
download | synapse-a92e703ab9d78aecc062e797f941bb7e206650a5.tar.xz |
Reject device display names that are too long (#6882)
* Reject device display names that are too long. Too long is currently defined as 100 characters in length. * Add a regression test for rejecting a too long device display name.
Diffstat (limited to 'tests/handlers/test_device.py')
-rw-r--r-- | tests/handlers/test_device.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/handlers/test_device.py b/tests/handlers/test_device.py index a3aa0a1cf2..62b47f6574 100644 --- a/tests/handlers/test_device.py +++ b/tests/handlers/test_device.py @@ -160,6 +160,24 @@ class DeviceTestCase(unittest.HomeserverTestCase): res = self.get_success(self.handler.get_device(user1, "abc")) self.assertEqual(res["display_name"], "new display") + def test_update_device_too_long_display_name(self): + """Update a device with a display name that is invalid (too long).""" + self._record_users() + + # Request to update a device display name with a new value that is longer than allowed. + update = { + "display_name": "a" + * (synapse.handlers.device.MAX_DEVICE_DISPLAY_NAME_LEN + 1) + } + self.get_failure( + self.handler.update_device(user1, "abc", update), + synapse.api.errors.SynapseError, + ) + + # Ensure the display name was not updated. + res = self.get_success(self.handler.get_device(user1, "abc")) + self.assertEqual(res["display_name"], "display 2") + def test_update_unknown_device(self): update = {"display_name": "new_display"} res = self.handler.update_device("user_id", "unknown_device_id", update) |