def test_edit_contact_with_empty_data(self): team_uid = func.add_team(self.api)['uid'] data = {'phone': self.phone2} self.api.add_contacts(team_uid, data) resp = self.api.get_contacts(team_uid).json() contact_jid = resp['result'][0]['jid'] act_data = { 'family_name': resp['result'][0]['family_name'], 'given_name': resp['result'][0]['given_name'], 'contact_phone': resp['result'][0]['contact_phone'], 'role': resp['result'][0]['role'], 'status': resp['result'][0]['status'], 'contact_email': resp['result'][0]['contact_email'] } data = {} res = self.api.edit_contact(team_uid, contact_jid, data).json() resp = res['result'] exp_data = { 'family_name': resp['family_name'], 'given_name': resp['given_name'], 'contact_phone': resp['contact_phone'], 'role': resp['role'], 'status': resp['status'], 'contact_email': resp['contact_email'] } assert 'error' not in res assert act_data == exp_data
def test_get_contact_outsider(self): team_uid = func.add_team(self.api)['uid'] resp = self.api.get_contacts(team_uid).json() contact_jid = resp['result'][0]['jid'] api2 = auth.login_another_user(self.url, self.phone2, self.code2) resp = api2.get_contact(team_uid, contact_jid).json() assert const.ACCESS_DENIED == resp['error']
def test_invite_one_contact_all_params(self): team_uid = func.add_team(self.api)['uid'] section_uid = func.add_section(self.api, team_uid)['uid'] data = { 'family_name': 'Фамилия', 'given_name': 'Имя', 'phone': self.phone2, 'role': 'пресс-секретарь', 'section': section_uid, 'status': 'admin' } resp = self.api.add_contacts(team_uid, data).json() resp2 = self.api.get_contacts(team_uid).json() resp2 = resp2['result'][0] exp_data = { 'family_name': resp2['family_name'], 'given_name': resp2['given_name'], 'phone': resp2['contact_phone'], 'role': resp2['role'], 'section': resp2['section_uid'], 'status': resp2['status'] } assert 'error' not in resp assert self.phone2 == resp['result']['contact_phone'] assert exp_data == data
def test_upload_team_icon_outsider(self): resp = func.add_team(self.api) api2 = auth.login_another_user(self.url, self.phone4, self.code4) resp = api2.upload_team_icon(resp['uid'], os.path.join(const.TD_FILES, 'tiger.jpg')) resp = resp.json() assert resp['error'] == const.ACCESS_DENIED
def test_invite_one_contact_empty(self): resp = func.add_team(self.api) team_uid = resp['uid'] data = {} resp = self.api.add_contacts(team_uid, data).json() assert resp['error'] == const.INVALID_DATA assert 'Обязательное поле.' == resp['details']['phone']
def test_get_team_valid_uid_outsider(self): resp = func.add_team(self.api) team_uid = resp['uid'] api2 = auth.login_another_user(self.url, self.phone4, self.code4) resp = api2.delete_team(team_uid) resp = resp.json() assert resp['error'] == const.ACCESS_DENIED
def test_edit_contact_valid(self): team_uid = func.add_team(self.api)['uid'] data = {'phone': self.phone2} self.api.add_contacts(team_uid, data) resp = self.api.get_contacts(team_uid).json() contact_jid = resp['result'][0]['jid'] data = { 'family_name': 'Brown', 'given_name': 'Jack', 'contact_phone': '+70000000000', 'role': 'Secret Agent', 'status': 'admin', 'contact_email': '*****@*****.**' } res = self.api.edit_contact(team_uid, contact_jid, data).json() resp = res['result'] exp_data = { 'family_name': resp['family_name'], 'given_name': resp['given_name'], 'contact_phone': resp['contact_phone'], 'role': resp['role'], 'status': resp['status'], 'contact_email': resp['contact_email'] } assert 'error' not in res assert data == exp_data
def test_delete_contact_icon_another_user(self): team_uid = func.add_team(self.api)['uid'] resp = self.api.get_contacts(team_uid).json() contact_jid = resp['result'][0]['jid'] api2 = auth.login_another_user(self.url, self.phone4, self.code4) resp = api2.delete_contact_icon(self.team_uid, contact_jid) resp = resp.json() assert const.ACCESS_DENIED == resp['error']
def test_invite_contact_outsider(self): team_uid = func.add_team(self.api)['uid'] data = {'phone': self.phone2, 'status': 'member'} self.api.add_contacts(team_uid, data) api2 = auth.login_another_user(self.url, self.phone4, self.code4) data = {'phone': self.phone3} resp = api2.add_contacts(team_uid, data).json() assert resp['error'] == const.ACCESS_DENIED
def test_invite_one_contact_section_invalid(self): resp = func.add_team(self.api) team_uid = resp['uid'] data = {"phone": self.phone2, "section": self.invalid_section_uid} resp = self.api.add_contacts(team_uid, data).json() assert resp['error'] == const.INVALID_DATA assert "Некорректная секция: '{uid}'".format( uid=self.invalid_section_uid) == resp['details']['section']
def test_upload_team_icon_invalid(self, filename): resp = func.add_team(self.api) resp = self.api.upload_team_icon( resp['uid'], os.path.join(const.TD_FILES, filename)) resp = resp.json() assert const.INVALID_DATA == resp['error'] assert 'Ошибка при загрузке. Пожалуйста, попробуйте ещё раз' == resp[ 'details']['file']
def test_get_botcommands_admin(self): team_uid = func.add_team(self.api)['uid'] group_jid = func.add_group(self.api, team_uid)['jid'] resp = self.api.get_botcommands(team_uid, group_jid).json() path = os.path.join(const.EXPECTED_RESULTS, 'bot_commands_admin.json') expected = read_json(path) assert 'error' not in resp assert resp['result'] == expected['result']
def test_send_help(self): team = func.add_team(self.api) team_uid = team['uid'] email = '*****@*****.**' text = 'I need help' resp = self.api.send_help(team_uid, email, text).json() assert 'error' not in resp assert resp['result'] == 'OK'
def test_edit_team_name_empty(self): resp = func.add_team(self.api) team_uid = resp['uid'] data = {'name': ''} resp = self.api.edit_team(team_uid, data) resp = resp.json() assert resp['error'] == const.INVALID_DATA assert resp['details']['name'] == 'Обязательное поле.'
def test_send_help_outsider(self): team = func.add_team(self.api) team_uid = team['uid'] email = '*****@*****.**' text = 'I need help, outsider' api4 = auth.login_another_user(self.url, self.phone4, self.code4) resp = api4.send_help(team_uid, email, text).json() assert resp['error'] == const.ACCESS_DENIED
def test_get_usage_exist_team(self): resp = func.add_team(self.api) team_uid = resp['uid'] resp = self.api.get_team_usage(team_uid) resp = resp.json() assert 'error' not in resp assert resp['result']['uploads_size'] == 0 assert resp['result']['uploads_size_limit'] == 1073741824
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
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
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
def test_get_team_valid_uid(self): resp = func.add_team(self.api) team_uid = resp['uid'] name = resp['name'] resp = self.api.get_team(team_uid) resp = resp.json() assert 'error' not in resp assert resp['result']['uid'] == team_uid assert resp['result']['name'] == name
def setup_class(self): # Логин и создание команды, далее эта команда используется в тестах self.url = self.config['api']['url'] phone = self.user['phone'] code = self.user['code'] auth_cookies = auth.login_with_cookies(self.url, phone, code) self.api = API(self.url, auth_cookies, is_token_auth=False) resp = func.add_team(self.api) self.team_uid = resp['uid']
def test_invite_one_contact_only_phone(self): resp = func.add_team(self.api) team_uid = resp['uid'] data = {'phone': self.phone2} resp = self.api.add_contacts(team_uid, data).json() resp2 = self.api.get_contacts(team_uid).json() assert 'error' not in resp assert self.phone2 == resp['result']['contact_phone'] assert self.phone2 == resp2['result'][0]['contact_phone']
def test_edit_team_name_outsider(self): resp = func.add_team(self.api) team_uid = resp['uid'] new_name = 'new_' + tools.generate_random_string() data = {'name': new_name} api2 = auth.login_another_user(self.url, self.phone4, self.code4) resp = api2.edit_team(team_uid, data) resp = resp.json() assert resp['error'] == const.ACCESS_DENIED
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
def test_invite_2_contacts_only_phone(self): resp = func.add_team(self.api) team_uid = resp['uid'] data = {'contacts': [{'phone': self.phone2}, {'phone': self.phone3}]} data_json = json.dumps(data) resp = self.api.add_contacts(team_uid, data_json).json() assert 'error' not in resp assert self.phone2 == resp['result']['contacts'][0]['contact_phone'] assert self.phone3 == resp['result']['contacts'][1]['contact_phone']
def test_send_help_upload_outsider(self): team = func.add_team(self.api) team_uid = team['uid'] api4 = auth.login_another_user(self.url, self.phone4, self.code4) filename = 'word.docx' resp = api4.send_help_upload(team_uid, os.path.join(const.TD_FILES, filename)).json() assert resp['error'] == const.ACCESS_DENIED
def test_send_help_upload(self): team = func.add_team(self.api) team_uid = team['uid'] filename = 'tiger.jpg' resp = self.api.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'] == 456822
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
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'
def test_edit_team_name_valid(self): resp = func.add_team(self.api) team_uid = resp['uid'] new_name = 'new_' + tools.generate_random_string() data = {'name': new_name} resp = self.api.edit_team(team_uid, data) resp = resp.json() assert 'error' not in resp assert resp['result']['uid'] == team_uid assert resp['result']['name'] == new_name