mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-08-05 15:34:14 -04:00
Preparatory refactoring of the SamlHandlerTestCase (#8938)
* move simple_async_mock to test_utils ... so that it can be re-used * Remove references to `SamlHandler._map_saml_response_to_user` from tests This method is going away, so we can no longer use it as a test point. Instead, factor out a higher-level method which takes a SAML object, and verify correct behaviour by mocking out `AuthHandler.complete_sso_login`. * changelog
This commit is contained in:
parent
b3a4b53587
commit
01333681bc
5 changed files with 126 additions and 54 deletions
|
@ -22,6 +22,8 @@ import warnings
|
|||
from asyncio import Future
|
||||
from typing import Any, Awaitable, Callable, TypeVar
|
||||
|
||||
from mock import Mock
|
||||
|
||||
import attr
|
||||
|
||||
from twisted.python.failure import Failure
|
||||
|
@ -87,6 +89,16 @@ def setup_awaitable_errors() -> Callable[[], None]:
|
|||
return cleanup
|
||||
|
||||
|
||||
def simple_async_mock(return_value=None, raises=None) -> Mock:
|
||||
# AsyncMock is not available in python3.5, this mimics part of its behaviour
|
||||
async def cb(*args, **kwargs):
|
||||
if raises:
|
||||
raise raises
|
||||
return return_value
|
||||
|
||||
return Mock(side_effect=cb)
|
||||
|
||||
|
||||
@attr.s
|
||||
class FakeResponse:
|
||||
"""A fake twisted.web.IResponse object
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue