123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- # -*- coding: utf-8 -*-
- # Copyright 2020 The Matrix.org Foundation C.I.C.
- #
- # 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 synapse.module_api import ModuleApi
- from tests.unittest import HomeserverTestCase
- class ModuleApiTestCase(HomeserverTestCase):
- def prepare(self, reactor, clock, homeserver):
- self.store = homeserver.get_datastore()
- self.module_api = ModuleApi(homeserver, homeserver.get_auth_handler())
- def test_can_register_user(self):
- """Tests that an external module can register a user"""
- # Register a new user
- user_id, access_token = self.get_success(
- self.module_api.register(
- "bob", displayname="Bobberino", emails=["bob@bobinator.bob"]
- )
- )
- # Check that the new user exists with all provided attributes
- self.assertEqual(user_id, "@bob:test")
- self.assertTrue(access_token)
- self.assertTrue(self.store.get_user_by_id(user_id))
- # Check that the email was assigned
- emails = self.get_success(self.store.user_get_threepids(user_id))
- self.assertEqual(len(emails), 1)
- email = emails[0]
- self.assertEqual(email["medium"], "email")
- self.assertEqual(email["address"], "bob@bobinator.bob")
- # Should these be 0?
- self.assertEqual(email["validated_at"], 0)
- self.assertEqual(email["added_at"], 0)
- # Check that the displayname was assigned
- displayname = self.get_success(self.store.get_profile_displayname("bob"))
- self.assertEqual(displayname, "Bobberino")
|