summary refs log tree commit diff
path: root/tests
diff options
context:
space:
mode:
authorMark Haines <mark.haines@matrix.org>2014-08-26 16:07:05 +0100
committerMark Haines <mark.haines@matrix.org>2014-08-26 16:07:05 +0100
commit4b63b06cad3e72e3d3dee66d3d6c7801e4a7abaf (patch)
tree37b368d6039d986d70f153fb69d6345d1019d64a /tests
parentfix a few pyflakes errors (diff)
parentFix pyflakes errors (diff)
downloadsynapse-4b63b06cad3e72e3d3dee66d3d6c7801e4a7abaf.tar.xz
Merge branch 'develop' into storage_transactions
Conflicts:
	synapse/api/auth.py
	synapse/handlers/room.py
	synapse/storage/__init__.py
Diffstat (limited to 'tests')
-rw-r--r--tests/handlers/test_federation.py1
-rw-r--r--tests/handlers/test_presence.py7
-rw-r--r--tests/handlers/test_presencelike.py4
-rw-r--r--tests/handlers/test_room.py6
-rw-r--r--tests/rest/test_presence.py2
-rw-r--r--tests/rest/test_rooms.py32
-rw-r--r--tests/rest/utils.py22
-rw-r--r--tests/utils.py8
8 files changed, 48 insertions, 34 deletions
diff --git a/tests/handlers/test_federation.py b/tests/handlers/test_federation.py
index f4cf54b7ee..a92d825f49 100644
--- a/tests/handlers/test_federation.py
+++ b/tests/handlers/test_federation.py
@@ -99,7 +99,6 @@ class FederationTestCase(unittest.TestCase):
         new_event = mem_handler.change_membership.call_args[0][0]
         self.assertEquals(RoomMemberEvent.TYPE, new_event.type)
         self.assertEquals(room_id, new_event.room_id)
-        self.assertEquals(user_id, new_event.target_user_id)
         self.assertEquals(user_id, new_event.state_key)
         self.assertEquals(Membership.JOIN, new_event.membership)
 
diff --git a/tests/handlers/test_presence.py b/tests/handlers/test_presence.py
index 8b88c49a0b..6d3cd76dba 100644
--- a/tests/handlers/test_presence.py
+++ b/tests/handlers/test_presence.py
@@ -190,6 +190,7 @@ class PresenceStateTestCase(unittest.TestCase):
             ),
             SynapseError
         )
+    test_get_disallowed_state.skip = "Presence polling is disabled"
 
     @defer.inlineCallbacks
     def test_set_my_state(self):
@@ -214,6 +215,7 @@ class PresenceStateTestCase(unittest.TestCase):
                 state={"state": OFFLINE})
 
         self.mock_stop.assert_called_with(self.u_apple)
+    test_set_my_state.skip = "Presence polling is disabled"
 
 
 class PresenceInvitesTestCase(unittest.TestCase):
@@ -653,6 +655,7 @@ class PresencePushTestCase(unittest.TestCase):
                     observed_user=self.u_banana,
                     statuscache=ANY), # self-reflection
         ]) # and no others...
+    test_push_local.skip = "Presence polling is disabled"
 
     @defer.inlineCallbacks
     def test_push_remote(self):
@@ -704,6 +707,7 @@ class PresencePushTestCase(unittest.TestCase):
         )
 
         yield put_json.await_calls()
+    test_push_remote.skip = "Presence polling is disabled"
 
     @defer.inlineCallbacks
     def test_recv_remote(self):
@@ -996,6 +1000,8 @@ class PresencePollingTestCase(unittest.TestCase):
 
         self.assertFalse("banana" in self.handler._local_pushmap)
         self.assertFalse("clementine" in self.handler._local_pushmap)
+    test_push_local.skip = "Presence polling is disabled"
+
 
     @defer.inlineCallbacks
     def test_remote_poll_send(self):
@@ -1044,6 +1050,7 @@ class PresencePollingTestCase(unittest.TestCase):
         put_json.await_calls()
 
         self.assertFalse(self.u_potato in self.handler._remote_recvmap)
+    test_remote_poll_send.skip = "Presence polling is disabled"
 
     @defer.inlineCallbacks
     def test_remote_poll_receive(self):
