Merge branch 'develop' of github.com:matrix-org/synapse into new_state_resolution

This commit is contained in:
Erik Johnston 2015-01-30 14:09:32 +00:00
commit 2aaedab203
125 changed files with 3032 additions and 2068 deletions

View file

@ -21,6 +21,7 @@ from mock import Mock
from synapse.server import HomeServer
from synapse.handlers.directory import DirectoryHandler
from synapse.types import RoomAlias
from tests.utils import SQLiteMemoryDbPool, MockKey
@ -65,9 +66,9 @@ class DirectoryTestCase(unittest.TestCase):
self.store = hs.get_datastore()
self.my_room = hs.parse_roomalias("#my-room:test")
self.your_room = hs.parse_roomalias("#your-room:test")
self.remote_room = hs.parse_roomalias("#another:remote")
self.my_room = RoomAlias.from_string("#my-room:test")
self.your_room = RoomAlias.from_string("#your-room:test")
self.remote_room = RoomAlias.from_string("#another:remote")
@defer.inlineCallbacks
def test_get_local_association(self):

View file

@ -17,7 +17,7 @@
from tests import unittest
from twisted.internet import defer, reactor
from mock import Mock, call, ANY, NonCallableMock, patch
from mock import Mock, call, ANY, NonCallableMock
import json
from tests.utils import (
@ -31,6 +31,7 @@ from synapse.api.errors import SynapseError
from synapse.handlers.presence import PresenceHandler, UserPresenceCache
from synapse.streams.config import SourcePaginationConfig
from synapse.storage.transactions import DestinationsTable
from synapse.types import UserID
OFFLINE = PresenceState.OFFLINE
UNAVAILABLE = PresenceState.UNAVAILABLE
@ -59,68 +60,216 @@ class JustPresenceHandlers(object):
def __init__(self, hs):
self.presence_handler = PresenceHandler(hs)
class PresenceStateTestCase(unittest.TestCase):
""" Tests presence management. """
class PresenceTestCase(unittest.TestCase):
@defer.inlineCallbacks
def setUp(self):
db_pool = SQLiteMemoryDbPool()
yield db_pool.prepare()
self.clock = MockClock()
self.mock_config = NonCallableMock()
self.mock_config.signing_key = [MockKey()]
self.mock_federation_resource = MockHttpResource()
self.mock_http_client = Mock(spec=[])
self.mock_http_client.put_json = DeferredMockCallable()
db_pool = None
hs_kwargs = {}
if hasattr(self, "make_datastore_mock"):
hs_kwargs["datastore"] = self.make_datastore_mock()
else:
db_pool = SQLiteMemoryDbPool()
yield db_pool.prepare()
hs = HomeServer("test",
clock=MockClock(),
clock=self.clock,
db_pool=db_pool,
handlers=None,
resource_for_federation=Mock(),
http_client=None,
resource_for_federation=self.mock_federation_resource,
http_client=self.mock_http_client,
config=self.mock_config,
keyring=Mock(),
**hs_kwargs
)
hs.handlers = JustPresenceHandlers(hs)
self.store = hs.get_datastore()
self.datastore = hs.get_datastore()
# Mock the RoomMemberHandler
room_member_handler = Mock(spec=[])
hs.handlers.room_member_handler = room_member_handler
# Some local users to test with
self.u_apple = hs.parse_userid("@apple:test")
self.u_banana = hs.parse_userid("@banana:test")
self.u_clementine = hs.parse_userid("@clementine:test")
yield self.store.create_presence(self.u_apple.localpart)
yield self.store.set_presence_state(
self.u_apple.localpart, {"state": ONLINE, "status_msg": "Online"}
)
self.setUp_roommemberhandler_mocks(hs.handlers)
self.handler = hs.get_handlers().presence_handler
self.event_source = hs.get_event_sources().sources["presence"]
self.distributor = hs.get_distributor()
self.distributor.declare("user_joined_room")
yield self.setUp_users(hs)
def setUp_roommemberhandler_mocks(self, handlers):
self.room_id = "a-room"
self.room_members = []
room_member_handler = handlers.room_member_handler = Mock(spec=[
"get_rooms_for_user",
"get_room_members",
"fetch_room_distributions_into",
])
self.room_member_handler = room_member_handler
def get_rooms_for_user(user):
if user in self.room_members:
return defer.succeed(["a-room"])
return defer.succeed([self.room_id])
else:
return defer.succeed([])
room_member_handler.get_rooms_for_user = get_rooms_for_user
def get_room_members(room_id):
if room_id == "a-room":
if room_id == self.room_id:
return defer.succeed(self.room_members)
else:
return defer.succeed([])
room_member_handler.get_room_members = get_room_members
@defer.inlineCallbacks
def fetch_room_distributions_into(room_id, localusers=None,
remotedomains=None, ignore_user=None):
members = yield get_room_members(room_id)
for member in members:
if ignore_user is not None and member == ignore_user:
continue
if member.is_mine:
if localusers is not None:
localusers.add(member)
else:
if remotedomains is not None:
remotedomains.add(member.domain)
room_member_handler.fetch_room_distributions_into = (
fetch_room_distributions_into)
self.setUp_datastore_room_mocks(self.datastore)
def setUp_datastore_room_mocks(self, datastore):
def get_room_hosts(room_id):
if room_id == self.room_id:
hosts = set([u.domain for u in self.room_members])
return defer.succeed(hosts)
else:
return defer.succeed([])
datastore.get_joined_hosts_for_room = get_room_hosts
def user_rooms_intersect(userlist):
room_member_ids = map(lambda u: u.to_string(), self.room_members)
shared = all(map(lambda i: i in room_member_ids, userlist))
return defer.succeed(shared)
self.store.user_rooms_intersect = user_rooms_intersect
datastore.user_rooms_intersect = user_rooms_intersect
@defer.inlineCallbacks
def setUp_users(self, hs):
# Some local users to test with
self.u_apple = UserID.from_string("@apple:test")
self.u_banana = UserID.from_string("@banana:test")
self.u_clementine = UserID.from_string("@clementine:test")
for u in self.u_apple, self.u_banana, self.u_clementine:
yield self.datastore.create_presence(u.localpart)
yield self.datastore.set_presence_state(
self.u_apple.localpart, {"state": ONLINE, "status_msg": "Online"}
)
# ID of a local user that does not exist
self.u_durian = UserID.from_string("@durian:test")
# A remote user
self.u_cabbage = UserID.from_string("@cabbage:elsewhere")
class MockedDatastorePresenceTestCase(PresenceTestCase):
def make_datastore_mock(self):
datastore = Mock(spec=[
# Bits that Federation needs
"prep_send_transaction",
"delivered_txn",
"get_received_txn_response",
"set_received_txn_response",
"get_destination_retry_timings",
])
self.setUp_datastore_federation_mocks(datastore)
self.setUp_datastore_presence_mocks(datastore)
return datastore
def setUp_datastore_federation_mocks(self, datastore):
datastore.get_destination_retry_timings.return_value = (
defer.succeed(DestinationsTable.EntryType("", 0, 0))
)
def get_received_txn_response(*args):
return defer.succeed(None)
datastore.get_received_txn_response = get_received_txn_response
def setUp_datastore_presence_mocks(self, datastore):
self.current_user_state = {
"apple": OFFLINE,
"banana": OFFLINE,
"clementine": OFFLINE,
"fig": OFFLINE,
}
def get_presence_state(user_localpart):
return defer.succeed(
{"state": self.current_user_state[user_localpart],
"status_msg": None,
"mtime": 123456000}
)
datastore.get_presence_state = get_presence_state
def set_presence_state(user_localpart, new_state):
was = self.current_user_state[user_localpart]
self.current_user_state[user_localpart] = new_state["state"]
return defer.succeed({"state": was})
datastore.set_presence_state = set_presence_state
def get_presence_list(user_localpart, accepted):
if not user_localpart in self.PRESENCE_LIST:
return defer.succeed([])
return defer.succeed([
{"observed_user_id": u} for u in
self.PRESENCE_LIST[user_localpart]])
datastore.get_presence_list = get_presence_list
def is_presence_visible(observed_localpart, observer_userid):
return True
datastore.is_presence_visible = is_presence_visible
@defer.inlineCallbacks
def setUp_users(self, hs):
# Some local users to test with
self.u_apple = UserID.from_string("@apple:test")
self.u_banana = UserID.from_string("@banana:test")
self.u_clementine = UserID.from_string("@clementine:test")
self.u_durian = UserID.from_string("@durian:test")
self.u_elderberry = UserID.from_string("@elderberry:test")
self.u_fig = UserID.from_string("@fig:test")
# Remote user
self.u_onion = UserID.from_string("@onion:farm")
self.u_potato = UserID.from_string("@potato:remote")
yield
class PresenceStateTestCase(PresenceTestCase):
""" Tests presence management. """
@defer.inlineCallbacks
def setUp(self):
yield super(PresenceStateTestCase, self).setUp()
self.mock_start = Mock()
self.mock_stop = Mock()
@ -141,7 +290,7 @@ class PresenceStateTestCase(unittest.TestCase):
@defer.inlineCallbacks
def test_get_allowed_state(self):
yield self.store.allow_presence_visible(
yield self.datastore.allow_presence_visible(
observed_localpart=self.u_apple.localpart,
observer_userid=self.u_banana.to_string(),
)
@ -189,7 +338,7 @@ class PresenceStateTestCase(unittest.TestCase):
{"state": UNAVAILABLE,
"status_msg": "Away",
"mtime": 1000000},
(yield self.store.get_presence_state(self.u_apple.localpart))
(yield self.datastore.get_presence_state(self.u_apple.localpart))
)
self.mock_start.assert_called_with(self.u_apple,
@ -206,49 +355,11 @@ class PresenceStateTestCase(unittest.TestCase):
self.mock_stop.assert_called_with(self.u_apple)
class PresenceInvitesTestCase(unittest.TestCase):
class PresenceInvitesTestCase(PresenceTestCase):
""" Tests presence management. """
@defer.inlineCallbacks
def setUp(self):
self.mock_http_client = Mock(spec=[])
self.mock_http_client.put_json = DeferredMockCallable()
self.mock_federation_resource = MockHttpResource()
db_pool = SQLiteMemoryDbPool()
yield db_pool.prepare()
self.mock_config = NonCallableMock()
self.mock_config.signing_key = [MockKey()]
hs = HomeServer("test",
clock=MockClock(),
db_pool=db_pool,
handlers=None,
resource_for_client=Mock(),
resource_for_federation=self.mock_federation_resource,
http_client=self.mock_http_client,
config=self.mock_config,
keyring=Mock(),
)
hs.handlers = JustPresenceHandlers(hs)
self.store = hs.get_datastore()
# Some local users to test with
self.u_apple = hs.parse_userid("@apple:test")
self.u_banana = hs.parse_userid("@banana:test")
yield self.store.create_presence(self.u_apple.localpart)
yield self.store.create_presence(self.u_banana.localpart)
# ID of a local user that does not exist
self.u_durian = hs.parse_userid("@durian:test")
# A remote user
self.u_cabbage = hs.parse_userid("@cabbage:elsewhere")
self.handler = hs.get_handlers().presence_handler
yield super(PresenceInvitesTestCase, self).setUp()
self.mock_start = Mock()
self.mock_stop = Mock()
@ -266,10 +377,10 @@ class PresenceInvitesTestCase(unittest.TestCase):
self.assertEquals(
[{"observed_user_id": "@banana:test", "accepted": 1}],
(yield self.store.get_presence_list(self.u_apple.localpart))
(yield self.datastore.get_presence_list(self.u_apple.localpart))
)
self.assertTrue(
(yield self.store.is_presence_visible(
(yield self.datastore.is_presence_visible(
observed_localpart=self.u_banana.localpart,
observer_userid=self.u_apple.to_string(),
))
@ -285,7 +396,7 @@ class PresenceInvitesTestCase(unittest.TestCase):
self.assertEquals(
[],
(yield self.store.get_presence_list(self.u_apple.localpart))
(yield self.datastore.get_presence_list(self.u_apple.localpart))
)
@defer.inlineCallbacks
@ -310,7 +421,7 @@ class PresenceInvitesTestCase(unittest.TestCase):
self.assertEquals(
[{"observed_user_id": "@cabbage:elsewhere", "accepted": 0}],
(yield self.store.get_presence_list(self.u_apple.localpart))
(yield self.datastore.get_presence_list(self.u_apple.localpart))
)
yield put_json.await_calls()
@ -345,7 +456,7 @@ class PresenceInvitesTestCase(unittest.TestCase):
)
self.assertTrue(
(yield self.store.is_presence_visible(
(yield self.datastore.is_presence_visible(
observed_localpart=self.u_apple.localpart,
observer_userid=self.u_cabbage.to_string(),
))
@ -384,7 +495,7 @@ class PresenceInvitesTestCase(unittest.TestCase):
@defer.inlineCallbacks
def test_accepted_remote(self):
yield self.store.add_presence_list_pending(
yield self.datastore.add_presence_list_pending(
observer_localpart=self.u_apple.localpart,
observed_userid=self.u_cabbage.to_string(),
)
@ -401,7 +512,7 @@ class PresenceInvitesTestCase(unittest.TestCase):
self.assertEquals(
[{"observed_user_id": "@cabbage:elsewhere", "accepted": 1}],
(yield self.store.get_presence_list(self.u_apple.localpart))
(yield self.datastore.get_presence_list(self.u_apple.localpart))
)
self.mock_start.assert_called_with(
@ -409,7 +520,7 @@ class PresenceInvitesTestCase(unittest.TestCase):
@defer.inlineCallbacks
def test_denied_remote(self):
yield self.store.add_presence_list_pending(
yield self.datastore.add_presence_list_pending(
observer_localpart=self.u_apple.localpart,
observed_userid="@eggplant:elsewhere",
)
@ -426,16 +537,16 @@ class PresenceInvitesTestCase(unittest.TestCase):
self.assertEquals(
[],
(yield self.store.get_presence_list(self.u_apple.localpart))
(yield self.datastore.get_presence_list(self.u_apple.localpart))
)
@defer.inlineCallbacks
def test_drop_local(self):
yield self.store.add_presence_list_pending(
yield self.datastore.add_presence_list_pending(
observer_localpart=self.u_apple.localpart,
observed_userid=self.u_banana.to_string(),
)
yield self.store.set_presence_list_accepted(
yield self.datastore.set_presence_list_accepted(
observer_localpart=self.u_apple.localpart,
observed_userid=self.u_banana.to_string(),
)
@ -447,7 +558,7 @@ class PresenceInvitesTestCase(unittest.TestCase):
self.assertEquals(
[],
(yield self.store.get_presence_list(self.u_apple.localpart))
(yield self.datastore.get_presence_list(self.u_apple.localpart))
)
self.mock_stop.assert_called_with(
@ -455,11 +566,11 @@ class PresenceInvitesTestCase(unittest.TestCase):
@defer.inlineCallbacks
def test_drop_remote(self):
yield self.store.add_presence_list_pending(
yield self.datastore.add_presence_list_pending(
observer_localpart=self.u_apple.localpart,
observed_userid=self.u_cabbage.to_string(),
)
yield self.store.set_presence_list_accepted(
yield self.datastore.set_presence_list_accepted(
observer_localpart=self.u_apple.localpart,
observed_userid=self.u_cabbage.to_string(),
)
@ -471,16 +582,16 @@ class PresenceInvitesTestCase(unittest.TestCase):
self.assertEquals(
[],
(yield self.store.get_presence_list(self.u_apple.localpart))
(yield self.datastore.get_presence_list(self.u_apple.localpart))
)
@defer.inlineCallbacks
def test_get_presence_list(self):
yield self.store.add_presence_list_pending(
yield self.datastore.add_presence_list_pending(
observer_localpart=self.u_apple.localpart,
observed_userid=self.u_banana.to_string(),
)
yield self.store.set_presence_list_accepted(
yield self.datastore.set_presence_list_accepted(
observer_localpart=self.u_apple.localpart,
observed_userid=self.u_banana.to_string(),
)
@ -495,7 +606,7 @@ class PresenceInvitesTestCase(unittest.TestCase):
], presence)
class PresencePushTestCase(unittest.TestCase):
class PresencePushTestCase(MockedDatastorePresenceTestCase):
""" Tests steady-state presence status updates.
They assert that presence state update messages are pushed around the place
@ -505,138 +616,9 @@ class PresencePushTestCase(unittest.TestCase):
presence handler; namely the _local_pushmap and _remote_recvmap.
BE WARNED...
"""
def setUp(self):
self.clock = MockClock()
self.mock_http_client = Mock(spec=[])
self.mock_http_client.put_json = DeferredMockCallable()
self.mock_federation_resource = MockHttpResource()
self.mock_config = NonCallableMock()
self.mock_config.signing_key = [MockKey()]
hs = HomeServer("test",
clock=self.clock,
db_pool=None,
datastore=Mock(spec=[
"set_presence_state",
"get_joined_hosts_for_room",
# Bits that Federation needs
"prep_send_transaction",
"delivered_txn",
"get_received_txn_response",
"set_received_txn_response",
"get_destination_retry_timings",
]),
handlers=None,
resource_for_client=Mock(),
resource_for_federation=self.mock_federation_resource,
http_client=self.mock_http_client,
config=self.mock_config,
keyring=Mock(),
)
hs.handlers = JustPresenceHandlers(hs)
self.datastore = hs.get_datastore()
self.datastore.get_destination_retry_timings.return_value = (
defer.succeed(DestinationsTable.EntryType("", 0, 0))
)
def get_received_txn_response(*args):
return defer.succeed(None)
self.datastore.get_received_txn_response = get_received_txn_response
self.handler = hs.get_handlers().presence_handler
self.event_source = hs.get_event_sources().sources["presence"]
# Mock the RoomMemberHandler
hs.handlers.room_member_handler = Mock(spec=[
"get_rooms_for_user",
"get_room_members",
])
self.room_member_handler = hs.handlers.room_member_handler
self.room_members = []
def get_rooms_for_user(user):
if user in self.room_members:
return defer.succeed(["a-room"])
else:
return defer.succeed([])
self.room_member_handler.get_rooms_for_user = get_rooms_for_user
def get_room_members(room_id):
if room_id == "a-room":
return defer.succeed(self.room_members)
else:
return defer.succeed([])
self.room_member_handler.get_room_members = get_room_members
def get_room_hosts(room_id):
if room_id == "a-room":
hosts = set([u.domain for u in self.room_members])
return defer.succeed(hosts)
else:
return defer.succeed([])
self.datastore.get_joined_hosts_for_room = get_room_hosts
def user_rooms_intersect(userlist):
room_member_ids = map(lambda u: u.to_string(), self.room_members)
shared = all(map(lambda i: i in room_member_ids, userlist))
return defer.succeed(shared)
self.datastore.user_rooms_intersect = user_rooms_intersect
@defer.inlineCallbacks
def fetch_room_distributions_into(room_id, localusers=None,
remotedomains=None, ignore_user=None):
members = yield get_room_members(room_id)
for member in members:
if ignore_user is not None and member == ignore_user:
continue
if member.is_mine:
if localusers is not None:
localusers.add(member)
else:
if remotedomains is not None:
remotedomains.add(member.domain)
self.room_member_handler.fetch_room_distributions_into = (
fetch_room_distributions_into)
def get_presence_list(user_localpart, accepted=None):
if user_localpart == "apple":
return defer.succeed([
{"observed_user_id": "@banana:test"},
{"observed_user_id": "@clementine:test"},
])
else:
return defer.succeed([])
self.datastore.get_presence_list = get_presence_list
def is_presence_visible(observer_userid, observed_localpart):
if (observed_localpart == "clementine" and
observer_userid == "@banana:test"):
return False
return False
self.datastore.is_presence_visible = is_presence_visible
self.distributor = hs.get_distributor()
self.distributor.declare("user_joined_room")
# Some local users to test with
self.u_apple = hs.parse_userid("@apple:test")
self.u_banana = hs.parse_userid("@banana:test")
self.u_clementine = hs.parse_userid("@clementine:test")
self.u_durian = hs.parse_userid("@durian:test")
self.u_elderberry = hs.parse_userid("@elderberry:test")
# Remote user
self.u_onion = hs.parse_userid("@onion:farm")
self.u_potato = hs.parse_userid("@potato:remote")
PRESENCE_LIST = {
'apple': [ "@banana:test", "@clementine:test" ],
}
@defer.inlineCallbacks
def test_push_local(self):
@ -911,7 +893,7 @@ class PresencePushTestCase(unittest.TestCase):
)
yield self.distributor.fire("user_joined_room", self.u_clementine,
"a-room"
self.room_id
)
self.room_members.append(self.u_clementine)
@ -974,7 +956,7 @@ class PresencePushTestCase(unittest.TestCase):
self.room_members = [self.u_apple, self.u_banana]
yield self.distributor.fire("user_joined_room", self.u_potato,
"a-room"
self.room_id
)
yield put_json.await_calls()
@ -1003,13 +985,13 @@ class PresencePushTestCase(unittest.TestCase):
self.room_members.append(self.u_potato)
yield self.distributor.fire("user_joined_room", self.u_clementine,
"a-room"
self.room_id
)
put_json.await_calls()
class PresencePollingTestCase(unittest.TestCase):
class PresencePollingTestCase(MockedDatastorePresenceTestCase):
""" Tests presence status polling. """
# For this test, we have three local users; apple is watching and is
@ -1022,106 +1004,18 @@ class PresencePollingTestCase(unittest.TestCase):
'fig': [ "@potato:remote" ],
}
@defer.inlineCallbacks
def setUp(self):
self.mock_http_client = Mock(spec=[])
self.mock_http_client.put_json = DeferredMockCallable()
self.mock_federation_resource = MockHttpResource()
self.mock_config = NonCallableMock()
self.mock_config.signing_key = [MockKey()]
hs = HomeServer("test",
clock=MockClock(),
db_pool=None,
datastore=Mock(spec=[
# Bits that Federation needs
"prep_send_transaction",
"delivered_txn",
"get_received_txn_response",
"set_received_txn_response",
"get_destination_retry_timings",
]),
handlers=None,
resource_for_client=Mock(),
resource_for_federation=self.mock_federation_resource,
http_client=self.mock_http_client,
config=self.mock_config,
keyring=Mock(),
)
hs.handlers = JustPresenceHandlers(hs)
self.datastore = hs.get_datastore()
self.datastore.get_destination_retry_timings.return_value = (
defer.succeed(DestinationsTable.EntryType("", 0, 0))
)
def get_received_txn_response(*args):
return defer.succeed(None)
self.datastore.get_received_txn_response = get_received_txn_response
yield super(PresencePollingTestCase, self).setUp()
self.mock_update_client = Mock()
def update(*args,**kwargs):
# print "mock_update_client: Args=%s, kwargs=%s" %(args, kwargs,)
return defer.succeed(None)
self.mock_update_client.side_effect = update
self.handler = hs.get_handlers().presence_handler
self.handler.push_update_to_clients = self.mock_update_client
hs.handlers.room_member_handler = Mock(spec=[
"get_rooms_for_user",
])
# For this test no users are ever in rooms
def get_rooms_for_user(user):
return defer.succeed([])
hs.handlers.room_member_handler.get_rooms_for_user = get_rooms_for_user
# Mocked database state
# Local users always start offline
self.current_user_state = {
"apple": OFFLINE,
"banana": OFFLINE,
"clementine": OFFLINE,
"fig": OFFLINE,
}
def get_presence_state(user_localpart):
return defer.succeed(
{"state": self.current_user_state[user_localpart],
"status_msg": None,
"mtime": 123456000}
)
self.datastore.get_presence_state = get_presence_state
def set_presence_state(user_localpart, new_state):
was = self.current_user_state[user_localpart]
self.current_user_state[user_localpart] = new_state["state"]
return defer.succeed({"state": was})
self.datastore.set_presence_state = set_presence_state
def get_presence_list(user_localpart, accepted):
return defer.succeed([
{"observed_user_id": u} for u in
self.PRESENCE_LIST[user_localpart]])
self.datastore.get_presence_list = get_presence_list
def is_presence_visible(observed_localpart, observer_userid):
return True
self.datastore.is_presence_visible = is_presence_visible
# Local users
self.u_apple = hs.parse_userid("@apple:test")
self.u_banana = hs.parse_userid("@banana:test")
self.u_clementine = hs.parse_userid("@clementine:test")
self.u_fig = hs.parse_userid("@fig:test")
# Remote users
self.u_potato = hs.parse_userid("@potato:remote")
@defer.inlineCallbacks
def test_push_local(self):
# apple goes online

View file

@ -27,6 +27,7 @@ from synapse.server import HomeServer
from synapse.api.constants import PresenceState
from synapse.handlers.presence import PresenceHandler
from synapse.handlers.profile import ProfileHandler
from synapse.types import UserID
OFFLINE = PresenceState.OFFLINE
@ -136,12 +137,12 @@ class PresenceProfilelikeDataTestCase(unittest.TestCase):
lambda u: defer.succeed([]))
# Some local users to test with
self.u_apple = hs.parse_userid("@apple:test")
self.u_banana = hs.parse_userid("@banana:test")
self.u_clementine = hs.parse_userid("@clementine:test")
self.u_apple = UserID.from_string("@apple:test")
self.u_banana = UserID.from_string("@banana:test")
self.u_clementine = UserID.from_string("@clementine:test")
# Remote user
self.u_potato = hs.parse_userid("@potato:remote")
self.u_potato = UserID.from_string("@potato:remote")
self.mock_get_joined = (
self.datastore.get_rooms_for_user_where_membership_is

View file

@ -22,7 +22,7 @@ from mock import Mock, NonCallableMock
from synapse.api.errors import AuthError
from synapse.server import HomeServer
from synapse.handlers.profile import ProfileHandler
from synapse.api.constants import Membership
from synapse.types import UserID
from tests.utils import SQLiteMemoryDbPool, MockKey
@ -71,9 +71,9 @@ class ProfileTestCase(unittest.TestCase):
self.store = hs.get_datastore()
self.frank = hs.parse_userid("@1234ABCD:test")
self.bob = hs.parse_userid("@4567:test")
self.alice = hs.parse_userid("@alice:remote")
self.frank = UserID.from_string("@1234ABCD:test")
self.bob = UserID.from_string("@4567:test")
self.alice = UserID.from_string("@alice:remote")
yield self.store.create_profile(self.frank.localpart)

View file

@ -15,12 +15,13 @@
from twisted.internet import defer
from tests import unittest
from .. import unittest
from synapse.api.constants import EventTypes, Membership
from synapse.handlers.room import RoomMemberHandler, RoomCreationHandler
from synapse.handlers.profile import ProfileHandler
from synapse.server import HomeServer
from synapse.types import UserID
from ..utils import MockKey
from mock import Mock, NonCallableMock
@ -164,7 +165,7 @@ class RoomMemberHandlerTestCase(unittest.TestCase):
event, context=context,
)
self.notifier.on_new_room_event.assert_called_once_with(
event, extra_users=[self.hs.parse_userid(target_user_id)]
event, extra_users=[UserID.from_string(target_user_id)]
)
self.assertFalse(self.datastore.get_room.called)
self.assertFalse(self.datastore.store_room.called)
@ -174,7 +175,7 @@ class RoomMemberHandlerTestCase(unittest.TestCase):
def test_simple_join(self):
room_id = "!foo:red"
user_id = "@bob:red"
user = self.hs.parse_userid(user_id)
user = UserID.from_string(user_id)
join_signal_observer = Mock()
self.distributor.observe("user_joined_room", join_signal_observer)
@ -252,7 +253,7 @@ class RoomMemberHandlerTestCase(unittest.TestCase):
def test_simple_leave(self):
room_id = "!foo:red"
user_id = "@bob:red"
user = self.hs.parse_userid(user_id)
user = UserID.from_string(user_id)
builder = self.hs.get_event_builder_factory().new({
"type": EventTypes.Member,

View file

@ -27,6 +27,7 @@ from synapse.server import HomeServer
from synapse.handlers.typing import TypingNotificationHandler
from synapse.storage.transactions import DestinationsTable
from synapse.types import UserID
def _expect_edu(destination, edu_type, content, origin="test"):
@ -153,11 +154,11 @@ class TypingNotificationsTestCase(unittest.TestCase):
self.auth.check_joined_room = check_joined_room
# Some local users to test with
self.u_apple = hs.parse_userid("@apple:test")
self.u_banana = hs.parse_userid("@banana:test")
self.u_apple = UserID.from_string("@apple:test")
self.u_banana = UserID.from_string("@banana:test")
# Remote user
self.u_onion = hs.parse_userid("@onion:farm")
self.u_onion = UserID.from_string("@onion:farm")
@defer.inlineCallbacks
def test_started_typing_local(self):

View file

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright 2014 OpenMarket Ltd
# Copyright 2015 OpenMarket Ltd
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@ -12,4 +12,3 @@
# 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.

View file

@ -0,0 +1,14 @@
# -*- coding: utf-8 -*-
# Copyright 2015 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.

View file

@ -0,0 +1,15 @@
# -*- 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.

View file

@ -19,13 +19,13 @@ from tests import unittest
# twisted imports
from twisted.internet import defer
import synapse.rest.events
import synapse.rest.register
import synapse.rest.room
import synapse.rest.client.v1.events
import synapse.rest.client.v1.register
import synapse.rest.client.v1.room
from synapse.server import HomeServer
from ..utils import MockHttpResource, SQLiteMemoryDbPool, MockKey
from ....utils import MockHttpResource, SQLiteMemoryDbPool, MockKey
from .utils import RestTestCase
from mock import Mock, NonCallableMock
@ -144,9 +144,9 @@ class EventStreamPermissionsTestCase(RestTestCase):
hs.get_clock().time_msec.return_value = 1000000
hs.get_clock().time.return_value = 1000
synapse.rest.register.register_servlets(hs, self.mock_resource)
synapse.rest.events.register_servlets(hs, self.mock_resource)
synapse.rest.room.register_servlets(hs, self.mock_resource)
synapse.rest.client.v1.register.register_servlets(hs, self.mock_resource)
synapse.rest.client.v1.events.register_servlets(hs, self.mock_resource)
synapse.rest.client.v1.room.register_servlets(hs, self.mock_resource)
# register an account
self.user_id = "sid1"

View file

@ -20,11 +20,14 @@ from twisted.internet import defer
from mock import Mock
from ..utils import MockHttpResource, MockKey
from ....utils import MockHttpResource, MockKey
from synapse.api.constants import PresenceState
from synapse.handlers.presence import PresenceHandler
from synapse.server import HomeServer
from synapse.rest.client.v1 import presence
from synapse.rest.client.v1 import events
from synapse.types import UserID
OFFLINE = PresenceState.OFFLINE
@ -69,9 +72,10 @@ class PresenceStateTestCase(unittest.TestCase):
def _get_user_by_token(token=None):
return {
"user": hs.parse_userid(myid),
"user": UserID.from_string(myid),
"admin": False,
"device_id": None,
"token_id": 1,
}
hs.get_auth().get_user_by_token = _get_user_by_token
@ -86,9 +90,9 @@ class PresenceStateTestCase(unittest.TestCase):
return defer.succeed([])
room_member_handler.get_rooms_for_user = get_rooms_for_user
hs.register_servlets()
presence.register_servlets(hs, self.mock_resource)
self.u_apple = hs.parse_userid(myid)
self.u_apple = UserID.from_string(myid)
@defer.inlineCallbacks
def test_get_my_status(self):
@ -159,12 +163,13 @@ class PresenceListTestCase(unittest.TestCase):
def _get_user_by_token(token=None):
return {
"user": hs.parse_userid(myid),
"user": UserID.from_string(myid),
"admin": False,
"device_id": None,
"token_id": 1,
}
room_member_handler = hs.handlers.room_member_handler = Mock(
hs.handlers.room_member_handler = Mock(
spec=[
"get_rooms_for_user",
]
@ -172,10 +177,10 @@ class PresenceListTestCase(unittest.TestCase):
hs.get_auth().get_user_by_token = _get_user_by_token
hs.register_servlets()
presence.register_servlets(hs, self.mock_resource)
self.u_apple = hs.parse_userid("@apple:test")
self.u_banana = hs.parse_userid("@banana:test")
self.u_apple = UserID.from_string("@apple:test")
self.u_banana = UserID.from_string("@banana:test")
@defer.inlineCallbacks
def test_get_my_list(self):
@ -279,11 +284,12 @@ class PresenceEventStreamTestCase(unittest.TestCase):
hs.get_clock().time_msec.return_value = 1000000
def _get_user_by_req(req=None):
return hs.parse_userid(myid)
return (UserID.from_string(myid), "")
hs.get_auth().get_user_by_req = _get_user_by_req
hs.register_servlets()
presence.register_servlets(hs, self.mock_resource)
events.register_servlets(hs, self.mock_resource)
hs.handlers.room_member_handler = Mock(spec=[])
@ -319,8 +325,8 @@ class PresenceEventStreamTestCase(unittest.TestCase):
self.presence = hs.get_handlers().presence_handler
self.u_apple = hs.parse_userid("@apple:test")
self.u_banana = hs.parse_userid("@banana:test")
self.u_apple = UserID.from_string("@apple:test")
self.u_banana = UserID.from_string("@banana:test")
@defer.inlineCallbacks
def test_shortpoll(self):

View file

@ -20,10 +20,13 @@ from twisted.internet import defer
from mock import Mock, NonCallableMock
from ..utils import MockHttpResource, MockKey
from ....utils import MockHttpResource, MockKey
from synapse.api.errors import SynapseError, AuthError
from synapse.server import HomeServer
from synapse.types import UserID
from synapse.rest.client.v1 import profile
myid = "@1234ABCD:test"
PATH_PREFIX = "/_matrix/client/api/v1"
@ -55,13 +58,13 @@ class ProfileTestCase(unittest.TestCase):
)
def _get_user_by_req(request=None):
return hs.parse_userid(myid)
return (UserID.from_string(myid), "")
hs.get_auth().get_user_by_req = _get_user_by_req
hs.get_handlers().profile_handler = self.mock_handler
hs.register_servlets()
profile.register_servlets(hs, self.mock_resource)
@defer.inlineCallbacks
def test_get_my_name(self):

View file

@ -18,19 +18,16 @@
# twisted imports
from twisted.internet import defer
import synapse.rest.room
import synapse.rest.client.v1.room
from synapse.api.constants import Membership
from synapse.server import HomeServer
from synapse.types import UserID
from tests import unittest
# python imports
import json
import urllib
import types
from ..utils import MockHttpResource, SQLiteMemoryDbPool, MockKey
from ....utils import MockHttpResource, SQLiteMemoryDbPool, MockKey
from .utils import RestTestCase
from mock import Mock, NonCallableMock
@ -70,9 +67,10 @@ class RoomPermissionsTestCase(RestTestCase):
def _get_user_by_token(token=None):
return {
"user": hs.parse_userid(self.auth_user_id),
"user": UserID.from_string(self.auth_user_id),
"admin": False,
"device_id": None,
"token_id": 1,
}
hs.get_auth().get_user_by_token = _get_user_by_token
@ -82,7 +80,7 @@ class RoomPermissionsTestCase(RestTestCase):
self.auth_user_id = self.rmcreator_id
synapse.rest.room.register_servlets(hs, self.mock_resource)
synapse.rest.client.v1.room.register_servlets(hs, self.mock_resource)
self.auth = hs.get_auth()
@ -466,9 +464,10 @@ class RoomsMemberListTestCase(RestTestCase):
def _get_user_by_token(token=None):
return {
"user": hs.parse_userid(self.auth_user_id),
"user": UserID.from_string(self.auth_user_id),
"admin": False,
"device_id": None,
"token_id": 1,
}
hs.get_auth().get_user_by_token = _get_user_by_token
@ -476,7 +475,7 @@ class RoomsMemberListTestCase(RestTestCase):
return defer.succeed(None)
hs.get_datastore().insert_client_ip = _insert_client_ip
synapse.rest.room.register_servlets(hs, self.mock_resource)
synapse.rest.client.v1.room.register_servlets(hs, self.mock_resource)
def tearDown(self):
pass
@ -555,9 +554,10 @@ class RoomsCreateTestCase(RestTestCase):
def _get_user_by_token(token=None):
return {
"user": hs.parse_userid(self.auth_user_id),
"user": UserID.from_string(self.auth_user_id),
"admin": False,
"device_id": None,
"token_id": 1,
}
hs.get_auth().get_user_by_token = _get_user_by_token
@ -565,7 +565,7 @@ class RoomsCreateTestCase(RestTestCase):
return defer.succeed(None)
hs.get_datastore().insert_client_ip = _insert_client_ip
synapse.rest.room.register_servlets(hs, self.mock_resource)
synapse.rest.client.v1.room.register_servlets(hs, self.mock_resource)
def tearDown(self):
pass
@ -657,9 +657,10 @@ class RoomTopicTestCase(RestTestCase):
def _get_user_by_token(token=None):
return {
"user": hs.parse_userid(self.auth_user_id),
"user": UserID.from_string(self.auth_user_id),
"admin": False,
"device_id": None,
"token_id": 1,
}
hs.get_auth().get_user_by_token = _get_user_by_token
@ -668,7 +669,7 @@ class RoomTopicTestCase(RestTestCase):
return defer.succeed(None)
hs.get_datastore().insert_client_ip = _insert_client_ip
synapse.rest.room.register_servlets(hs, self.mock_resource)
synapse.rest.client.v1.room.register_servlets(hs, self.mock_resource)
# create the room
self.room_id = yield self.create_room_as(self.user_id)
@ -773,9 +774,10 @@ class RoomMemberStateTestCase(RestTestCase):
def _get_user_by_token(token=None):
return {
"user": hs.parse_userid(self.auth_user_id),
"user": UserID.from_string(self.auth_user_id),
"admin": False,
"device_id": None,
"token_id": 1,
}
hs.get_auth().get_user_by_token = _get_user_by_token
@ -783,7 +785,7 @@ class RoomMemberStateTestCase(RestTestCase):
return defer.succeed(None)
hs.get_datastore().insert_client_ip = _insert_client_ip
synapse.rest.room.register_servlets(hs, self.mock_resource)
synapse.rest.client.v1.room.register_servlets(hs, self.mock_resource)
self.room_id = yield self.create_room_as(self.user_id)
@ -909,9 +911,10 @@ class RoomMessagesTestCase(RestTestCase):
def _get_user_by_token(token=None):
return {
"user": hs.parse_userid(self.auth_user_id),
"user": UserID.from_string(self.auth_user_id),
"admin": False,
"device_id": None,
"token_id": 1,
}
hs.get_auth().get_user_by_token = _get_user_by_token
@ -919,7 +922,7 @@ class RoomMessagesTestCase(RestTestCase):
return defer.succeed(None)
hs.get_datastore().insert_client_ip = _insert_client_ip
synapse.rest.room.register_servlets(hs, self.mock_resource)
synapse.rest.client.v1.room.register_servlets(hs, self.mock_resource)
self.room_id = yield self.create_room_as(self.user_id)
@ -1013,9 +1016,10 @@ class RoomInitialSyncTestCase(RestTestCase):
def _get_user_by_token(token=None):
return {
"user": hs.parse_userid(self.auth_user_id),
"user": UserID.from_string(self.auth_user_id),
"admin": False,
"device_id": None,
"token_id": 1,
}
hs.get_auth().get_user_by_token = _get_user_by_token
@ -1023,12 +1027,12 @@ class RoomInitialSyncTestCase(RestTestCase):
return defer.succeed(None)
hs.get_datastore().insert_client_ip = _insert_client_ip
synapse.rest.room.register_servlets(hs, self.mock_resource)
synapse.rest.client.v1.room.register_servlets(hs, self.mock_resource)
# Since I'm getting my own presence I need to exist as far as presence
# is concerned.
hs.get_handlers().presence_handler.registered_user(
hs.parse_userid(self.user_id)
UserID.from_string(self.user_id)
)
# create the room

View file

@ -18,10 +18,11 @@
# twisted imports
from twisted.internet import defer
import synapse.rest.room
import synapse.rest.client.v1.room
from synapse.server import HomeServer
from synapse.types import UserID
from ..utils import MockHttpResource, MockClock, SQLiteMemoryDbPool, MockKey
from ....utils import MockHttpResource, MockClock, SQLiteMemoryDbPool, MockKey
from .utils import RestTestCase
from mock import Mock, NonCallableMock
@ -69,9 +70,10 @@ class RoomTypingTestCase(RestTestCase):
def _get_user_by_token(token=None):
return {
"user": hs.parse_userid(self.auth_user_id),
"user": UserID.from_string(self.auth_user_id),
"admin": False,
"device_id": None,
"token_id": 1,
}
hs.get_auth().get_user_by_token = _get_user_by_token
@ -82,7 +84,7 @@ class RoomTypingTestCase(RestTestCase):
def get_room_members(room_id):
if room_id == self.room_id:
return defer.succeed([hs.parse_userid(self.user_id)])
return defer.succeed([UserID.from_string(self.user_id)])
else:
return defer.succeed([])
@ -104,7 +106,7 @@ class RoomTypingTestCase(RestTestCase):
hs.get_handlers().room_member_handler.fetch_room_distributions_into = (
fetch_room_distributions_into)
synapse.rest.room.register_servlets(hs, self.mock_resource)
synapse.rest.client.v1.room.register_servlets(hs, self.mock_resource)
self.room_id = yield self.create_room_as(self.user_id)
# Need another user to make notifications actually work

View file

@ -0,0 +1,60 @@
# -*- coding: utf-8 -*-
# Copyright 2015 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 tests import unittest
from mock import Mock
from ....utils import MockHttpResource, MockKey
from synapse.server import HomeServer
from synapse.types import UserID
PATH_PREFIX = "/_matrix/client/v2_alpha"
class V2AlphaRestTestCase(unittest.TestCase):
# Consumer must define
# USER_ID = <some string>
# TO_REGISTER = [<list of REST servlets to register>]
def setUp(self):
self.mock_resource = MockHttpResource(prefix=PATH_PREFIX)
mock_config = Mock()
mock_config.signing_key = [MockKey()]
hs = HomeServer("test",
db_pool=None,
datastore=Mock(spec=[
"insert_client_ip",
]),
http_client=None,
resource_for_client=self.mock_resource,
resource_for_federation=self.mock_resource,
config=mock_config,
)
def _get_user_by_token(token=None):
return {
"user": UserID.from_string(self.USER_ID),
"admin": False,
"device_id": None,
}
hs.get_auth().get_user_by_token = _get_user_by_token
for r in self.TO_REGISTER:
r.register_servlets(hs, self.mock_resource)

View file

@ -1,5 +0,0 @@
synapse/storage/feedback.py
synapse/storage/keys.py
synapse/storage/pdu.py
synapse/storage/stream.py
synapse/storage/transactions.py

View file

@ -19,6 +19,7 @@ from twisted.internet import defer
from synapse.server import HomeServer
from synapse.storage.directory import DirectoryStore
from synapse.types import RoomID, RoomAlias
from tests.utils import SQLiteMemoryDbPool
@ -37,8 +38,8 @@ class DirectoryStoreTestCase(unittest.TestCase):
self.store = DirectoryStore(hs)
self.room = hs.parse_roomid("!abcde:test")
self.alias = hs.parse_roomalias("#my-room:test")
self.room = RoomID.from_string("!abcde:test")
self.alias = RoomAlias.from_string("#my-room:test")
@defer.inlineCallbacks
def test_room_to_alias(self):

View file

@ -19,6 +19,7 @@ from twisted.internet import defer
from synapse.server import HomeServer
from synapse.storage.presence import PresenceStore
from synapse.types import UserID
from tests.utils import SQLiteMemoryDbPool, MockClock
@ -37,8 +38,8 @@ class PresenceStoreTestCase(unittest.TestCase):
self.store = PresenceStore(hs)
self.u_apple = hs.parse_userid("@apple:test")
self.u_banana = hs.parse_userid("@banana:test")
self.u_apple = UserID.from_string("@apple:test")
self.u_banana = UserID.from_string("@banana:test")
@defer.inlineCallbacks
def test_state(self):

View file

@ -19,6 +19,7 @@ from twisted.internet import defer
from synapse.server import HomeServer
from synapse.storage.profile import ProfileStore
from synapse.types import UserID
from tests.utils import SQLiteMemoryDbPool
@ -36,7 +37,7 @@ class ProfileStoreTestCase(unittest.TestCase):
self.store = ProfileStore(hs)
self.u_frank = hs.parse_userid("@frank:test")
self.u_frank = UserID.from_string("@frank:test")
@defer.inlineCallbacks
def test_displayname(self):

View file

@ -19,6 +19,7 @@ from twisted.internet import defer
from synapse.server import HomeServer
from synapse.api.constants import EventTypes, Membership
from synapse.types import UserID, RoomID
from tests.utils import SQLiteMemoryDbPool, MockKey
@ -48,10 +49,10 @@ class RedactionTestCase(unittest.TestCase):
self.handlers = hs.get_handlers()
self.message_handler = self.handlers.message_handler
self.u_alice = hs.parse_userid("@alice:test")
self.u_bob = hs.parse_userid("@bob:test")
self.u_alice = UserID.from_string("@alice:test")
self.u_bob = UserID.from_string("@bob:test")
self.room1 = hs.parse_roomid("!abc123:test")
self.room1 = RoomID.from_string("!abc123:test")
self.depth = 1

View file

@ -53,7 +53,10 @@ class RegistrationStoreTestCase(unittest.TestCase):
)
self.assertEquals(
{"admin": 0, "device_id": None, "name": self.user_id},
{"admin": 0,
"device_id": None,
"name": self.user_id,
"token_id": 1},
(yield self.store.get_user_by_token(self.tokens[0]))
)
@ -63,7 +66,10 @@ class RegistrationStoreTestCase(unittest.TestCase):
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},
{"admin": 0,
"device_id": None,
"name": self.user_id,
"token_id": 2},
(yield self.store.get_user_by_token(self.tokens[1]))
)

View file

@ -19,6 +19,7 @@ from twisted.internet import defer
from synapse.server import HomeServer
from synapse.api.constants import EventTypes
from synapse.types import UserID, RoomID, RoomAlias
from tests.utils import SQLiteMemoryDbPool
@ -38,9 +39,9 @@ class RoomStoreTestCase(unittest.TestCase):
# 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")
self.room = RoomID.from_string("!abcde:test")
self.alias = RoomAlias.from_string("#a-room-name:test")
self.u_creator = UserID.from_string("@creator:test")
yield self.store.store_room(self.room.to_string(),
room_creator_user_id=self.u_creator.to_string(),
@ -97,7 +98,7 @@ class RoomEventsStoreTestCase(unittest.TestCase):
self.store = hs.get_datastore()
self.event_factory = hs.get_event_factory();
self.room = hs.parse_roomid("!abcde:test")
self.room = RoomID.from_string("!abcde:test")
yield self.store.store_room(self.room.to_string(),
room_creator_user_id="@creator:text",

View file

@ -19,6 +19,7 @@ from twisted.internet import defer
from synapse.server import HomeServer
from synapse.api.constants import EventTypes, Membership
from synapse.types import UserID, RoomID
from tests.utils import SQLiteMemoryDbPool, MockKey
@ -49,13 +50,13 @@ class RoomMemberStoreTestCase(unittest.TestCase):
self.handlers = hs.get_handlers()
self.message_handler = self.handlers.message_handler
self.u_alice = hs.parse_userid("@alice:test")
self.u_bob = hs.parse_userid("@bob:test")
self.u_alice = UserID.from_string("@alice:test")
self.u_bob = UserID.from_string("@bob:test")
# User elsewhere on another host
self.u_charlie = hs.parse_userid("@charlie:elsewhere")
self.u_charlie = UserID.from_string("@charlie:elsewhere")
self.room = hs.parse_roomid("!abc123:test")
self.room = RoomID.from_string("!abc123:test")
@defer.inlineCallbacks
def inject_room_member(self, room, user, membership, replaces_state=None):

View file

@ -19,6 +19,7 @@ from twisted.internet import defer
from synapse.server import HomeServer
from synapse.api.constants import EventTypes, Membership
from synapse.types import UserID, RoomID
from tests.utils import SQLiteMemoryDbPool, MockKey
@ -48,11 +49,11 @@ class StreamStoreTestCase(unittest.TestCase):
self.handlers = hs.get_handlers()
self.message_handler = self.handlers.message_handler
self.u_alice = hs.parse_userid("@alice:test")
self.u_bob = hs.parse_userid("@bob:test")
self.u_alice = UserID.from_string("@alice:test")
self.u_bob = UserID.from_string("@bob:test")
self.room1 = hs.parse_roomid("!abc123:test")
self.room2 = hs.parse_roomid("!xyx987:test")
self.room1 = RoomID.from_string("!abc123:test")
self.room2 = RoomID.from_string("!xyx987:test")
self.depth = 1

View file

@ -42,12 +42,6 @@ class UserIDTestCase(unittest.TestCase):
self.assertTrue(userA == userAagain)
self.assertTrue(userA != userB)
def test_via_homeserver(self):
user = mock_homeserver.parse_userid("@3456ijkl:my.domain")
self.assertEquals("3456ijkl", user.localpart)
self.assertEquals("my.domain", user.domain)
class RoomAliasTestCase(unittest.TestCase):
@ -62,9 +56,3 @@ class RoomAliasTestCase(unittest.TestCase):
room = RoomAlias("channel", "my.domain")
self.assertEquals(room.to_string(), "#channel:my.domain")
def test_via_homeserver(self):
room = mock_homeserver.parse_roomalias("#elsewhere:my.domain")
self.assertEquals("elsewhere", room.localpart)
self.assertEquals("my.domain", room.domain)