Update mocks in tests to work with new utility function

This commit is contained in:
Andrew Morgan
2025-10-01 17:23:19 +01:00
parent d912558c4f
commit 50b74bac93
5 changed files with 18 additions and 11 deletions

View File

@@ -314,7 +314,8 @@ class BaseAuth:
client_address, IPv6Address client_address, IPv6Address
): ):
logger.error( logger.error(
"Unable to view IP address of the requester. Check that you are setting the X-Forwarded-For header correctly in your reverse proxy. Assuming '127.0.0.1'" "Unable to view IP address of the requester. " \
"Check that you are setting the X-Forwarded-For header correctly in your reverse proxy."
) )
raise SynapseError( raise SynapseError(
HTTPStatus.INTERNAL_SERVER_ERROR, HTTPStatus.INTERNAL_SERVER_ERROR,

View File

@@ -23,6 +23,7 @@ from unittest.mock import AsyncMock, Mock
import pymacaroons import pymacaroons
from twisted.internet.address import IPv4Address
from twisted.internet.testing import MemoryReactor from twisted.internet.testing import MemoryReactor
from synapse.api.auth.internal import InternalAuth from synapse.api.auth.internal import InternalAuth
@@ -118,7 +119,7 @@ class AuthTestCase(unittest.HomeserverTestCase):
self.store.get_user_by_access_token = AsyncMock(return_value=None) self.store.get_user_by_access_token = AsyncMock(return_value=None)
request = Mock(args={}) request = Mock(args={})
request.getClientAddress.return_value.host = "127.0.0.1" request.getClientAddress.return_value = IPv4Address(type="TCP", host="127.0.0.1", port=12345)
request.args[b"access_token"] = [self.test_token] request.args[b"access_token"] = [self.test_token]
request.requestHeaders.getRawHeaders = mock_getRawHeaders() request.requestHeaders.getRawHeaders = mock_getRawHeaders()
requester = self.get_success(self.auth.get_user_by_req(request)) requester = self.get_success(self.auth.get_user_by_req(request))
@@ -137,7 +138,7 @@ class AuthTestCase(unittest.HomeserverTestCase):
self.store.get_user_by_access_token = AsyncMock(return_value=None) self.store.get_user_by_access_token = AsyncMock(return_value=None)
request = Mock(args={}) request = Mock(args={})
request.getClientAddress.return_value.host = "192.168.10.10" request.getClientAddress.return_value = IPv4Address(type="TCP", host="192.168.10.10", port=12345)
request.args[b"access_token"] = [self.test_token] request.args[b"access_token"] = [self.test_token]
request.requestHeaders.getRawHeaders = mock_getRawHeaders() request.requestHeaders.getRawHeaders = mock_getRawHeaders()
requester = self.get_success(self.auth.get_user_by_req(request)) requester = self.get_success(self.auth.get_user_by_req(request))
@@ -156,7 +157,7 @@ class AuthTestCase(unittest.HomeserverTestCase):
self.store.get_user_by_access_token = AsyncMock(return_value=None) self.store.get_user_by_access_token = AsyncMock(return_value=None)
request = Mock(args={}) request = Mock(args={})
request.getClientAddress.return_value.host = "131.111.8.42" request.getClientAddress.return_value = IPv4Address(type="TCP", host="131.111.8.42", port=12345)
request.args[b"access_token"] = [self.test_token] request.args[b"access_token"] = [self.test_token]
request.requestHeaders.getRawHeaders = mock_getRawHeaders() request.requestHeaders.getRawHeaders = mock_getRawHeaders()
f = self.get_failure( f = self.get_failure(
@@ -209,7 +210,7 @@ class AuthTestCase(unittest.HomeserverTestCase):
self.store.get_user_by_access_token = AsyncMock(return_value=None) self.store.get_user_by_access_token = AsyncMock(return_value=None)
request = Mock(args={}) request = Mock(args={})
request.getClientAddress.return_value.host = "127.0.0.1" request.getClientAddress.return_value = IPv4Address(type="TCP", host="127.0.0.1", port=12345)
request.args[b"access_token"] = [self.test_token] request.args[b"access_token"] = [self.test_token]
request.args[b"user_id"] = [masquerading_user_id] request.args[b"user_id"] = [masquerading_user_id]
request.requestHeaders.getRawHeaders = mock_getRawHeaders() request.requestHeaders.getRawHeaders = mock_getRawHeaders()
@@ -231,7 +232,7 @@ class AuthTestCase(unittest.HomeserverTestCase):
self.store.get_user_by_access_token = AsyncMock(return_value=None) self.store.get_user_by_access_token = AsyncMock(return_value=None)
request = Mock(args={}) request = Mock(args={})
request.getClientAddress.return_value.host = "127.0.0.1" request.getClientAddress.return_value = IPv4Address(type="TCP", host="127.0.0.1", port=12345)
request.args[b"access_token"] = [self.test_token] request.args[b"access_token"] = [self.test_token]
request.args[b"user_id"] = [masquerading_user_id] request.args[b"user_id"] = [masquerading_user_id]
request.requestHeaders.getRawHeaders = mock_getRawHeaders() request.requestHeaders.getRawHeaders = mock_getRawHeaders()
@@ -261,7 +262,7 @@ class AuthTestCase(unittest.HomeserverTestCase):
self.store.get_device = AsyncMock(return_value={"hidden": False}) self.store.get_device = AsyncMock(return_value={"hidden": False})
request = Mock(args={}) request = Mock(args={})
request.getClientAddress.return_value.host = "127.0.0.1" request.getClientAddress.return_value = IPv4Address(type="TCP", host="127.0.0.1", port=12345)
request.args[b"access_token"] = [self.test_token] request.args[b"access_token"] = [self.test_token]
request.args[b"user_id"] = [masquerading_user_id] request.args[b"user_id"] = [masquerading_user_id]
request.args[b"org.matrix.msc3202.device_id"] = [masquerading_device_id] request.args[b"org.matrix.msc3202.device_id"] = [masquerading_device_id]
@@ -296,7 +297,7 @@ class AuthTestCase(unittest.HomeserverTestCase):
self.store.get_device = AsyncMock(return_value=None) self.store.get_device = AsyncMock(return_value=None)
request = Mock(args={}) request = Mock(args={})
request.getClientAddress.return_value.host = "127.0.0.1" request.getClientAddress.return_value = IPv4Address(type="TCP", host="127.0.0.1", port=12345)
request.args[b"access_token"] = [self.test_token] request.args[b"access_token"] = [self.test_token]
request.args[b"user_id"] = [masquerading_user_id] request.args[b"user_id"] = [masquerading_user_id]
request.args[b"org.matrix.msc3202.device_id"] = [masquerading_device_id] request.args[b"org.matrix.msc3202.device_id"] = [masquerading_device_id]
@@ -320,7 +321,7 @@ class AuthTestCase(unittest.HomeserverTestCase):
self.store.mark_access_token_as_used = AsyncMock(return_value=None) self.store.mark_access_token_as_used = AsyncMock(return_value=None)
self.store.get_user_locked_status = AsyncMock(return_value=False) self.store.get_user_locked_status = AsyncMock(return_value=False)
request = Mock(args={}) request = Mock(args={})
request.getClientAddress.return_value.host = "127.0.0.1" request.getClientAddress.return_value = IPv4Address(type="TCP", host="127.0.0.1", port=12345)
request.args[b"access_token"] = [self.test_token] request.args[b"access_token"] = [self.test_token]
request.requestHeaders.getRawHeaders = mock_getRawHeaders() request.requestHeaders.getRawHeaders = mock_getRawHeaders()
self.get_success(self.auth.get_user_by_req(request)) self.get_success(self.auth.get_user_by_req(request))
@@ -341,7 +342,7 @@ class AuthTestCase(unittest.HomeserverTestCase):
self.store.insert_client_ip = AsyncMock(return_value=None) self.store.insert_client_ip = AsyncMock(return_value=None)
self.store.mark_access_token_as_used = AsyncMock(return_value=None) self.store.mark_access_token_as_used = AsyncMock(return_value=None)
request = Mock(args={}) request = Mock(args={})
request.getClientAddress.return_value.host = "127.0.0.1" request.getClientAddress.return_value = IPv4Address(type="TCP", host="127.0.0.1", port=12345)
request.args[b"access_token"] = [self.test_token] request.args[b"access_token"] = [self.test_token]
request.requestHeaders.getRawHeaders = mock_getRawHeaders() request.requestHeaders.getRawHeaders = mock_getRawHeaders()
self.get_success(self.auth.get_user_by_req(request)) self.get_success(self.auth.get_user_by_req(request))

View File

@@ -21,6 +21,7 @@
from typing import Any, Dict from typing import Any, Dict
from unittest.mock import AsyncMock, Mock from unittest.mock import AsyncMock, Mock
from twisted.internet.address import IPv4Address
from twisted.internet.testing import MemoryReactor from twisted.internet.testing import MemoryReactor
from synapse.handlers.cas import CasResponse from synapse.handlers.cas import CasResponse
@@ -234,6 +235,7 @@ def _mock_request() -> Mock:
"write", "write",
] ]
) )
mock.getClientAddress.return_value = IPv4Address(type="TCP", host="127.0.0.1", port=12345)
# `_disconnected` musn't be another `Mock`, otherwise it will be truthy. # `_disconnected` musn't be another `Mock`, otherwise it will be truthy.
mock._disconnected = False mock._disconnected = False
return mock return mock