diff --git a/tests/handlers/test_presencelike.py b/tests/handlers/test_presencelike.py
index bba5dd4e53..c25c6889be 100644
--- a/tests/handlers/test_presencelike.py
+++ b/tests/handlers/test_presencelike.py
@@ -135,6 +135,7 @@ class PresenceProfilelikeDataTestCase(unittest.TestCase):
 
         mocked_set.assert_called_with("apple",
                 {"state": UNAVAILABLE, "status_msg": "Away"})
+    test_set_my_state.skip = "Presence polling is disabled"
 
     @defer.inlineCallbacks
     def test_push_local(self):
@@ -209,6 +210,8 @@ class PresenceProfilelikeDataTestCase(unittest.TestCase):
             "displayname": "I am an Apple",
             "avatar_url": "http://foo",
         }, statuscache.state)
+    test_push_local.skip = "Presence polling is disabled"
+
 
     @defer.inlineCallbacks
     def test_push_remote(self):
@@ -239,6 +242,7 @@ class PresenceProfilelikeDataTestCase(unittest.TestCase):
                     ],
                 },
         )
+    test_push_remote.skip = "Presence polling is disabled"
 
     @defer.inlineCallbacks
     def test_recv_remote(self):
diff --git a/tests/handlers/test_room.py b/tests/handlers/test_room.py
index 9ab4096438..a1ab8dde68 100644
--- a/tests/handlers/test_room.py
+++ b/tests/handlers/test_room.py
@@ -90,7 +90,7 @@ class RoomMemberHandlerTestCase(unittest.TestCase):
         event = self.hs.get_event_factory().create_event(
             etype=RoomMemberEvent.TYPE,
             user_id=user_id,
-            target_user_id=target_user_id,
+            state_key=target_user_id,
             room_id=room_id,
             membership=Membership.INVITE,
             content=content,
@@ -143,7 +143,7 @@ class RoomMemberHandlerTestCase(unittest.TestCase):
         event = self.hs.get_event_factory().create_event(
             etype=RoomMemberEvent.TYPE,
             user_id=user_id,
-            target_user_id=target_user_id,
+            state_key=target_user_id,
             room_id=room_id,
             membership=Membership.JOIN,
             content=content,
@@ -374,7 +374,7 @@ class RoomCreationTest(unittest.TestCase):
         self.assertEquals(RoomMemberEvent.TYPE, join_event.type)
         self.assertEquals(room_id, join_event.room_id)
         self.assertEquals(user_id, join_event.user_id)
-        self.assertEquals(user_id, join_event.target_user_id)
+        self.assertEquals(user_id, join_event.state_key)
 
         self.assertTrue(self.state_handler.handle_new_event.called)
 
diff --git a/tests/rest/test_presence.py b/tests/rest/test_presence.py
index 8ac246b4d5..970405d271 100644
--- a/tests/rest/test_presence.py
+++ b/tests/rest/test_presence.py
@@ -114,6 +114,7 @@ class PresenceStateTestCase(unittest.TestCase):
         self.assertEquals(200, code)
         mocked_set.assert_called_with("apple",
                 {"state": UNAVAILABLE, "status_msg": "Away"})
+    test_set_my_status.skip = "Presence polling is disabled"
 
 
 class PresenceListTestCase(unittest.TestCase):
@@ -309,3 +310,4 @@ class PresenceEventStreamTestCase(unittest.TestCase):
                  "mtime_age": 0,
             }},
         ]}, response)
+    test_shortpoll.skip = "Presence polling is disabled"
diff --git a/tests/rest/test_rooms.py b/tests/rest/test_rooms.py
index a9b66df912..b932ca02e0 100644
--- a/tests/rest/test_rooms.py
+++ b/tests/rest/test_rooms.py
@@ -94,7 +94,7 @@ class RoomPermissionsTestCase(RestTestCase):
         # set topic for public room
         (code, response) = yield self.mock_resource.trigger(
                            "PUT",
-                           "/rooms/%s/topic" % self.created_public_rmid,
+                           "/rooms/%s/state/m.room.topic" % self.created_public_rmid,
                            '{"topic":"Public Room Topic"}')
         self.assertEquals(200, code, msg=str(response))
 
