Allow mock login to test accounts. (#3121)

This commit is contained in:
Jason Robbins 2023-06-27 19:21:37 -07:00 коммит произвёл GitHub
Родитель 7f824ccebd
Коммит bd9e6999cf
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
2 изменённых файлов: 22 добавлений и 1 удалений

Просмотреть файл

@ -48,3 +48,23 @@ class LoginAPI(basehandlers.APIHandler):
message = "Invalid token"
return {'message': message}
TESTING_ACCOUNTS = ['example@chromium.org']
class MockLogin(basehandlers.APIHandler):
"""Create a session using a testing account."""
def do_post(self, **kwargs):
if not settings.DEV_MODE and not settings.UNIT_TEST_MODE:
self.abort(status=403,
msg="This can only be used in a development environment.")
email = self.get_param('email', default=TESTING_ACCOUNTS[0])
if email not in TESTING_ACCOUNTS:
self.abort(status=403,
msg="This can only be used with specific testing accounts.")
users.add_signed_user_info_to_session(email)
return {'message': f'Signed in as {email}'}

Просмотреть файл

@ -259,7 +259,8 @@ if settings.DEV_MODE:
## These routes can be uncommented for local environment use. ##
# Route('/dev/clear_entities', dev_api.ClearEntities),
# Route('/dev/write_dev_data', dev_api.WriteDevData)
# Route('/dev/write_dev_data', dev_api.WriteDevData),
Route('/dev/mock_login', login_api.MockLogin),
]
# All requests to the app-py3 GAE service are handled by this Flask app.
app = basehandlers.FlaskApplication(