diff options
author | Sean Quah <8349537+squahtx@users.noreply.github.com> | 2021-10-01 17:22:13 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-01 17:22:13 +0100 |
commit | d1cbad388fc42d483e0e3b107620852f359d2cc8 (patch) | |
tree | fa0ebf1ce9b8e0444f12f97c8ba9d2845ab57330 /tests/storage/test_client_ips.py | |
parent | Strip "join_authorised_via_users_server" from join events which do not need i... (diff) | |
download | synapse-d1cbad388fc42d483e0e3b107620852f359d2cc8.tar.xz |
Fix error in `get_user_ip_and_agents` when fetching from the database (#10968)
Diffstat (limited to 'tests/storage/test_client_ips.py')
-rw-r--r-- | tests/storage/test_client_ips.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/storage/test_client_ips.py b/tests/storage/test_client_ips.py index 1c2df54ecc..3cc8038f1e 100644 --- a/tests/storage/test_client_ips.py +++ b/tests/storage/test_client_ips.py @@ -15,9 +15,12 @@ from unittest.mock import Mock +from parameterized import parameterized + import synapse.rest.admin from synapse.http.site import XForwardedForRequest from synapse.rest.client import login +from synapse.types import UserID from tests import unittest from tests.server import make_request @@ -143,6 +146,37 @@ class ClientIpStoreTestCase(unittest.HomeserverTestCase): ], ) + @parameterized.expand([(False,), (True,)]) + def test_get_user_ip_and_agents(self, after_persisting: bool): + """Test `get_user_ip_and_agents` for persisted and unpersisted data""" + self.reactor.advance(12345678) + + user_id = "@user:id" + user = UserID.from_string(user_id) + + # Insert a user IP + self.get_success( + self.store.insert_client_ip( + user_id, "access_token", "ip", "user_agent", "MY_DEVICE" + ) + ) + + if after_persisting: + # Trigger the storage loop + self.reactor.advance(10) + + self.assertEqual( + self.get_success(self.store.get_user_ip_and_agents(user)), + [ + { + "access_token": "access_token", + "ip": "ip", + "user_agent": "user_agent", + "last_seen": 12345678000, + }, + ], + ) + @override_config({"limit_usage_by_mau": False, "max_mau_value": 50}) def test_disabled_monthly_active_user(self): user_id = "@user:server" |