@@ -175,15 +175,15 @@ class RoomPermissionsTestCase(RestTestCase):
     @defer.inlineCallbacks
     def test_topic_perms(self):
         topic_content = '{"topic":"My Topic Name"}'
-        topic_path = "/rooms/%s/topic" % self.created_rmid
+        topic_path = "/rooms/%s/state/m.room.topic" % self.created_rmid
 
         # set/get topic in uncreated room, expect 403
         (code, response) = yield self.mock_resource.trigger(
-                           "PUT", "/rooms/%s/topic" % self.uncreated_rmid,
+                           "PUT", "/rooms/%s/state/m.room.topic" % self.uncreated_rmid,
                            topic_content)
         self.assertEquals(403, code, msg=str(response))
         (code, response) = yield self.mock_resource.trigger_get(
-                           "/rooms/%s/topic" % self.uncreated_rmid)
+                           "/rooms/%s/state/m.room.topic" % self.uncreated_rmid)
         self.assertEquals(403, code, msg=str(response))
 
         # set/get topic in created PRIVATE room not joined, expect 403
@@ -223,19 +223,19 @@ class RoomPermissionsTestCase(RestTestCase):
 
         # get topic in PUBLIC room, not joined, expect 200 (or 404)
         (code, response) = yield self.mock_resource.trigger_get(
-                           "/rooms/%s/topic" % self.created_public_rmid)
+                           "/rooms/%s/state/m.room.topic" % self.created_public_rmid)
         self.assertEquals(200, code, msg=str(response))
 
         # set topic in PUBLIC room, not joined, expect 403
         (code, response) = yield self.mock_resource.trigger(
                            "PUT",
-                           "/rooms/%s/topic" % self.created_public_rmid,
+                           "/rooms/%s/state/m.room.topic" % self.created_public_rmid,
                            topic_content)
         self.assertEquals(403, code, msg=str(response))
 
     @defer.inlineCallbacks
     def _test_get_membership(self, room=None, members=[], expect_code=None):
-        path = "/rooms/%s/members/%s/state"
+        path = "/rooms/%s/state/m.room.member/%s"
         for member in members:
             (code, response) = yield self.mock_resource.trigger_get(
                                path %
@@ -291,12 +291,12 @@ class RoomPermissionsTestCase(RestTestCase):
     def test_membership_public_room_perms(self):
         room = self.created_public_rmid
         # get membership of self, get membership of other, public room + invite
-        # expect all 403s
+        # expect all 200s - public rooms, you can see who is in them.
         yield self.invite(room=room, src=self.rmcreator_id,
                           targ=self.user_id)
         yield self._test_get_membership(
             members=[self.user_id, self.rmcreator_id],
-            room=room, expect_code=403)
+            room=room, expect_code=200)
 
         # get membership of self, get membership of other, public room + joined
         # expect all 200s
@@ -306,11 +306,11 @@ class RoomPermissionsTestCase(RestTestCase):
             room=room, expect_code=200)
 
         # get membership of self, get membership of other, public room + left
-        # expect all 403s
+        # expect all 200s - public rooms, you can always see who is in them.
         yield self.leave(room=room, user=self.user_id)
         yield self._test_get_membership(
             members=[self.user_id, self.rmcreator_id],
-            room=room, expect_code=403)
+            room=room, expect_code=200)
 
     @defer.inlineCallbacks
     def test_invited_permissions(self):
@@ -614,7 +614,7 @@ class RoomTopicTestCase(RestTestCase):
         self.mock_resource = MockHttpResource(prefix=PATH_PREFIX)
         self.auth_user_id = self.user_id
         self.room_id = "!rid1:test"
-        self.path = "/rooms/%s/topic" % self.room_id
+        self.path = "/rooms/%s/state/m.room.topic" % self.room_id
 
         state_handler = Mock(spec=["handle_new_event"])
         state_handler.handle_new_event.return_value = True
@@ -749,7 +749,7 @@ class RoomMemberStateTestCase(RestTestCase):
 
     @defer.inlineCallbacks
     def test_invalid_puts(self):
-        path = "/rooms/%s/members/%s/state" % (self.room_id, self.user_id)
+        path = "/rooms/%s/state/m.room.member/%s" % (self.room_id, self.user_id)
         # missing keys or invalid json
         (code, response) = yield self.mock_resource.trigger("PUT",
                            path, '{}')
