Exemplo n.º 1
0
 def test_get_usage_exist_team_member(self):
     team = func.add_team(self.api)
     team_uid = team['uid']
     func.add_contact(self.api, team_uid, self.phone2, role='member')
     api2 = auth.login_another_user(self.url, self.phone2, self.code2)
     resp = api2.get_team_usage(team_uid).json()
     assert resp['error'] == const.ACCESS_DENIED
Exemplo n.º 2
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
Exemplo n.º 3
0
 def test_upload_team_icon_member(self):
     team = func.add_team(self.api)
     team_uid = team['uid']
     func.add_contact(self.api, team_uid, self.phone2, role='member')
     api2 = auth.login_another_user(self.url, self.phone2, self.code2)
     resp = api2.upload_team_icon(team_uid,
                                  os.path.join(const.TD_FILES, 'tiger.jpg'))
     resp = resp.json()
     assert resp['error'] == const.ACCESS_DENIED
Exemplo n.º 4
0
 def test_delete_exist_section_member(self):
     team_uid = func.add_team(self.api)['uid']
     func.add_contact(self.api, team_uid, self.phone2, 'member')
     api2 = auth.login_another_user(self.url, self.phone2, self.code2)
     data = {'name': tools.generate_random_string()}
     exp_dict = self.api.add_section(team_uid, data).json()
     section_uid = exp_dict['result']['uid']
     resp = api2.delete_section(team_uid, section_uid).json()
     assert resp['error'] == const.ACCESS_DENIED
Exemplo n.º 5
0
 def test_edit_team_name_member(self):
     team = func.add_team(self.api)
     team_uid = team['uid']
     func.add_contact(self.api, team_uid, self.phone2, role='member')
     new_name = 'new_' + tools.generate_random_string()
     data = {'name': new_name}
     api2 = auth.login_another_user(self.url, self.phone2, self.code2)
     resp = api2.edit_team(team_uid, data).json()
     assert resp['error'] == const.ACCESS_DENIED
Exemplo n.º 6
0
 def test_get_sections_member(self):
     team_uid = func.add_team(self.api)['uid']
     func.add_contact(self.api, team_uid, self.phone2, 'member')['jid']
     api2 = auth.login_another_user(self.url, self.phone2, self.code2)
     resp = api2.get_sections(team_uid)
     resp = resp.json()
     assert 'error' not in resp
     for item in resp['result']:
         assert 'name' in item
Exemplo n.º 7
0
 def test_get_team_member(self):
     team = func.add_team(self.api)
     team_uid = team['uid']
     name = team['name']
     func.add_contact(self.api, team_uid, self.phone2, role='member')
     api2 = auth.login_another_user(self.url, self.phone2, self.code2)
     resp = api2.get_team(team_uid).json()
     assert 'error' not in resp
     assert resp['result']['uid'] == team_uid
     assert resp['result']['name'] == name
Exemplo n.º 8
0
 def test_send_help_member(self):
     team = func.add_team(self.api)
     team_uid = team['uid']
     func.add_contact(self.api, team_uid, self.phone2, role='member')
     email = '*****@*****.**'
     text = 'I need help. This is member of team.'
     api2 = auth.login_another_user(self.url, self.phone2, self.code2)
     resp = api2.send_help(team_uid, email, text).json()
     assert 'error' not in resp
     assert resp['result'] == 'OK'
Exemplo n.º 9
0
 def test_send_help_upload_member(self):
     team = func.add_team(self.api)
     team_uid = team['uid']
     func.add_contact(self.api, team_uid, self.phone2, role='member')
     api2 = auth.login_another_user(self.url, self.phone2, self.code2)
     filename = 'word.docx'
     resp = api2.send_help_upload(team_uid,
                                  os.path.join(const.TD_FILES,
                                               filename)).json()
     assert 'error' not in resp
     assert resp['result']['name'] == filename
     assert filename in resp['result']['url']
     assert resp['result']['size'] == 11573
Exemplo n.º 10
0
 def test_edit_section_with_name_admin(self):
     team_uid = func.add_team(self.api)['uid']
     func.add_contact(self.api, team_uid, self.phone2, 'admin')
     data = {'name': tools.generate_random_string()}
     exp_dict = self.api.add_section(team_uid, data).json()
     section_uid = exp_dict['result']['uid']
     new_name = 'edit_' + tools.generate_random_string()
     data = {'name': new_name}
     api2 = auth.login_another_user(self.url, self.phone2, self.code2)
     resp = api2.edit_section(team_uid, section_uid, data).json()
     assert 'error' not in resp
     assert resp['result']['uid'] == section_uid
     assert resp['result']['name'] == new_name
Exemplo n.º 11
0
 def test_move_section_move_before_member(self):
     team_uid = func.add_team(self.api)['uid']
     func.add_contact(self.api, team_uid, self.phone2, 'member')
     resp = self.api.get_sections(team_uid).json()
     before_uid = resp['result'][0]['uid']
     name = 'before_' + tools.generate_random_string(10)
     data = {'name': name, 'move_after': before_uid}
     resp = self.api.add_section(team_uid, data).json()
     current_uid = resp['result']['uid']
     api2 = auth.login_another_user(self.url, self.phone2, self.code2)
     resp = api2.set_section_move_before(team_uid, current_uid,
                                         before_uid).json()
     assert resp['error'] == const.ACCESS_DENIED
Exemplo n.º 12
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']
Exemplo n.º 13
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,
     )
Exemplo n.º 14
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
Exemplo n.º 15
0
 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
Exemplo n.º 16
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
Exemplo n.º 17
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
Exemplo n.º 18
0
 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
Exemplo n.º 19
0
 def test_delete_team_icon_member(self):
     team_uid = func.add_team(self.api)['uid']
     func.add_contact(self.api, team_uid, self.phone2, role='member')
     api2 = auth.login_another_user(self.url, self.phone2, self.code2)
     resp = api2.delete_team_icon(team_uid).json()
     assert resp['error'] == const.ACCESS_DENIED