Beispiel #1
0
 def test_get_messages_text(self):
     # создаем команду
     team_uid = func.add_team(self.api)['uid']
     # приглашаем пользователей
     user1_jid = func.get_my_jid(self.api, team_uid)
     user2_jid = func.add_contact(self.api, team_uid, self.phone2)['jid']
     user3_jid = func.add_contact(self.api, team_uid, self.phone3)['jid']
     # добавляем участников к группе
     group_jid = func.add_group(self.api, team_uid)['jid']
     func.add_member_to_group(self.api, team_uid, group_jid, user2_jid, 'member')
     func.add_member_to_group(self.api, team_uid, group_jid, user3_jid, 'admin')
     # добавляем сообщения
     api2 = auth.login_another_user(self.url, self.phone2, self.code2)
     api3 = auth.login_another_user(self.url, self.phone3, self.code3)
     pattern = 'msg'
     text = f'{pattern}_{tools.generate_random_string(7)}'
     msg1 = f'1_{text}'
     msg2 = f'2_{text}'
     msg3 = 'hello'
     func.send_text(self.api, team_uid, group_jid, msg1)
     func.send_text(api2, team_uid, group_jid, msg2)
     func.send_text(api3, team_uid, group_jid, msg3)
     params = {
         'text': pattern,
     }
     resp = self.api.get_filtered_messages(team_uid, params).json()
     assert 'error' not in resp
     assert len(resp['result']['objects']) == 2
     assert resp['result']['objects'][0]['content']['text'] == msg2
     assert resp['result']['objects'][1]['content']['text'] == msg1
Beispiel #2
0
 def test_get_botcommands_member(self):
     team_uid = func.add_team(self.api)['uid']
     group_jid = func.add_group(self.api, team_uid)['jid']
     user2_jid = func.add_contact(self.api, team_uid, self.phone2)['jid']
     func.add_member_to_group(self.api, team_uid, group_jid, user2_jid, 'member')
     api2 = auth.login_another_user(self.url, self.phone2, self.code2)
     resp = api2.get_botcommands(team_uid, group_jid).json()
     path = os.path.join(const.EXPECTED_RESULTS, 'bot_commands_member.json')
     expected = read_json(path)
     assert 'error' not in resp
     assert resp['result'] == expected['result']
Beispiel #3
0
 def test_send_text_readonly_for_members_true(self):
     # создаем группу с readonly_for_members: true
     data = {'display_name': tools.generate_random_string(),
             'public': False,
             'readonly_for_members': True}
     resp = self.api.add_group(self.team_uid, data).json()
     group_jid = resp['result']['jid']
     # добавляем участника в команду и в группу
     user2_jid = func.add_contact(self.api, self.team_uid, self.phone2)['jid']
     func.add_member_to_group(self.api, self.team_uid, group_jid, user2_jid, 'member')
     auth_cookies = auth.login_with_cookies(self.url, self.phone2, self.code2)
     api2 = API(self.url, auth_cookies, is_token_auth=False)
     msg_data = {'text': tools.generate_random_string()}
     resp = api2.send_msg_text(self.team_uid, group_jid, msg_data).json()
     assert resp['error'] == const.ACCESS_DENIED
 def test_add_reaction_member(self):
     # создаем команду
     team_uid = func.add_team(self.api)['uid']
     # добавляем участника
     member_jid = func.add_contact(self.api, team_uid, self.phone2)['jid']
     # добавляем гуппу
     group_jid = func.add_group(self.api, team_uid)['jid']
     # добавляем участника к группе
     func.add_member_to_group(self.api, team_uid, group_jid, member_jid,
                              'member')
     text = f'Hello, my friend {tools.generate_random_string()}'
     message_id = func.send_text(self.api, team_uid, group_jid,
                                 text=text)['message_id']
     api2 = auth.login_another_user(self.url, self.phone2, self.code2)
     resp = api2.add_edit_reaction(team_uid, message_id,
                                   self.reaction1).json()
     assert 'error' not in resp
     assert resp['result']['name'] == self.reaction1
     assert resp['result']['sender'] == member_jid
