diff options
author | Andrew Morgan <andrew@amorgan.xyz> | 2020-06-12 13:55:49 +0100 |
---|---|---|
committer | Andrew Morgan <andrew@amorgan.xyz> | 2020-06-12 14:42:56 +0100 |
commit | 358e51be869c5dfe1ea641a7a37bb5d764b4242f (patch) | |
tree | fdc5b8a291cf8af281ac51fcb294b25f063fdad4 | |
parent | Remove placeholders/dummy classes for supporting identifiers in existing tests (diff) | |
download | synapse-358e51be869c5dfe1ea641a7a37bb5d764b4242f.tar.xz |
Add some tests for m.id.phone and m.id.thirdparty
-rw-r--r-- | tests/rest/client/v2_alpha/test_register.py | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/tests/rest/client/v2_alpha/test_register.py b/tests/rest/client/v2_alpha/test_register.py index 7deaf5b24a..7e3dc22f64 100644 --- a/tests/rest/client/v2_alpha/test_register.py +++ b/tests/rest/client/v2_alpha/test_register.py @@ -593,6 +593,89 @@ class AccountValidityRenewalByEmailTestCase(unittest.HomeserverTestCase): self.assertEqual(len(self.email_attempts), 0) + def test_deactivated_user_using_user_identifier(self): + self.email_attempts = [] + + (user_id, tok) = self.create_user() + + request_data = json.dumps( + { + "auth": { + "type": "m.login.password", + "identifier": {"type": "m.id.user", "user": user_id}, + "password": "monkey", + }, + "erase": False, + } + ) + request, channel = self.make_request( + "POST", "account/deactivate", request_data, access_token=tok + ) + self.render(request) + self.assertEqual(request.code, 200) + + self.reactor.advance(datetime.timedelta(days=8).total_seconds()) + + self.assertEqual(len(self.email_attempts), 0) + + def test_deactivated_user_using_thirdparty_identifier(self): + self.email_attempts = [] + + (user_id, tok) = self.create_user() + + request_data = json.dumps( + { + "auth": { + "type": "m.login.password", + "identifier": { + "type": "m.id.thirdparty", + "medium": "email", + "address": "kermit@example.com", + }, + "password": "monkey", + }, + "erase": False, + } + ) + request, channel = self.make_request( + "POST", "account/deactivate", request_data, access_token=tok + ) + self.render(request) + self.assertEqual(request.code, 200) + + self.reactor.advance(datetime.timedelta(days=8).total_seconds()) + + self.assertEqual(len(self.email_attempts), 0) + + def test_deactivated_user_using_phone_identifier(self): + self.email_attempts = [] + + (user_id, tok) = self.create_user() + + request_data = json.dumps( + { + "auth": { + "type": "m.login.password", + "identifier": { + "type": "m.id.phone", + "country": "GB", + "phone": "077-009-00001", + }, + "password": "monkey", + }, + "erase": False, + } + ) + request, channel = self.make_request( + "POST", "account/deactivate", request_data, access_token=tok + ) + self.render(request) + self.assertEqual(request.code, 200) + + self.reactor.advance(datetime.timedelta(days=8).total_seconds()) + + self.assertEqual(len(self.email_attempts), 0) + def create_user(self): user_id = self.register_user("kermit", "monkey") tok = self.login("kermit", "monkey") @@ -608,6 +691,15 @@ class AccountValidityRenewalByEmailTestCase(unittest.HomeserverTestCase): added_at=now, ) ) + self.get_success( + self.store.user_add_threepid( + user_id=user_id, + medium="msisdn", + address="447700900001", + validated_at=now, + added_at=now, + ) + ) return user_id, tok def test_manual_email_send_expired_account(self): |