View File

@@ -25,6 +25,7 @@ from urllib.parse import parse_qs, urlparse
import pymacaroons import pymacaroons
from twisted.internet.address import IPv4Address
from twisted.internet.testing import MemoryReactor from twisted.internet.testing import MemoryReactor
from synapse.handlers.sso import MappingException from synapse.handlers.sso import MappingException
@@ -1684,5 +1685,5 @@ def _build_callback_request(
request.args = {} request.args = {}
request.args[b"code"] = [code.encode("utf-8")] request.args[b"code"] = [code.encode("utf-8")]
request.args[b"state"] = [state.encode("utf-8")] request.args[b"state"] = [state.encode("utf-8")]
request.getClientAddress.return_value.host = ip_address request.getClientAddress.return_value = IPv4Address(type="TCP", host=ip_address, port=12345)
return request return request

View File

@@ -24,6 +24,7 @@ from unittest.mock import AsyncMock, Mock
import attr import attr
from twisted.internet.address import IPv4Address
from twisted.internet.testing import MemoryReactor from twisted.internet.testing import MemoryReactor
from synapse.api.errors import RedirectException from synapse.api.errors import RedirectException
@@ -424,4 +425,5 @@ def _mock_request() -> Mock:
) )
# `_disconnected` musn't be another `Mock`, otherwise it will be truthy. # `_disconnected` musn't be another `Mock`, otherwise it will be truthy.
mock._disconnected = False mock._disconnected = False
mock.getClientAddress.return_value = IPv4Address(type="TCP", host="127.0.0.1", port=12345)
return mock return mock