mirror of
https://github.com/element-hq/synapse.git
synced 2025-09-17 11:05:10 +02:00
Refactor cache metrics to be homeserver-scoped (#18604)
(add `server_name` label to cache metrics). Part of https://github.com/element-hq/synapse/issues/18592
This commit is contained in:
@@ -60,7 +60,7 @@ class AuthTestCase(unittest.HomeserverTestCase):
|
||||
# modify its config instead of the hs'
|
||||
self.auth_blocking = AuthBlocking(hs)
|
||||
|
||||
self.test_user = "@foo:bar"
|
||||
self.test_user_id = UserID.from_string("@foo:bar")
|
||||
self.test_token = b"_test_token_"
|
||||
|
||||
# this is overridden for the appservice tests
|
||||
@@ -71,7 +71,7 @@ class AuthTestCase(unittest.HomeserverTestCase):
|
||||
|
||||
def test_get_user_by_req_user_valid_token(self) -> None:
|
||||
user_info = TokenLookupResult(
|
||||
user_id=self.test_user, token_id=5, device_id="device"
|
||||
user_id=self.test_user_id.to_string(), token_id=5, device_id="device"
|
||||
)
|
||||
self.store.get_user_by_access_token = AsyncMock(return_value=user_info)
|
||||
self.store.mark_access_token_as_used = AsyncMock(return_value=None)
|
||||
@@ -81,7 +81,7 @@ class AuthTestCase(unittest.HomeserverTestCase):
|
||||
request.args[b"access_token"] = [self.test_token]
|
||||
request.requestHeaders.getRawHeaders = mock_getRawHeaders()
|
||||
requester = self.get_success(self.auth.get_user_by_req(request))
|
||||
self.assertEqual(requester.user.to_string(), self.test_user)
|
||||
self.assertEqual(requester.user, self.test_user_id)
|
||||
|
||||
def test_get_user_by_req_user_bad_token(self) -> None:
|
||||
self.store.get_user_by_access_token = AsyncMock(return_value=None)
|
||||
@@ -96,7 +96,7 @@ class AuthTestCase(unittest.HomeserverTestCase):
|
||||
self.assertEqual(f.errcode, "M_UNKNOWN_TOKEN")
|
||||
|
||||
def test_get_user_by_req_user_missing_token(self) -> None:
|
||||
user_info = TokenLookupResult(user_id=self.test_user, token_id=5)
|
||||
user_info = TokenLookupResult(user_id=self.test_user_id.to_string(), token_id=5)
|
||||
self.store.get_user_by_access_token = AsyncMock(return_value=user_info)
|
||||
|
||||
request = Mock(args={})
|
||||
@@ -109,7 +109,10 @@ class AuthTestCase(unittest.HomeserverTestCase):
|
||||
|
||||
def test_get_user_by_req_appservice_valid_token(self) -> None:
|
||||
app_service = Mock(
|
||||
token="foobar", url="a_url", sender=self.test_user, ip_range_whitelist=None
|
||||
token="foobar",
|
||||
url="a_url",
|
||||
sender=self.test_user_id,
|
||||
ip_range_whitelist=None,
|
||||
)
|
||||
self.store.get_app_service_by_token = Mock(return_value=app_service)
|
||||
self.store.get_user_by_access_token = AsyncMock(return_value=None)
|
||||
@@ -119,7 +122,7 @@ class AuthTestCase(unittest.HomeserverTestCase):
|
||||
request.args[b"access_token"] = [self.test_token]
|
||||
request.requestHeaders.getRawHeaders = mock_getRawHeaders()
|
||||
requester = self.get_success(self.auth.get_user_by_req(request))
|
||||
self.assertEqual(requester.user.to_string(), self.test_user)
|
||||
self.assertEqual(requester.user, self.test_user_id)
|
||||
|
||||
def test_get_user_by_req_appservice_valid_token_good_ip(self) -> None:
|
||||
from netaddr import IPSet
|
||||
@@ -127,7 +130,7 @@ class AuthTestCase(unittest.HomeserverTestCase):
|
||||
app_service = Mock(
|
||||
token="foobar",
|
||||
url="a_url",
|
||||
sender=self.test_user,
|
||||
sender=self.test_user_id.to_string(),
|
||||
ip_range_whitelist=IPSet(["192.168.0.0/16"]),
|
||||
)
|
||||
self.store.get_app_service_by_token = Mock(return_value=app_service)
|
||||
@@ -138,7 +141,7 @@ class AuthTestCase(unittest.HomeserverTestCase):
|
||||
request.args[b"access_token"] = [self.test_token]
|
||||
request.requestHeaders.getRawHeaders = mock_getRawHeaders()
|
||||
requester = self.get_success(self.auth.get_user_by_req(request))
|
||||
self.assertEqual(requester.user.to_string(), self.test_user)
|
||||
self.assertEqual(requester.user, self.test_user_id)
|
||||
|
||||
def test_get_user_by_req_appservice_valid_token_bad_ip(self) -> None:
|
||||
from netaddr import IPSet
|
||||
@@ -146,7 +149,7 @@ class AuthTestCase(unittest.HomeserverTestCase):
|
||||
app_service = Mock(
|
||||
token="foobar",
|
||||
url="a_url",
|
||||
sender=self.test_user,
|
||||
sender=self.test_user_id,
|
||||
ip_range_whitelist=IPSet(["192.168.0.0/16"]),
|
||||
)
|
||||
self.store.get_app_service_by_token = Mock(return_value=app_service)
|
||||
@@ -176,7 +179,7 @@ class AuthTestCase(unittest.HomeserverTestCase):
|
||||
self.assertEqual(f.errcode, "M_UNKNOWN_TOKEN")
|
||||
|
||||
def test_get_user_by_req_appservice_missing_token(self) -> None:
|
||||
app_service = Mock(token="foobar", url="a_url", sender=self.test_user)
|
||||
app_service = Mock(token="foobar", url="a_url", sender=self.test_user_id)
|
||||
self.store.get_app_service_by_token = Mock(return_value=app_service)
|
||||
self.store.get_user_by_access_token = AsyncMock(return_value=None)
|
||||
|
||||
@@ -191,7 +194,10 @@ class AuthTestCase(unittest.HomeserverTestCase):
|
||||
def test_get_user_by_req_appservice_valid_token_valid_user_id(self) -> None:
|
||||
masquerading_user_id = b"@doppelganger:matrix.org"
|
||||
app_service = Mock(
|
||||
token="foobar", url="a_url", sender=self.test_user, ip_range_whitelist=None
|
||||
token="foobar",
|
||||
url="a_url",
|
||||
sender=self.test_user_id,
|
||||
ip_range_whitelist=None,
|
||||
)
|
||||
app_service.is_interested_in_user = Mock(return_value=True)
|
||||
self.store.get_app_service_by_token = Mock(return_value=app_service)
|
||||
@@ -215,7 +221,10 @@ class AuthTestCase(unittest.HomeserverTestCase):
|
||||
def test_get_user_by_req_appservice_valid_token_bad_user_id(self) -> None:
|
||||
masquerading_user_id = b"@doppelganger:matrix.org"
|
||||
app_service = Mock(
|
||||
token="foobar", url="a_url", sender=self.test_user, ip_range_whitelist=None
|
||||
token="foobar",
|
||||
url="a_url",
|
||||
sender=self.test_user_id,
|
||||
ip_range_whitelist=None,
|
||||
)
|
||||
app_service.is_interested_in_user = Mock(return_value=False)
|
||||
self.store.get_app_service_by_token = Mock(return_value=app_service)
|
||||
@@ -238,7 +247,10 @@ class AuthTestCase(unittest.HomeserverTestCase):
|
||||
masquerading_user_id = b"@doppelganger:matrix.org"
|
||||
masquerading_device_id = b"DOPPELDEVICE"
|
||||
app_service = Mock(
|
||||
token="foobar", url="a_url", sender=self.test_user, ip_range_whitelist=None
|
||||
token="foobar",
|
||||
url="a_url",
|
||||
sender=self.test_user_id,
|
||||
ip_range_whitelist=None,
|
||||
)
|
||||
app_service.is_interested_in_user = Mock(return_value=True)
|
||||
self.store.get_app_service_by_token = Mock(return_value=app_service)
|
||||
@@ -270,7 +282,10 @@ class AuthTestCase(unittest.HomeserverTestCase):
|
||||
masquerading_user_id = b"@doppelganger:matrix.org"
|
||||
masquerading_device_id = b"NOT_A_REAL_DEVICE_ID"
|
||||
app_service = Mock(
|
||||
token="foobar", url="a_url", sender=self.test_user, ip_range_whitelist=None
|
||||
token="foobar",
|
||||
url="a_url",
|
||||
sender=self.test_user_id,
|
||||
ip_range_whitelist=None,
|
||||
)
|
||||
app_service.is_interested_in_user = Mock(return_value=True)
|
||||
self.store.get_app_service_by_token = Mock(return_value=app_service)
|
||||
@@ -436,7 +451,7 @@ class AuthTestCase(unittest.HomeserverTestCase):
|
||||
namespaces={
|
||||
"users": [{"regex": "@_appservice.*:sender", "exclusive": True}]
|
||||
},
|
||||
sender="@appservice:sender",
|
||||
sender=UserID.from_string("@appservice:server"),
|
||||
)
|
||||
requester = Requester(
|
||||
user=UserID.from_string("@appservice:server"),
|
||||
@@ -467,7 +482,7 @@ class AuthTestCase(unittest.HomeserverTestCase):
|
||||
namespaces={
|
||||
"users": [{"regex": "@_appservice.*:sender", "exclusive": True}]
|
||||
},
|
||||
sender="@appservice:sender",
|
||||
sender=UserID.from_string("@appservice:server"),
|
||||
)
|
||||
requester = Requester(
|
||||
user=UserID.from_string("@appservice:server"),
|
||||
|
||||
@@ -5,7 +5,7 @@ from synapse.appservice import ApplicationService
|
||||
from synapse.config.ratelimiting import RatelimitSettings
|
||||
from synapse.module_api import RatelimitOverride
|
||||
from synapse.module_api.callbacks.ratelimit_callbacks import RatelimitModuleApiCallbacks
|
||||
from synapse.types import create_requester
|
||||
from synapse.types import UserID, create_requester
|
||||
|
||||
from tests import unittest
|
||||
|
||||
@@ -40,7 +40,7 @@ class TestRatelimiter(unittest.HomeserverTestCase):
|
||||
token="fake_token",
|
||||
id="foo",
|
||||
rate_limited=True,
|
||||
sender="@as:example.com",
|
||||
sender=UserID.from_string("@as:example.com"),
|
||||
)
|
||||
as_requester = create_requester("@user:example.com", app_service=appservice)
|
||||
|
||||
@@ -76,7 +76,7 @@ class TestRatelimiter(unittest.HomeserverTestCase):
|
||||
token="fake_token",
|
||||
id="foo",
|
||||
rate_limited=False,
|
||||
sender="@as:example.com",
|
||||
sender=UserID.from_string("@as:example.com"),
|
||||
)
|
||||
as_requester = create_requester("@user:example.com", app_service=appservice)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user