diff options
author | Mark Haines <mjark@negativecurvature.net> | 2015-02-11 11:46:08 +0000 |
---|---|---|
committer | Mark Haines <mjark@negativecurvature.net> | 2015-02-11 11:46:08 +0000 |
commit | f42e29cf956c00be618fa4601441d62848c1270c (patch) | |
tree | df5ce8afb4c2972408c758e0ace795046ba170a6 /tests/utils.py | |
parent | Fix bug where variable was not always defined (diff) | |
parent | Factor out some of the common homeserver setup code into a (diff) | |
download | synapse-f42e29cf956c00be618fa4601441d62848c1270c.tar.xz |
Merge pull request #63 from matrix-org/homeserver_test_setup
Factor out some of the common homeserver setup code
Diffstat (limited to '')
-rw-r--r-- | tests/utils.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/utils.py b/tests/utils.py index 97fa8d8181..25c33492a5 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -17,6 +17,7 @@ from synapse.http.server import HttpServer from synapse.api.errors import cs_error, CodeMessageException, StoreError from synapse.api.constants import EventTypes from synapse.storage import prepare_database +from synapse.server import HomeServer from synapse.util.logcontext import LoggingContext @@ -31,6 +32,28 @@ import urlparse from inspect import getcallargs +@defer.inlineCallbacks +def setup_test_homeserver(name="test", datastore=None, config=None, **kargs): + """Setup a homeserver suitable for running tests against. Keyword arguments + are passed to the Homeserver constructor. If no datastore is supplied a + datastore backed by an in-memory sqlite db will be given to the HS. + """ + if config is None: + config = Mock() + config.signing_key = [MockKey()] + + if datastore is None: + db_pool = SQLiteMemoryDbPool() + yield db_pool.prepare() + hs = HomeServer(name, db_pool=db_pool, config=config, **kargs) + else: + hs = HomeServer( + name, db_pool=None, datastore=datastore, config=config, **kargs + ) + + defer.returnValue(hs) + + def get_mock_call_args(pattern_func, mock_func): """ Return the arguments the mock function was called with interpreted by the pattern functions argument list. |