Add a test for the public T&Cs form

This commit is contained in:
Richard van der Hoff 2018-11-14 10:44:46 +00:00 committed by Andrew Morgan
parent 7cee15c47d
commit ba2b6229c1
2 changed files with 8 additions and 1 deletions

View file

@ -142,7 +142,7 @@ class ConsentResource(Resource):
userhmac = None
has_consented = False
public_version = username == ""
if not public_version or not self.hs.config.user_consent_at_registration:
if not public_version:
userhmac_bytes = parse_string(request, "h", required=True, encoding=None)
self._check_hash(username, userhmac_bytes)

View file

@ -60,6 +60,13 @@ class ConsentResourceTestCase(unittest.HomeserverTestCase):
hs = self.setup_test_homeserver(config=config)
return hs
def test_render_public_consent(self):
"""You can observe the terms form without specifying a user"""
resource = consent_resource.ConsentResource(self.hs)
request, channel = self.make_request("GET", "/consent?v=1", shorthand=False)
render(request, resource, self.reactor)
self.assertEqual(channel.code, 200)
def test_accept_consent(self):
"""
A user can use the consent form to accept the terms.