mirror of
https://github.com/element-hq/synapse.git
synced 2024-11-22 17:46:08 +03:00
More RoomStore tests
This commit is contained in:
parent
9973298e2a
commit
de14853237
1 changed files with 40 additions and 4 deletions
|
@ -18,7 +18,6 @@ from tests import unittest
|
|||
from twisted.internet import defer
|
||||
|
||||
from synapse.server import HomeServer
|
||||
from synapse.storage.room import RoomStore
|
||||
|
||||
from tests.utils import SQLiteMemoryDbPool
|
||||
|
||||
|
@ -34,20 +33,57 @@ class RoomStoreTestCase(unittest.TestCase):
|
|||
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.alias = hs.parse_roomalias("#a-room-name: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(),
|
||||
room_creator_user_id=self.u_creator.to_string(),
|
||||
is_public=True
|
||||
)
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def test_get_room(self):
|
||||
room = yield self.store.get_room(self.room.to_string())
|
||||
|
||||
self.assertEquals(self.room.to_string(), room.room_id)
|
||||
self.assertEquals(self.u_creator.to_string(), room.creator)
|
||||
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