Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Commit

Permalink
Bunch of tests
Browse files Browse the repository at this point in the history
  • Loading branch information
babolivier committed Apr 30, 2019
1 parent 3a9c405 commit 96bd70f
Showing 1 changed file with 124 additions and 2 deletions.
126 changes: 124 additions & 2 deletions tests/rest/client/test_identity.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,17 @@

import json

from mock import Mock

from twisted.internet import defer

from synapse.rest.client.v1 import admin, login, room
from synapse.rest.client.v2_alpha import account

from tests import unittest


class IdentityTestCase(unittest.HomeserverTestCase):
class IdentityDisabledTestCase(unittest.HomeserverTestCase):

servlets = [
account.register_servlets,
Expand Down Expand Up @@ -66,7 +70,8 @@ def test_3pid_invite_disabled(self):
self.assertEquals(channel.result["code"], b"403", channel.result)

def test_3pid_lookup_disabled(self):
url = "/_matrix/client/unstable/account/3pid/lookup?id_server=testis&medium=email&[email protected]"
url = ("/_matrix/client/unstable/account/3pid/lookup"
"?id_server=testis&medium=email&[email protected]")
request, channel = self.make_request("GET", url, access_token=self.tok)
self.render(request)
self.assertEqual(channel.result["code"], b"403", channel.result)
Expand All @@ -92,3 +97,120 @@ def test_3pid_bulk_lookup_disabled(self):
)
self.render(request)
self.assertEqual(channel.result["code"], b"403", channel.result)


class IdentityEnabledTestCase(unittest.HomeserverTestCase):

servlets = [
account.register_servlets,
admin.register_servlets,
room.register_servlets,
login.register_servlets,
]

def make_homeserver(self, reactor, clock):

config = self.default_config()
config.enable_3pid_lookup = True

mock_http_client = Mock(spec=[
"get_json",
"post_json",
])
mock_http_client.get_json.return_value = defer.succeed((200, "{}"))
mock_http_client.post_json.return_value = defer.succeed((200, "{}"))

self.hs = self.setup_test_homeserver(
config=config,
simple_http_client=mock_http_client,
)

return self.hs

def prepare(self, reactor, clock, hs):
self.user_id = self.register_user("kermit", "monkey")
self.tok = self.login("kermit", "monkey")

def test_3pid_invite_enabled(self):
request, channel = self.make_request(
b"POST", "/createRoom", b"{}", access_token=self.tok,
)
self.render(request)
self.assertEquals(channel.result["code"], b"200", channel.result)
room_id = channel.json_body["room_id"]

params = {
"id_server": "testis",
"medium": "email",
"address": "[email protected]",
}
request_data = json.dumps(params)
request_url = (
"/rooms/%s/invite" % (room_id)
).encode('ascii')
request, channel = self.make_request(
b"POST", request_url, request_data, access_token=self.tok,
)
self.render(request)

get_json = self.hs.get_simple_http_client().get_json
get_json.assert_called_once_with(
"https://testis/_matrix/identity/api/v1/lookup",
{
"address": "[email protected]",
"medium": "email",
},
)

def test_3pid_lookup_enabled(self):
url = ("/_matrix/client/unstable/account/3pid/lookup"
"?id_server=testis&medium=email&[email protected]")
request, channel = self.make_request("GET", url, access_token=self.tok)
self.render(request)

get_json = self.hs.get_simple_http_client().get_json
get_json.assert_called_once_with(
"https://testis/_matrix/identity/api/v1/lookup",
{
"address": "[email protected]",
"medium": "email",
},
)

def test_3pid_bulk_lookup_enabled(self):
url = "/_matrix/client/unstable/account/3pid/bulk_lookup"
data = {
"id_server": "testis",
"threepids": [
[
"email",
"[email protected]"
],
[
"email",
"[email protected]"
]
]
}
request_data = json.dumps(data)
request, channel = self.make_request(
"POST", url, request_data, access_token=self.tok,
)
self.render(request)

post_json = self.hs.get_simple_http_client().post_json
post_json.assert_called_once_with(
"https://testis/_matrix/identity/api/v1/bulk_lookup",
{
"threepids": [
[
"email",
"[email protected]"
],
[
"email",
"[email protected]"
]
],
},
)

0 comments on commit 96bd70f

Please sign in to comment.