forked from MirrorHub/synapse
More RoomStore tests
This commit is contained in:
parent
9973298e2a
commit
de14853237
|
@ -18,7 +18,6 @@ from tests import unittest
|
||||||
from twisted.internet import defer
|
from twisted.internet import defer
|
||||||
|
|
||||||
from synapse.server import HomeServer
|
from synapse.server import HomeServer
|
||||||
from synapse.storage.room import RoomStore
|
|
||||||
|
|
||||||
from tests.utils import SQLiteMemoryDbPool
|
from tests.utils import SQLiteMemoryDbPool
|
||||||
|
|
||||||
|
@ -34,20 +33,57 @@ class RoomStoreTestCase(unittest.TestCase):
|
||||||
db_pool=db_pool,
|
db_pool=db_pool,
|
||||||
)
|
)
|
||||||
|
|
||||||
self.store = RoomStore(hs)
|
# We can't test RoomStore on its own without the DirectoryStore, for
|
||||||
|
# management of the 'room_aliases' table
|
||||||
|
self.store = hs.get_datastore()
|
||||||
|
|
||||||
self.room = hs.parse_roomid("!abcde:test")
|
self.room = hs.parse_roomid("!abcde:test")
|
||||||
|
self.alias = hs.parse_roomalias("#a-room-name:test")
|
||||||
self.u_creator = hs.parse_userid("@creator:test")
|
self.u_creator = hs.parse_userid("@creator:test")
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
|
||||||
def test_store_room(self):
|
|
||||||
yield self.store.store_room(self.room.to_string(),
|
yield self.store.store_room(self.room.to_string(),
|
||||||
room_creator_user_id=self.u_creator.to_string(),
|
room_creator_user_id=self.u_creator.to_string(),
|
||||||
is_public=True
|
is_public=True
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@defer.inlineCallbacks
|
||||||
|
def test_get_room(self):
|
||||||
room = yield self.store.get_room(self.room.to_string())
|
room = yield self.store.get_room(self.room.to_string())
|
||||||
|
|
||||||
self.assertEquals(self.room.to_string(), room.room_id)
|
self.assertEquals(self.room.to_string(), room.room_id)
|
||||||
self.assertEquals(self.u_creator.to_string(), room.creator)
|
self.assertEquals(self.u_creator.to_string(), room.creator)
|
||||||
self.assertTrue(room.is_public)
|
self.assertTrue(room.is_public)
|
||||||
|
|
||||||
|
@defer.inlineCallbacks
|
||||||
|
def test_store_room_config(self):
|
||||||
|
yield self.store.store_room_config(self.room.to_string(),
|
||||||
|
visibility=False
|
||||||
|
)
|
||||||
|
|
||||||
|
room = yield self.store.get_room(self.room.to_string())
|
||||||
|
|
||||||
|
self.assertFalse(room.is_public)
|
||||||
|
|
||||||
|
@defer.inlineCallbacks
|
||||||
|
def test_get_rooms(self):
|
||||||
|
# get_rooms does an INNER JOIN on the room_aliases table :(
|
||||||
|
|
||||||
|
rooms = yield self.store.get_rooms(is_public=True)
|
||||||
|
# Should be empty before we add the alias
|
||||||
|
self.assertEquals([], rooms)
|
||||||
|
|
||||||
|
yield self.store.create_room_alias_association(
|
||||||
|
room_alias=self.alias,
|
||||||
|
room_id=self.room.to_string(),
|
||||||
|
servers=["test"]
|
||||||
|
)
|
||||||
|
|
||||||
|
rooms = yield self.store.get_rooms(is_public=True)
|
||||||
|
|
||||||
|
self.assertEquals(1, len(rooms))
|
||||||
|
self.assertEquals({
|
||||||
|
"name": None,
|
||||||
|
"room_id": self.room.to_string(),
|
||||||
|
"topic": None,
|
||||||
|
"aliases": [self.alias.to_string()],
|
||||||
|
}, rooms[0])
|
||||||
|
|
Loading…
Reference in a new issue