diff --git a/tests/util/test_lock.py b/tests/util/test_lock.py
deleted file mode 100644
index 6a1e521b1e..0000000000
--- a/tests/util/test_lock.py
+++ /dev/null
@@ -1,108 +0,0 @@
-# -*- coding: utf-8 -*-
-# Copyright 2014 OpenMarket Ltd
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-
-from twisted.internet import defer
-from tests import unittest
-
-from synapse.util.lockutils import LockManager
-
-
-class LockManagerTestCase(unittest.TestCase):
-
- def setUp(self):
- self.lock_manager = LockManager()
-
- @defer.inlineCallbacks
- def test_one_lock(self):
- key = "test"
- deferred_lock1 = self.lock_manager.lock(key)
-
- self.assertTrue(deferred_lock1.called)
-
- lock1 = yield deferred_lock1
-
- self.assertFalse(lock1.released)
-
- lock1.release()
-
- self.assertTrue(lock1.released)
-
- @defer.inlineCallbacks
- def test_concurrent_locks(self):
- key = "test"
- deferred_lock1 = self.lock_manager.lock(key)
- deferred_lock2 = self.lock_manager.lock(key)
-
- self.assertTrue(deferred_lock1.called)
- self.assertFalse(deferred_lock2.called)
-
- lock1 = yield deferred_lock1
-
- self.assertFalse(lock1.released)
- self.assertFalse(deferred_lock2.called)
-
- lock1.release()
-
- self.assertTrue(lock1.released)
- self.assertTrue(deferred_lock2.called)
-
- lock2 = yield deferred_lock2
-
- lock2.release()
-
- @defer.inlineCallbacks
- def test_sequential_locks(self):
- key = "test"
- deferred_lock1 = self.lock_manager.lock(key)
-
- self.assertTrue(deferred_lock1.called)
-
- lock1 = yield deferred_lock1
-
- self.assertFalse(lock1.released)
-
- lock1.release()
-
- self.assertTrue(lock1.released)
-
- deferred_lock2 = self.lock_manager.lock(key)
-
- self.assertTrue(deferred_lock2.called)
-
- lock2 = yield deferred_lock2
-
- self.assertFalse(lock2.released)
-
- lock2.release()
-
- self.assertTrue(lock2.released)
-
- @defer.inlineCallbacks
- def test_with_statement(self):
- key = "test"
- with (yield self.lock_manager.lock(key)) as lock:
- self.assertFalse(lock.released)
-
- self.assertTrue(lock.released)
-
- @defer.inlineCallbacks
- def test_two_with_statement(self):
- key = "test"
- with (yield self.lock_manager.lock(key)):
- pass
-
- with (yield self.lock_manager.lock(key)):
- pass
diff --git a/tests/utils.py b/tests/utils.py
index eb035cf48f..91040c2efd 100644
--- a/tests/utils.py
+++ b/tests/utils.py
@@ -16,7 +16,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.storage.prepare_database import prepare_database
from synapse.storage.engines import create_engine
from synapse.server import HomeServer
@@ -27,6 +27,7 @@ from twisted.enterprise.adbapi import ConnectionPool
from collections import namedtuple
from mock import patch, Mock
+import hashlib
import urllib
import urlparse
@@ -44,6 +45,8 @@ def setup_test_homeserver(name="test", datastore=None, config=None, **kargs):
config.signing_key = [MockKey()]
config.event_cache_size = 1
config.disable_registration = False
+ config.macaroon_secret_key = "not even a little secret"
+ config.server_name = "server.under.test"
if "clock" not in kargs:
kargs["clock"] = MockClock()
@@ -65,6 +68,18 @@ def setup_test_homeserver(name="test", datastore=None, config=None, **kargs):
**kargs
)
+ # bcrypt is far too slow to be doing in unit tests
+ def swap_out_hash_for_testing(old_build_handlers):
+ def build_handlers():
+ handlers = old_build_handlers()
+ auth_handler = handlers.auth_handler
+ auth_handler.hash = lambda p: hashlib.md5(p).hexdigest()
+ auth_handler.validate_hash = lambda p, h: hashlib.md5(p).hexdigest() == h
+ return handlers
+ return build_handlers
+
+ hs.build_handlers = swap_out_hash_for_testing(hs.build_handlers)
+
defer.returnValue(hs)
@@ -228,6 +243,9 @@ class MockClock(object):
else:
self.timers.append(t)
+ def advance_time_msec(self, ms):
+ self.advance_time(ms / 1000.)
+
class SQLiteMemoryDbPool(ConnectionPool, object):
def __init__(self):
@@ -275,12 +293,10 @@ class MemoryDataStore(object):
raise StoreError(400, "User in use.")
self.tokens_to_users[token] = user_id
- def get_user_by_token(self, token):
+ def get_user_by_access_token(self, token):
try:
return {
"name": self.tokens_to_users[token],
- "admin": 0,
- "device_id": None,
}
except:
raise StoreError(400, "User does not exist.")
@@ -322,7 +338,7 @@ class MemoryDataStore(object):
]
def get_room_events_stream(self, user_id=None, from_key=None, to_key=None,
- room_id=None, limit=0, with_feedback=False):
+ limit=0, with_feedback=False):
return ([], from_key) # TODO
def get_joined_hosts_for_room(self, room_id):
@@ -378,7 +394,7 @@ class MemoryDataStore(object):
def get_ops_levels(self, room_id):
return defer.succeed((5, 5, 5))
- def insert_client_ip(self, user, device_id, access_token, ip, user_agent):
+ def insert_client_ip(self, user, access_token, ip, user_agent):
return defer.succeed(None)
|