Ejemplo n.º 1
0
 def test_change_chat_name(self):
     new_chat_name = CHAT_NAME * 2
     chat_id = Chat.create(CHAT_NAME, CHAT_CODE, CODE_TYPE, CHAT_ACCESS_KEY)
     chat = Chat.get(chat_id)
     chat.set_name(new_chat_name)
     chat = Chat.get(chat_id)
     self.assertEqual(chat.name, MarkdownMixin.decode(new_chat_name))
Ejemplo n.º 2
0
def chat_page(chat_id):
    """Данная функция возвращает пользователю страницу чата по номеру

    :param chat_id: Номер чата
    :return: Страница чата
    """
    chat_create_form = CreateChatForm()
    login_form = LoginForm()
    chat = Chat.get(chat_id)
    if not chat:
        return redirect('/')
    auth_form = AuthChatForm()
    if auth_form.validate_on_submit():
        access_key = auth_form.password.data
        User.set_access_key(chat_id, access_key)
    return render_template(
        'chat.html',
        chat_id=chat.id,
        socket_mode=(app.config['SOCKET_MODE'] == 'True'),
        chat_info=chat.get_info(),
        login=User.get_login(),
        login_form=login_form,
        chat_create_form=chat_create_form,
        have_access=chat.is_access_key_valid(User.get_access_key(chat_id)),
        auth_form=auth_form,
        allowed_ex=",".join(
            ['.' + i for i in app.config["ALLOWED_EXTENSIONS"]]),
        allowed_languages=app.config["ALLOWED_LANGUAGES"])
Ejemplo n.º 3
0
 def test_get_last_messages(self):
     chat = Chat.get(self.chat_id)
     old_message = Message.send(self.chat_id, MESSAGE, MESSAGE_TYPE)
     new_message = Message.send(self.chat_id, MESSAGE, MESSAGE_TYPE)
     got_last_messages = chat.get_last_messages(old_message.id)
     self.assertEqual(len(got_last_messages), 1)
     self.assertEqual(got_last_messages[0].get('id'), new_message.id)
Ejemplo n.º 4
0
 def test_get_all_messages(self):
     second_message = Message.send(self.chat_id, MESSAGE, MESSAGE_TYPE)
     third_message = Message.send(self.chat_id, MESSAGE, MESSAGE_TYPE)
     chat = Chat.get(self.chat_id)
     got_messages = chat.get_last_messages()
     self.assertEqual(len(got_messages), 3)
     self.assertEqual(got_messages[1].get('id'), second_message.id)
     self.assertEqual(got_messages[2].get('id'), third_message.id)
Ejemplo n.º 5
0
def set_chat_name():
    """Изменение названия чата

    :return: успешность сохранения названия
    """
    chat_name_form = ChatNameForm()
    chat = Chat.get(chat_name_form.chat.data)
    chat_name = chat.set_name(chat_name_form.name.data)
    return dumps({"success": True, "error": "", "data": chat_name})
Ejemplo n.º 6
0
 def test_set_chat_name_return(self):
     new_chat_name = CHAT_NAME * 2
     chat_id = Chat.create(CHAT_NAME, CHAT_CODE, CODE_TYPE, CHAT_ACCESS_KEY)
     chat = Chat.get(chat_id)
     set_chat_name_return = chat.set_name(new_chat_name)
     self.assertIsInstance(set_chat_name_return, dict)
     self.assertEqual(set_chat_name_return.get('original', None), chat.name)
     self.assertNotEqual(set_chat_name_return.get('plain', None), None)
     self.assertNotEqual(set_chat_name_return.get('escaped', None), None)
Ejemplo n.º 7
0
def get_messages():
    """Запрос получения новых сообщений в чате

    :return: Принято ли сообщение
    """
    get_messages_form = GetMessagesForm(request.args)
    chat_id = get_messages_form.chat.data
    last_message_id = get_messages_form.last_message_id.data
    chat = Chat.get(chat_id)
    return dumps(chat.get_last_messages(last_message_id))
Ejemplo n.º 8
0
 def access_check(*args, **kwargs):
     """Функция возвращает ошибку, если ключ доступа к чату невалиден"""
     if request.method == "POST":
         chat_form = ChatForm()
     else:
         chat_form = ChatForm(request.args)
     chat_id = chat_form.chat.data
     chat = Chat.get(chat_id)
     if chat.is_access_key_valid(User.get_access_key(chat_id)):
         return func(*args, **kwargs)
     return dumps({"success": False, "error": "Access error"}), 403
Ejemplo n.º 9
0
def chat_required(form, field):
    """Проверка чата на существование"""
    if not Chat.get(field.data):
        raise ValidationError
Ejemplo n.º 10
0
 def test_chat_has_code(self):
     chat = Chat.get(self.chat_id)
     code_id = Code.send(self.chat_id, CODE, PARENT_CODE_ID, COMMIT_MESSAGE) - 1
     self.assertTrue(chat.has_code(str(code_id)))
     self.assertFalse(chat.has_code(str(code_id + 1)))
Ejemplo n.º 11
0
 def test_chat_has_message(self):
     chat = Chat.get(self.chat_id)
     message_id = Message.send(self.chat_id, MESSAGE, 'usr').id - 1
     self.assertTrue(chat.has_message(str(message_id)))
     self.assertFalse(chat.has_message(str(message_id + 1)))
Ejemplo n.º 12
0
 def test_create_chat(self):
     chat = Chat.get(self.chat_id)
     chat_info = chat.get_info()
     self.assertEquals(chat_info.get('name'), MarkdownMixin.decode(CHAT_NAME))
     self.assertEquals(chat_info.get('code_type'), CODE_TYPE)
Ejemplo n.º 13
0
 def test_is_access_key_valid(self):
     chat_id = Chat.create(CHAT_NAME, CHAT_CODE, CODE_TYPE, CHAT_ACCESS_KEY)
     chat = Chat.get(chat_id)
     self.assertTrue(chat.is_access_key_valid(CHAT_ACCESS_KEY))
     self.assertFalse(chat.is_access_key_valid(CHAT_INCORRECT_ACCESS_KEY))