@@ -783,7 +783,7 @@ class RoomMemberStateTestCase(RestTestCase):
 
     @defer.inlineCallbacks
     def test_rooms_members_self(self):
-        path = "/rooms/%s/members/%s/state" % (
+        path = "/rooms/%s/state/m.room.member/%s" % (
             urllib.quote(self.room_id), self.user_id
         )
 
@@ -804,7 +804,7 @@ class RoomMemberStateTestCase(RestTestCase):
     @defer.inlineCallbacks
     def test_rooms_members_other(self):
         self.other_id = "@zzsid1:red"
-        path = "/rooms/%s/members/%s/state" % (
+        path = "/rooms/%s/state/m.room.member/%s" % (
             urllib.quote(self.room_id), self.other_id
         )
 
@@ -820,7 +820,7 @@ class RoomMemberStateTestCase(RestTestCase):
     @defer.inlineCallbacks
     def test_rooms_members_other_custom_keys(self):
         self.other_id = "@zzsid1:red"
-        path = "/rooms/%s/members/%s/state" % (
+        path = "/rooms/%s/state/m.room.member/%s" % (
             urllib.quote(self.room_id), self.other_id
         )
 
diff --git a/tests/rest/utils.py b/tests/rest/utils.py
index 8ed228b218..bc8bff0f1a 100644
--- a/tests/rest/utils.py
+++ b/tests/rest/utils.py
@@ -21,6 +21,7 @@ from twisted.trial import unittest
 
 from synapse.api.constants import Membership
 
+import json
 import time
 
 class RestTestCase(unittest.TestCase):
@@ -71,23 +72,22 @@ class RestTestCase(unittest.TestCase):
                                      expect_code=expect_code)
 
     @defer.inlineCallbacks
-    def change_membership(self, room=None, src=None, targ=None,
-                          membership=None, expect_code=200, tok=None):
+    def change_membership(self, room, src, targ, membership, tok=None,
+                          expect_code=200):
         temp_id = self.auth_user_id
         self.auth_user_id = src
 
-        path = "/rooms/%s/members/%s/state" % (room, targ)
+        path = "/rooms/%s/state/m.room.member/%s" % (room, targ)
         if tok:
             path = path + "?access_token=%s" % tok
 
-        if membership == Membership.LEAVE:
-            (code, response) = yield self.mock_resource.trigger("DELETE", path,
-                                    None)
-            self.assertEquals(expect_code, code, msg=str(response))
-        else:
-            (code, response) = yield self.mock_resource.trigger("PUT", path,
-                                    '{"membership":"%s"}' % membership)
-            self.assertEquals(expect_code, code, msg=str(response))
+        data = {
+            "membership": membership
+        }
+
+        (code, response) = yield self.mock_resource.trigger("PUT", path,
+            json.dumps(data))
+        self.assertEquals(expect_code, code, msg=str(response))
 
         self.auth_user_id = temp_id
 
diff --git a/tests/utils.py b/tests/utils.py
index f10bb8960f..aa9608a1ed 100644
--- a/tests/utils.py
+++ b/tests/utils.py
@@ -190,7 +190,7 @@ class MemoryDataStore(object):
     def persist_event(self, event):
         if event.type == RoomMemberEvent.TYPE:
             room_id = event.room_id
-            user = event.target_user_id
+            user = event.state_key
             membership = event.membership
             self.members.setdefault(room_id, {})[user] = event
 
@@ -203,7 +203,9 @@ class MemoryDataStore(object):
     def get_current_state(self, room_id, event_type=None, state_key=""):
         if event_type:
             key = (room_id, event_type, state_key)
-            return self.current_state.get(key)
+            if self.current_state.get(key):
+                return [self.current_state.get(key)]
+            return None
         else:
             return [
                 e for e in self.current_state
@@ -221,7 +223,7 @@ class MemoryDataStore(object):
 
 def _format_call(args, kwargs):
     return ", ".join(
-        ["%r" % (a) for a in args] + 
+        ["%r" % (a) for a in args] +
         ["%s=%r" % (k, v) for k, v in kwargs.items()]
     )