Ты почти у цели. Вам нужно передать overwrite=True
на testbed.setup_env()
.
Обычно я бы создал "вспомогательный" метод, например login_user
, примерно так:
def login_user(self, email, user_id, is_admin=False):
self.testbed.setup_env(user_email=email or '', overwrite=True)
self.testbed.setup_env(user_id=str(user_id) or '', overwrite=True)
self.testbed.setup_env(user_is_admin='1' if is_admin else '0', overwrite=True)
def logout_user(self):
self.login_user(None, None)
Также работает для OAuth (если вам это тоже нужно):
def login_user(self, email, user_id, is_admin=False):
self.testbed.setup_env(oauth_error_code='', overwrite=True)
self.testbed.setup_env(oauth_email=email, overwrite=True)
self.testbed.setup_env(oauth_user_id=str(user_id) or '', overwrite=True)
self.testbed.setup_env(oauth_auth_domain='example.com', overwrite=True)
self.testbed.setup_env(oauth_is_admin='1' if is_admin else '0', overwrite=True)