def setUp(cls):
        service_log.preparing_env(cls)
        # Делаем выборку пользователя в статусе ENABLE и подменяем пароль на другой, с которым будем работать.
        cls.user = dict(random.choice(databases.db1.accounting.get_users_by_status()))
        service_log.user(cls.user)

        cls.old_pass_user = cls.get_default_password(2)
        cls.new_pass_user = cls.get_default_password(1)
        hash_res_rep = generate_sha256(cls.old_pass_user)

        # Ставим пароль по умолчанию №2, т.к. первый может встречаться в "тестовых пользователях".
        AccountingCheckMethods.save_user_password(user_id=cls.user["id"], hash_passwd=cls.user["password"])
        databases.db1.accounting.update_user_password(cls.user["id"], hash_res_rep)
    def test_updateUserPasswordWithoutVerification_for_exist_user(self):
        """ Тестирование метода updateUserPasswordWithoutVerification.
        Warning: Поле sendToUser - отвечает за отправку смс. Состояение: False
        """
        service_log.run(self)
        # Меняем пароль при помощи сервиса
        user_id = self.user["id"]
        new_pass = self.get_default_password(1)
        result = services.accounting.root.tframed.updateUserPasswordWithoutVerification(user_id, new_pass,
                                                                                        sendToUser=False)

        # Делаем проверку, что пароль изменился
        changed_user = databases.db1.accounting.get_user_by_id(self.user["id"])[0]
        service_log.user(changed_user)
        self.assertEqual(changed_user["password"], generate_sha256(new_pass), "The password is not changed.")
        self.assertIsNone(result, "Service not return None, service return: %s." % result)
 def test_updateUserPassword_for_exist_user(self):
     """  Тестирование метода updateUserPassword.
     Выбираем произвольного пользователя в статусе ENABLE и запоминаем его пароль.
     Меняем его пароль на пароль №2.
     Делаем запрос к сервису на изменение пароля N2 на пароль № 1.
     Проверяем изменения в БД.
     Возвращаем первоночальный пароль пользователя.
     """
     # Меняем пароль при помощи сервиса
     result = services.accounting.root.tframed.updateUserPassword(userId=self.user["id"],
                                                                  oldPassword=self.old_pass_user,
                                                                  newPassword=self.new_pass_user)
     # Делаем проверку, что пароль изменился
     changed_user = databases.db1.accounting.get_user_by_id(self.user["id"])[0]
     service_log.user(changed_user)
     self.assertEqual(changed_user["password"], generate_sha256(self.new_pass_user), "The password is not changed.")
     self.assertIsNone(result, "Service not return None, service return: %s." % result)
 def setUp(cls):
     service_log.preparing_env(cls)
     cls.user = random.choice(databases.db1.accounting.get_users_by_status())
     service_log.user(cls.user)