Beispiel #5
0
 def test_get_messages_unread(self):
     user2_jid = func.add_contact(self.api, self.team_uid, self.phone2)['jid']
     group_jid = func.add_group(self.api, self.team_uid)['jid']
     func.add_member_to_group(self.api, self.team_uid, group_jid, user2_jid, 'admin')
     # добавляем сообщения в цикле
     exp_msg = {}
     for i in range(5):
         # эта магия с i для того, чтобы ключи словаря exp_msg совпадали с ключами в resp т.к. в ответе есть всегда 2 дефолтных сообщения
         i = i + 1
         text = 'msg_{}_{}'.format(tools.generate_random_string(7), i)
         exp_msg[i] = text
         func.send_text(self.api, self.team_uid, group_jid, text)
     auth_cookies = auth.login_with_cookies(self.url, self.phone2, self.code2)
     api2 = API(self.url, auth_cookies, is_token_auth=False)
     params = {'unread': True}
     resp = api2.get_messages(self.team_uid, group_jid, params).json()
     assert 'error' not in resp['result']
     assert len(resp['result']['messages']) == 6
     num = 5
     while num > 0:
         assert resp['result']['messages'][num]['content']['text'] == exp_msg[num]
         num = num - 1
Beispiel #6
0
 def test_get_messages_sender(self):
     # создаем команду
     team_uid = func.add_team(self.api)['uid']
     # приглашаем пользователей
     user1_jid = func.get_my_jid(self.api, team_uid)
     user2_jid = func.add_contact(self.api, team_uid, self.phone2)['jid']
     user3_jid = func.add_contact(self.api, team_uid, self.phone3)['jid']
     # добавляем участников к группе
     group_jid = func.add_group(self.api, team_uid)['jid']
     func.add_member_to_group(self.api, team_uid, group_jid, user2_jid, 'member')
     func.add_member_to_group(self.api, team_uid, group_jid, user3_jid, 'admin')
     # добавляем сообщения
     api2 = auth.login_another_user(self.url, self.phone2, self.code2)
     api3 = auth.login_another_user(self.url, self.phone3, self.code3)
     text = 'msg_{}'.format(tools.generate_random_string(7))
     func.send_text(self.api, team_uid, group_jid, text)
     func.send_text(api2, team_uid, group_jid, text)
     func.send_text(api3, team_uid, group_jid, text)
     params = {
         'sender': f'{user1_jid},{user2_jid}',
     }
     resp = self.api.get_filtered_messages(team_uid, params).json()
     assert 'error' not in resp
     assert tools.is_items_exist_in_list_of_dict(
         resp['result']['objects'],
         'from',
         user1_jid,
     )
     assert tools.is_items_exist_in_list_of_dict(
         resp['result']['objects'],
         'from',
         user2_jid,
     )
     assert not tools.is_items_exist_in_list_of_dict(
         resp['result']['objects'],
         'from',
         user3_jid,
     )
Beispiel #7
0
 def test_get_messages_chat_type(self):
     # создаем команду
     team_uid = func.add_team(self.api)['uid']
     # приглашаем пользователей
     user2_jid = func.add_contact(self.api, team_uid, self.phone2)['jid']
     # добавляем участников к группе
     group_jid = func.add_group(self.api, team_uid)['jid']
     func.add_member_to_group(self.api, team_uid, group_jid, user2_jid, 'member')
     # добавляем сообщения
     pattern = 'msg'
     text = f'{pattern}_{tools.generate_random_string(7)}'
     msg1 = f'1_{text}'
     msg2 = f'2_{text}'
     func.send_text(self.api, team_uid, group_jid, msg1)
     func.send_text(self.api, team_uid, user2_jid, msg2)
     params = {
         'chat_type': 'direct',
     }
     resp = self.api.get_filtered_messages(team_uid, params).json()
     assert 'error' not in resp
     assert len(resp['result']['objects']) == 1
     assert resp['result']['objects'][0]['chat_type'] == 'direct'
     assert resp['result']['objects'][0]['content']['text'] == msg2
 def test_get_all_my_reactions_member(self):
     reactions = [self.reaction1, self.reaction2, self.reaction3]
     # создаем команду
     team_uid = func.add_team(self.api)['uid']
     # добавляем участника
     member_jid = func.add_contact(self.api, team_uid, self.phone2)['jid']
     # добавляем гуппу
     group_jid = func.add_group(self.api, team_uid)['jid']
     # добавляем участника к группе
     func.add_member_to_group(self.api, team_uid, group_jid, member_jid,
                              'member')
     text = f'Hello, my friend {tools.generate_random_string()}'
     api2 = auth.login_another_user(self.url, self.phone2, self.code2)
     message_id = func.send_text(api2, team_uid, group_jid,
                                 text=text)['message_id']
     for reaction in reactions:
         api2.add_edit_reaction(team_uid, message_id, reaction).json()
     resp = api2.get_my_reactions_on_message(team_uid, message_id).json()
     assert 'error' not in resp
     for reaction in reactions:
         assert tools.is_items_exist_in_list_of_dict(
             resp['result'], 'name', reaction)
     for item in resp['result']:
         assert item['sender'] == member_jid