mirror of
https://git.anonymousland.org/anonymousland/synapse-product.git
synced 2024-12-23 18:49:25 -05:00
Test ProfileHandler against the real datastore layer using SQLite :memory:
This commit is contained in:
parent
dd1a9100c5
commit
79fe6083eb
@ -24,6 +24,8 @@ from synapse.api.errors import AuthError
|
|||||||
from synapse.server import HomeServer
|
from synapse.server import HomeServer
|
||||||
from synapse.handlers.profile import ProfileHandler
|
from synapse.handlers.profile import ProfileHandler
|
||||||
|
|
||||||
|
from tests.utils import SQLiteMemoryDbPool
|
||||||
|
|
||||||
|
|
||||||
logging.getLogger().addHandler(logging.NullHandler())
|
logging.getLogger().addHandler(logging.NullHandler())
|
||||||
|
|
||||||
@ -36,6 +38,7 @@ class ProfileHandlers(object):
|
|||||||
class ProfileTestCase(unittest.TestCase):
|
class ProfileTestCase(unittest.TestCase):
|
||||||
""" Tests profile management. """
|
""" Tests profile management. """
|
||||||
|
|
||||||
|
@defer.inlineCallbacks
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.mock_federation = Mock(spec=[
|
self.mock_federation = Mock(spec=[
|
||||||
"make_query",
|
"make_query",
|
||||||
@ -47,26 +50,24 @@ class ProfileTestCase(unittest.TestCase):
|
|||||||
self.mock_federation.register_query_handler = register_query_handler
|
self.mock_federation.register_query_handler = register_query_handler
|
||||||
|
|
||||||
hs = HomeServer("test",
|
hs = HomeServer("test",
|
||||||
db_pool=None,
|
db_pool=SQLiteMemoryDbPool(),
|
||||||
http_client=None,
|
http_client=None,
|
||||||
datastore=Mock(spec=[
|
|
||||||
"get_profile_displayname",
|
|
||||||
"set_profile_displayname",
|
|
||||||
"get_profile_avatar_url",
|
|
||||||
"set_profile_avatar_url",
|
|
||||||
]),
|
|
||||||
handlers=None,
|
handlers=None,
|
||||||
resource_for_federation=Mock(),
|
resource_for_federation=Mock(),
|
||||||
replication_layer=self.mock_federation,
|
replication_layer=self.mock_federation,
|
||||||
)
|
)
|
||||||
hs.handlers = ProfileHandlers(hs)
|
hs.handlers = ProfileHandlers(hs)
|
||||||
|
|
||||||
self.datastore = hs.get_datastore()
|
yield hs.get_db_pool().prepare()
|
||||||
|
|
||||||
|
self.store = hs.get_datastore()
|
||||||
|
|
||||||
self.frank = hs.parse_userid("@1234ABCD:test")
|
self.frank = hs.parse_userid("@1234ABCD:test")
|
||||||
self.bob = hs.parse_userid("@4567:test")
|
self.bob = hs.parse_userid("@4567:test")
|
||||||
self.alice = hs.parse_userid("@alice:remote")
|
self.alice = hs.parse_userid("@alice:remote")
|
||||||
|
|
||||||
|
yield self.store.create_profile(self.frank.localpart)
|
||||||
|
|
||||||
self.handler = hs.get_handlers().profile_handler
|
self.handler = hs.get_handlers().profile_handler
|
||||||
|
|
||||||
# TODO(paul): Icky signal declarings.. booo
|
# TODO(paul): Icky signal declarings.. booo
|
||||||
@ -74,22 +75,22 @@ class ProfileTestCase(unittest.TestCase):
|
|||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def test_get_my_name(self):
|
def test_get_my_name(self):
|
||||||
mocked_get = self.datastore.get_profile_displayname
|
yield self.store.set_profile_displayname(
|
||||||
mocked_get.return_value = defer.succeed("Frank")
|
self.frank.localpart, "Frank"
|
||||||
|
)
|
||||||
|
|
||||||
displayname = yield self.handler.get_displayname(self.frank)
|
displayname = yield self.handler.get_displayname(self.frank)
|
||||||
|
|
||||||
self.assertEquals("Frank", displayname)
|
self.assertEquals("Frank", displayname)
|
||||||
mocked_get.assert_called_with("1234ABCD")
|
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def test_set_my_name(self):
|
def test_set_my_name(self):
|
||||||
mocked_set = self.datastore.set_profile_displayname
|
|
||||||
mocked_set.return_value = defer.succeed(())
|
|
||||||
|
|
||||||
yield self.handler.set_displayname(self.frank, self.frank, "Frank Jr.")
|
yield self.handler.set_displayname(self.frank, self.frank, "Frank Jr.")
|
||||||
|
|
||||||
mocked_set.assert_called_with("1234ABCD", "Frank Jr.")
|
self.assertEquals(
|
||||||
|
(yield self.store.get_profile_displayname(self.frank.localpart)),
|
||||||
|
"Frank Jr."
|
||||||
|
)
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def test_set_my_name_noauth(self):
|
def test_set_my_name_noauth(self):
|
||||||
@ -114,32 +115,31 @@ class ProfileTestCase(unittest.TestCase):
|
|||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def test_incoming_fed_query(self):
|
def test_incoming_fed_query(self):
|
||||||
mocked_get = self.datastore.get_profile_displayname
|
yield self.store.create_profile("caroline")
|
||||||
mocked_get.return_value = defer.succeed("Caroline")
|
yield self.store.set_profile_displayname("caroline", "Caroline")
|
||||||
|
|
||||||
response = yield self.query_handlers["profile"](
|
response = yield self.query_handlers["profile"](
|
||||||
{"user_id": "@caroline:test", "field": "displayname"}
|
{"user_id": "@caroline:test", "field": "displayname"}
|
||||||
)
|
)
|
||||||
|
|
||||||
self.assertEquals({"displayname": "Caroline"}, response)
|
self.assertEquals({"displayname": "Caroline"}, response)
|
||||||
mocked_get.assert_called_with("caroline")
|
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def test_get_my_avatar(self):
|
def test_get_my_avatar(self):
|
||||||
mocked_get = self.datastore.get_profile_avatar_url
|
yield self.store.set_profile_avatar_url(
|
||||||
mocked_get.return_value = defer.succeed("http://my.server/me.png")
|
self.frank.localpart, "http://my.server/me.png"
|
||||||
|
)
|
||||||
|
|
||||||
avatar_url = yield self.handler.get_avatar_url(self.frank)
|
avatar_url = yield self.handler.get_avatar_url(self.frank)
|
||||||
|
|
||||||
self.assertEquals("http://my.server/me.png", avatar_url)
|
self.assertEquals("http://my.server/me.png", avatar_url)
|
||||||
mocked_get.assert_called_with("1234ABCD")
|
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def test_set_my_avatar(self):
|
def test_set_my_avatar(self):
|
||||||
mocked_set = self.datastore.set_profile_avatar_url
|
|
||||||
mocked_set.return_value = defer.succeed(())
|
|
||||||
|
|
||||||
yield self.handler.set_avatar_url(self.frank, self.frank,
|
yield self.handler.set_avatar_url(self.frank, self.frank,
|
||||||
"http://my.server/pic.gif")
|
"http://my.server/pic.gif")
|
||||||
|
|
||||||
mocked_set.assert_called_with("1234ABCD", "http://my.server/pic.gif")
|
self.assertEquals(
|
||||||
|
(yield self.store.get_profile_avatar_url(self.frank.localpart)),
|
||||||
|
"http://my.server/pic.gif"
|
||||||
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user