Как я могу использовать новый пароль, сгенерированный при следующем вызове той же функции? - PullRequest
0 голосов
/ 10 сентября 2018

У меня есть следующая функция, которая обновляет пароль имени пользователя ПОСЛЕ аутентификации

def test_put_profile(self):
    username = 'max@gmail.com'
    password = 'evkna7'
    adv = {'email': username, 'password': password}

    # genearate auth code for authorization
    auth_code = {'Authorization': f'Bearer {self.get_auth_token(adv)}'}

    #genearate new password
    np = DataGenerator.generate_random_password_string(6)
    param = f'old_password={password}&'f'new_password={np}'

    #update password
    response = self.send_adv_api_request(
                                         data=param,
                                         auth=auth_code)

Теперь, как я могу сохранить новый пароль и заменить его на пароль той же функции в начале, когда я вызываю его в следующий раз ?. По сути, это будет рекурсивный тест для обновления пароля.

Любая помощь будет оценена. Должен ли я написать это в тексте?

1 Ответ

0 голосов
/ 10 сентября 2018

Вам необходимо хранить пароль вне области действия этой функции, чтобы вы могли получить к нему доступ из своих рекурсивных вызовов.

curr_password = 'evkna7'

def test_put_profile(self):
    global curr_password
    username = 'max@gmail.com'
    adv = {'email': username, 'password': curr_password}

    # genearate auth code for authorization
    auth_code = {'Authorization': f'Bearer {self.get_auth_token(adv)}'}

    #genearate new password
    np = DataGenerator.generate_random_password_string(6)
    param = f'old_password={password}&'f'new_password={np}'
    curr_password = np #Change global password to newly created password

    #update password
    response = self.send_adv_api_request(
                                         data=param,
                                         auth=auth_code)
...