diff --git a/tests/storage/test_appservice.py b/tests/storage/test_appservice.py
index 675959c56c..77376b348e 100644
--- a/tests/storage/test_appservice.py
+++ b/tests/storage/test_appservice.py
@@ -15,6 +15,7 @@
from tests import unittest
from twisted.internet import defer
+from tests.utils import setup_test_homeserver
from synapse.appservice import ApplicationService, ApplicationServiceState
from synapse.server import HomeServer
from synapse.storage.appservice import (
@@ -33,14 +34,10 @@ class ApplicationServiceStoreTestCase(unittest.TestCase):
@defer.inlineCallbacks
def setUp(self):
self.as_yaml_files = []
- db_pool = SQLiteMemoryDbPool()
- yield db_pool.prepare()
- hs = HomeServer(
- "test", db_pool=db_pool, clock=MockClock(),
- config=Mock(
- app_service_config_files=self.as_yaml_files
- )
+ config = Mock(
+ app_service_config_files=self.as_yaml_files
)
+ hs = yield setup_test_homeserver(config=config)
self.as_token = "token1"
self.as_url = "some_url"
@@ -102,8 +99,13 @@ class ApplicationServiceTransactionStoreTestCase(unittest.TestCase):
@defer.inlineCallbacks
def setUp(self):
self.as_yaml_files = []
- self.db_pool = SQLiteMemoryDbPool()
- yield self.db_pool.prepare()
+
+ config = Mock(
+ app_service_config_files=self.as_yaml_files
+ )
+ hs = yield setup_test_homeserver(config=config)
+ self.db_pool = hs.get_db_pool()
+
self.as_list = [
{
"token": "token1",
@@ -129,11 +131,8 @@ class ApplicationServiceTransactionStoreTestCase(unittest.TestCase):
for s in self.as_list:
yield self._add_service(s["url"], s["token"])
- hs = HomeServer(
- "test", db_pool=self.db_pool, clock=MockClock(), config=Mock(
- app_service_config_files=self.as_yaml_files
- )
- )
+ self.as_yaml_files = []
+
self.store = TestTransactionStore(hs)
def _add_service(self, url, as_token):
@@ -302,7 +301,7 @@ class ApplicationServiceTransactionStoreTestCase(unittest.TestCase):
(service.id,)
)
self.assertEquals(1, len(res))
- self.assertEquals(str(txn_id), res[0][0])
+ self.assertEquals(txn_id, res[0][0])
res = yield self.db_pool.runQuery(
"SELECT * FROM application_services_txns WHERE txn_id=?",
@@ -325,7 +324,7 @@ class ApplicationServiceTransactionStoreTestCase(unittest.TestCase):
(service.id,)
)
self.assertEquals(1, len(res))
- self.assertEquals(str(txn_id), res[0][0])
+ self.assertEquals(txn_id, res[0][0])
self.assertEquals(ApplicationServiceState.UP, res[0][1])
res = yield self.db_pool.runQuery(
diff --git a/tests/storage/test_base.py b/tests/storage/test_base.py
index 7f5845cf0c..a64d2b821e 100644
--- a/tests/storage/test_base.py
+++ b/tests/storage/test_base.py
@@ -24,6 +24,7 @@ from collections import OrderedDict
from synapse.server import HomeServer
from synapse.storage._base import SQLBaseStore
+from synapse.storage.engines import create_engine
class SQLBaseStoreTestCase(unittest.TestCase):
@@ -32,15 +33,26 @@ class SQLBaseStoreTestCase(unittest.TestCase):
def setUp(self):
self.db_pool = Mock(spec=["runInteraction"])
self.mock_txn = Mock()
+ self.mock_conn = Mock(spec_set=["cursor"])
+ self.mock_conn.cursor.return_value = self.mock_txn
# Our fake runInteraction just runs synchronously inline
def runInteraction(func, *args, **kwargs):
return defer.succeed(func(self.mock_txn, *args, **kwargs))
self.db_pool.runInteraction = runInteraction
+ def runWithConnection(func, *args, **kwargs):
+ return defer.succeed(func(self.mock_conn, *args, **kwargs))
+ self.db_pool.runWithConnection = runWithConnection
+
config = Mock()
config.event_cache_size = 1
- hs = HomeServer("test", db_pool=self.db_pool, config=config)
+ hs = HomeServer(
+ "test",
+ db_pool=self.db_pool,
+ config=config,
+ database_engine=create_engine("sqlite3"),
+ )
self.datastore = SQLBaseStore(hs)
@@ -86,8 +98,7 @@ class SQLBaseStoreTestCase(unittest.TestCase):
self.assertEquals("Value", value)
self.mock_txn.execute.assert_called_with(
- "SELECT retcol FROM tablename WHERE keycol = ? "
- "ORDER BY rowid asc",
+ "SELECT retcol FROM tablename WHERE keycol = ?",
["TheKey"]
)
@@ -104,8 +115,7 @@ class SQLBaseStoreTestCase(unittest.TestCase):
self.assertEquals({"colA": 1, "colB": 2, "colC": 3}, ret)
self.mock_txn.execute.assert_called_with(
- "SELECT colA, colB, colC FROM tablename WHERE keycol = ? "
- "ORDER BY rowid asc",
+ "SELECT colA, colB, colC FROM tablename WHERE keycol = ?",
["TheKey"]
)
@@ -139,8 +149,7 @@ class SQLBaseStoreTestCase(unittest.TestCase):
self.assertEquals([{"colA": 1}, {"colA": 2}, {"colA": 3}], ret)
self.mock_txn.execute.assert_called_with(
- "SELECT colA FROM tablename WHERE keycol = ? "
- "ORDER BY rowid asc",
+ "SELECT colA FROM tablename WHERE keycol = ?",
["A set"]
)
@@ -189,8 +198,7 @@ class SQLBaseStoreTestCase(unittest.TestCase):
self.assertEquals({"columname": "Old Value"}, ret)
self.mock_txn.execute.assert_has_calls([
- call('SELECT columname FROM tablename WHERE keycol = ? '
- 'ORDER BY rowid asc',
+ call('SELECT columname FROM tablename WHERE keycol = ?',
['TheKey']),
call("UPDATE tablename SET columname = ? WHERE keycol = ?",
["New Value", "TheKey"])
diff --git a/tests/storage/test_registration.py b/tests/storage/test_registration.py
index e0b81f2b57..78f6004204 100644
--- a/tests/storage/test_registration.py
+++ b/tests/storage/test_registration.py
@@ -42,28 +42,38 @@ class RegistrationStoreTestCase(unittest.TestCase):
self.assertEquals(
# TODO(paul): Surely this field should be 'user_id', not 'name'
# Additionally surely it shouldn't come in a 1-element list
- [{"name": self.user_id, "password_hash": self.pwhash}],
+ {"name": self.user_id, "password_hash": self.pwhash},
(yield self.store.get_user_by_id(self.user_id))
)
- self.assertEquals(
- {"admin": 0,
- "device_id": None,
- "name": self.user_id,
- "token_id": 1},
- (yield self.store.get_user_by_token(self.tokens[0]))
+ result = yield self.store.get_user_by_token(self.tokens[1])
+
+ self.assertDictContainsSubset(
+ {
+ "admin": 0,
+ "device_id": None,
+ "name": self.user_id,
+ },
+ result
)
+ self.assertTrue("token_id" in result)
+
@defer.inlineCallbacks
def test_add_tokens(self):
yield self.store.register(self.user_id, self.tokens[0], self.pwhash)
yield self.store.add_access_token_to_user(self.user_id, self.tokens[1])
- self.assertEquals(
- {"admin": 0,
- "device_id": None,
- "name": self.user_id,
- "token_id": 2},
- (yield self.store.get_user_by_token(self.tokens[1]))
+ result = yield self.store.get_user_by_token(self.tokens[1])
+
+ self.assertDictContainsSubset(
+ {
+ "admin": 0,
+ "device_id": None,
+ "name": self.user_id,
+ },
+ result
)
+ self.assertTrue("token_id" in result)
+
diff --git a/tests/storage/test_roommember.py b/tests/storage/test_roommember.py
index 811fea544b..785953cc89 100644
--- a/tests/storage/test_roommember.py
+++ b/tests/storage/test_roommember.py
@@ -119,7 +119,7 @@ class RoomMemberStoreTestCase(unittest.TestCase):
yield self.inject_room_member(self.room, self.u_alice, Membership.JOIN)
self.assertEquals(
- ["test"],
+ {"test"},
(yield self.store.get_joined_hosts_for_room(self.room.to_string()))
)
@@ -127,7 +127,7 @@ class RoomMemberStoreTestCase(unittest.TestCase):
yield self.inject_room_member(self.room, self.u_bob, Membership.JOIN)
self.assertEquals(
- ["test"],
+ {"test"},
(yield self.store.get_joined_hosts_for_room(self.room.to_string()))
)
@@ -136,9 +136,9 @@ class RoomMemberStoreTestCase(unittest.TestCase):
self.assertEquals(
{"test", "elsewhere"},
- set((yield
+ (yield
self.store.get_joined_hosts_for_room(self.room.to_string())
- ))
+ )
)
# Should still have both hosts
@@ -146,15 +146,15 @@ class RoomMemberStoreTestCase(unittest.TestCase):
self.assertEquals(
{"test", "elsewhere"},
- set((yield
+ (yield
self.store.get_joined_hosts_for_room(self.room.to_string())
- ))
+ )
)
# Should have only one host after other leaves
yield self.inject_room_member(self.room, self.u_charlie, Membership.LEAVE)
self.assertEquals(
- ["test"],
+ {"test"},
(yield self.store.get_joined_hosts_for_room(self.room.to_string()))
)
|