forked from MirrorHub/synapse
More unit-testing of REST errors
This commit is contained in:
parent
54e513b4e6
commit
0c14a699bb
1 changed files with 35 additions and 1 deletions
|
@ -21,6 +21,8 @@ from . import V2AlphaRestTestCase
|
||||||
|
|
||||||
from synapse.rest.client.v2_alpha import filter
|
from synapse.rest.client.v2_alpha import filter
|
||||||
|
|
||||||
|
from synapse.api.errors import StoreError
|
||||||
|
|
||||||
|
|
||||||
class FilterTestCase(V2AlphaRestTestCase):
|
class FilterTestCase(V2AlphaRestTestCase):
|
||||||
USER_ID = "@apple:test"
|
USER_ID = "@apple:test"
|
||||||
|
@ -39,14 +41,18 @@ class FilterTestCase(V2AlphaRestTestCase):
|
||||||
datastore.add_user_filter = add_user_filter
|
datastore.add_user_filter = add_user_filter
|
||||||
|
|
||||||
def get_user_filter(user_localpart, filter_id):
|
def get_user_filter(user_localpart, filter_id):
|
||||||
|
if user_localpart not in self._user_filters:
|
||||||
|
raise StoreError(404, "No user")
|
||||||
filters = self._user_filters[user_localpart]
|
filters = self._user_filters[user_localpart]
|
||||||
|
if filter_id >= len(filters):
|
||||||
|
raise StoreError(404, "No filter")
|
||||||
return defer.succeed(filters[filter_id])
|
return defer.succeed(filters[filter_id])
|
||||||
datastore.get_user_filter = get_user_filter
|
datastore.get_user_filter = get_user_filter
|
||||||
|
|
||||||
return datastore
|
return datastore
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def test_filter(self):
|
def test_add_filter(self):
|
||||||
(code, response) = yield self.mock_resource.trigger("POST",
|
(code, response) = yield self.mock_resource.trigger("POST",
|
||||||
"/user/%s/filter" % (self.USER_ID),
|
"/user/%s/filter" % (self.USER_ID),
|
||||||
'{"type": ["m.*"]}'
|
'{"type": ["m.*"]}'
|
||||||
|
@ -54,8 +60,36 @@ class FilterTestCase(V2AlphaRestTestCase):
|
||||||
self.assertEquals(200, code)
|
self.assertEquals(200, code)
|
||||||
self.assertEquals({"filter_id": "0"}, response)
|
self.assertEquals({"filter_id": "0"}, response)
|
||||||
|
|
||||||
|
self.assertIn("apple", self._user_filters)
|
||||||
|
self.assertEquals(len(self._user_filters["apple"]), 1)
|
||||||
|
self.assertEquals({"type": ["m.*"]}, self._user_filters["apple"][0])
|
||||||
|
|
||||||
|
@defer.inlineCallbacks
|
||||||
|
def test_get_filter(self):
|
||||||
|
self._user_filters["apple"] = [
|
||||||
|
{"type": ["m.*"]}
|
||||||
|
]
|
||||||
|
|
||||||
(code, response) = yield self.mock_resource.trigger("GET",
|
(code, response) = yield self.mock_resource.trigger("GET",
|
||||||
"/user/%s/filter/0" % (self.USER_ID), None
|
"/user/%s/filter/0" % (self.USER_ID), None
|
||||||
)
|
)
|
||||||
self.assertEquals(200, code)
|
self.assertEquals(200, code)
|
||||||
self.assertEquals({"type": ["m.*"]}, response)
|
self.assertEquals({"type": ["m.*"]}, response)
|
||||||
|
|
||||||
|
@defer.inlineCallbacks
|
||||||
|
def test_get_filter_no_id(self):
|
||||||
|
self._user_filters["apple"] = [
|
||||||
|
{"type": ["m.*"]}
|
||||||
|
]
|
||||||
|
|
||||||
|
(code, response) = yield self.mock_resource.trigger("GET",
|
||||||
|
"/user/%s/filter/2" % (self.USER_ID), None
|
||||||
|
)
|
||||||
|
self.assertEquals(404, code)
|
||||||
|
|
||||||
|
@defer.inlineCallbacks
|
||||||
|
def test_get_filter_no_user(self):
|
||||||
|
(code, response) = yield self.mock_resource.trigger("GET",
|
||||||
|
"/user/%s/filter/0" % (self.USER_ID), None
|
||||||
|
)
|
||||||
|
self.assertEquals(404, code)
|
||||||
|
|
Loading…
Reference in a new issue