def test_add_incorrect_result_variants(self, add_campaign, send_request, delete_result_code, dataType, value): # Подготавливаем данные в JSON для запроса campaign_id = add_campaign['id'] campaign_code = add_campaign['code'] data = _.get_JSON_request( 'add_result_code', **{ "campaign": { "id": campaign_id }, "dataType": dataType }) # Делаем запрос и получаем ответ response = send_request(url=URL.edit_result_code, data=data) result_code_id = response.json()['id'] delete_result_code['id'] = result_code_id assert response.status_code == 200 data = _.get_JSON_request( 'edit_result_variant', **{ "campaignCode": campaign_code, "resultVariant": { "value": value, "forInit": False } }) response = send_request(url=URL.edit_result_variant, data=data) answer = { "SCM_EDIT_RESULT_VARIANT_EXCEPTION": "SCMEditResultVariantException: Wrong result variant format for dataType '%s'" % dataType } assert response.status_code == 500 assert answer == response.json()
def test_add_user_with_existing_FIO(send_request, delete_user, add_delete_user): # Подготавливаем данные в JSON для запроса add_delete_user(get.add_user_existing) data = _.get_JSON_request( name, **{ "fname": "add_user_fName_existing", "lname": "add_user_lName_existing", "pname": "add_user_pName_existing", "phone": "666816000", "login": "******", "password": "******", "loginAD": "add_user_loginAD_one", "agentId": "add_user_agentId_one" }) # Делаем запрос и получаем ответ response = send_request(url=URL.add_user, data=data) user_id = response.json()['id'] # Данные которые должны быть в ответе answer = _.get_JSON_response( name, **{ 'id': user_id, "fname": "add_user_fName_existing", "lname": "add_user_lName_existing", "pname": "add_user_pName_existing", "phone": "666816000", "login": "******", "password": "******", "loginAD": "add_user_loginAD_one", "agentId": "add_user_agentId_one" }) delete_user["user1"] = user_id assert response.status_code == 200 assert answer == response.json()
def test_put_route_externalNumber_internalNumber_on_existing( self, add_route, send_request, clear_result): url = URL.fixed_routes # Подготавливаем данные в JSON для запроса data = _.get_JSON_request( 'add_route', **{ "internalNumber": "1111", "externalNumber": "0666816659" }) # Делаем запрос и получаем ответ response = send_request(url, data) assert response.status_code == 200 route_id = response.json()['id'] #Добавляем ИД для очистки результата clear_result['id'].append(route_id) # Изменяем созданный перед тестом fixed_routes(internalNumber and externalNumber)на существующий(тот что в созданный в тесте) data = _.generate_JSON(add_route, { "internalNumber": "1111", "externalNumber": "0666816659" }) response = send_request(url, data, method="PUT") answer = { 'SCB_CALL_UPDATE_EXCEPTION': 'RouteUpdateException: Unable to update fixed route. Fixed route with such external number already exist' } assert response.status_code == 500 assert answer == response.json()
def test_add_result_codes(self, add_campaign, send_request, delete_result_code, dataType, code): # Подготавливаем данные в JSON для запроса campaign_id = add_campaign['id'] data = _.get_JSON_request( 'add_result_code', **{ "campaign": { "id": campaign_id }, "dataType": dataType, 'code': code }) # Делаем запрос и получаем ответ response = send_request(url=URL.edit_result_code, data=data) result_code_id = response.json()['id'] delete_result_code['id'] = result_code_id answer = _.get_JSON_response( 'add_result_code', **{ 'id': result_code_id, 'dataType': dataType, 'code': str(code) }) assert response.status_code == 200 assert answer == response.json()
def test_add_result_variants(self, add_campaign, send_request, delete_result_code, dataType, value): # Подготавливаем данные в JSON для запроса campaign_id = add_campaign['id'] campaign_code = add_campaign['code'] data = _.get_JSON_request( 'add_result_code', **{ "campaign": { "id": campaign_id }, "dataType": dataType }) # Делаем запрос и получаем ответ response = send_request(url=URL.edit_result_code, data=data) result_code_id = response.json()['id'] delete_result_code['id'] = result_code_id assert response.status_code == 200 data = _.get_JSON_request( 'edit_result_variant', **{ "campaignCode": campaign_code, "resultVariant": { "value": value, "forInit": False } }) response = send_request(url=URL.edit_result_variant, data=data) assert response.status_code == 200
def test_Positive_AD_phone_agent_ID_one_user(setup_get_user_list, send_request): # Подготавливаем данные в JSON для запроса data = _.get_JSON_request( name, **{ "adLogin": "******", "agentId": "get_userlist_agentId_one", "phone": "666816321" }) # Делаем запрос и получаем ответ response = send_request(url=URL.get_user_list, data=data) # Данные которые должны быть в ответе answer = _.get_JSON_response( name, **{ 'id': setup_get_user_list[0], "fname": "get_userlist_fName_one", "lname": "get_userlist_lName_one", "pname": "get_userlist_pName_one", "agentId": "get_userlist_agentId_one", "login": "******", "loginAD": "get_userlist_loginAD_one", "phone": "666816321" }) assert response.status_code == 200 # Совпадает ли ответ с предполагаемым assert answer == response.json()
def test_Positive_roleid_goupid_login_deleted_user(setup_get_user_list, send_request): # Подготавливаем данные в JSON для запроса data = _.get_JSON_request( name, **{ "roleId": 3, "groupId": 2, "login": "******", "showDeletedOnly": True }) # Делаем запрос и получаем ответ response = send_request(url=URL.get_user_list, data=data) # Данные которые должны быть в ответе answer = _.get_JSON_response( name, **{ 'id': setup_get_user_list[1], "fname": "get_userlist_fName_deleted", "lname": "get_userlist_lName_deleted", "pname": "get_userlist_pName_deleted", "agentId": "get_userlist_agentId_deleted", "login": "******", "loginAD": "get_userlist_loginAD_deleted", "phone": "6668163212", 'deleted': True }) assert response.status_code == 200 # Совпадает ли ответ с предполагаемым assert answer == response.json()
def test_add_map_fields_phone(self, add_campaign, send_request, phoneType, clear_result): # Подготавливаем данные в JSON для запроса campaign_id = add_campaign['id'] data = _.get_JSON_request( 'add_map_field', **{ "name": "Mapping_test", "fieldImport": "Mapping_test", "phoneNumber": True, "phoneType": phoneType, "campaign": { "id": campaign_id } }) # Делаем запрос и получаем ответ response = send_request(url=URL.map_field, data=data) mapfield_id = response.json()['id'] # Формируем ответ, который должен быть answer = _.get_JSON_response( 'add_map_field', **{ 'id': mapfield_id, "name": "Mapping_test", "fieldImport": "Mapping_test", "phoneNumber": True, "phoneType": phoneType, "campaign": { "id": campaign_id } }) # Удаляем добавленные ранее данные clear_result['url'], clear_result[ 'id'] = URL.delete_mapfield, mapfield_id assert response.status_code == 200 assert answer == response.json()
def test_add_result_variants_with_unknown_resultCode( self, add_campaign, send_request, delete_result_code, dataType, value): # Подготавливаем данные в JSON для запроса campaign_id = add_campaign['id'] campaign_code = add_campaign['code'] data = _.get_JSON_request( 'add_result_code', **{ "campaign": { "id": campaign_id }, "dataType": dataType }) # Делаем запрос и получаем ответ response = send_request(url=URL.edit_result_code, data=data) result_code_id = response.json()['id'] delete_result_code['id'] = result_code_id assert response.status_code == 200 data = _.get_JSON_request( 'edit_result_variant', **{ "campaignCode": campaign_code, "resultCode": "UNKNOWN_result_code", "resultVariant": { "value": value, "forInit": False } }) response = send_request(url=URL.edit_result_variant, data=data) answer = { 'SCM_REQUESTED_RESOURCE_NOT_FOUND': "SCMRequestedResourceNotFoundException: Unable to find result code 'UNKNOWN_result_code' for campaign '%s'" % campaign_code } assert response.status_code == 500 assert response.json() == answer
def test_Negative_phone(setup_get_user_list, send_request): # Подготавливаем данные в JSON для запроса data = _.get_JSON_request(name, **{"phone": "99999999"}) # Делаем запрос и получаем ответ response = send_request(url=URL.get_user_list, data=data) # Данные которые должны быть в ответе answer = _.get_JSON_response(name, **{'data': [], 'row_count': 0}) assert response.status_code == 200 # Совпадает ли ответ с предполагаемым assert answer == response.json()
def test_add_delete_domain(send_request): name ="test_domain" data = _.get_JSON_request(name) response = send_request(url=URL.edit_domain, data = data) domain_id = response.json()['id'] answer = _.get_JSON_response(name, **{'id':domain_id}) assert response.status_code == 200 assert response.json() == answer #Подготавливаем данные для удаления data = {'domainId':domain_id} response = send_request(url = URL.delete_domain, data=data) assert response.status_code == 200 assert response.json() == True
def test_add_map_fields_with_existing_name_and_fieldImport( self, add_campaign, send_request, fixed_fields, clear_result): # Подготавливаем данные в JSON для запроса dataType = "STRING" campaign_id = add_campaign['id'] fieldAbonents = random.sample(fixed_fields[dataType], 2) data = _.get_JSON_request( 'add_map_field', **{ "name": "Mapping_test", "fieldImport": "Mapping_test", "dataType": dataType, "fieldAbonent": fieldAbonents[0], "campaign": { "id": campaign_id } }) # Делаем запрос и получаем ответ response = send_request(url=URL.map_field, data=data) assert response.status_code == 200 mapfield_id_1 = response.json()['id'] other_fieldAbonent = random.choice(fixed_fields[dataType]) data = _.get_JSON_request( 'add_map_field', **{ "name": "Mapping_test", "fieldImport": "Mapping_test", "dataType": dataType, "fieldAbonent": fieldAbonents[1], "campaign": { "id": campaign_id } }) # Делаем запрос и получаем ответ response = send_request(url=URL.map_field, data=data) mapfield_id_2 = response.json()['id'] answer = _.get_JSON_response( 'add_map_field', **{ 'id': mapfield_id_2, "name": "Mapping_test", "fieldImport": "Mapping_test", "dataType": dataType, "fieldAbonent": fieldAbonents[1], "campaign": { "id": campaign_id } }) clear_result['url'], clear_result['id'] = URL.delete_mapfield, ( mapfield_id_1, mapfield_id_2) assert response.status_code == 200 assert answer == response.json()
def test_edit_contact_with_phone_us_null(self, send_request, add_contact): url = URL.scb_contact payload = _.generate_JSON(add_contact, {'phones': None}) response = send_request(url, method="PUT", data=payload) answer = [] assert response.status_code == 200 assert response.json()['phones'] == answer
def test_edit_settings_to_5_debuglelvel(send_request,): name ="Manager_settings" data = _.get_JSON_request(name, **{"debugLevel":"5"}) response = send_request(url=URL.Manager_settings, data = data) answer = {'MANAGER_VALIDATION_SETTINGS_DEBUG_LEVEL': 'Debug level must be from 0 to 3!'} assert response.status_code == 400 assert answer == response.json()
def user_delete(): for id in users_id: data = JSON_generator.get_JSON_request('delete_user', **{'userId': id}) payload = json.dumps(data) response = send_request(url=URL.delete_user, data=payload) assert response.status_code == 200
def test_Negative_more_256(setup_get_user_list, send_request): big_string = 'Q' * 257 # Подготавливаем данные в JSON для запроса data = _.get_JSON_request( name, **{ "fname": big_string, "lname": big_string, "pname": big_string, "agentId": big_string, "login": big_string, "loginAD": big_string, "phone": big_string }) # Делаем запрос и получаем ответ response = send_request(url=URL.get_user_list, data=data) # Данные которые должны быть в ответе answer = { "ADM_VALIDATION_USER_LAST_NAME_LENGTH": "LNAME length from 1 to 256", "ADM_VALIDATION_USER_PHONE_LENGTH": "PHONE length from 1 to 256", "ADM_VALIDATION_USER_AGENTID_LENGTH": "AGENTID length from 1 to 256", "ADM_VALIDATION_USER_PATRONYMIC_NAME_LENGTH": "PNAME length from 1 to 256", "ADM_VALIDATION_USER_FIRST_NAME_LENGTH": "FNAME length from 1 to 256", "ADM_VALIDATION_USER_ADLOGIN_LENGTH": "ADLOGIN length from 1 to 64", "ADM_VALIDATION_USER_LOGIN_LENGTH": "LOGIN length from 1 to 256" } print(response.json()) assert response.status_code == 400
def add_contact(send_request, clear_result): url = URL.scb_contact payload = _.get_JSON_request('add_contact', **get.add_contact) response = send_request(url=url, data=payload) assert response.status_code == 200 yield response.json() clear_result['url'], clear_result['id'] = url, response.json()['id']
def test_add_contact_with_many_phones(self, send_request, clear_result): url = URL.scb_contact payload = _.get_JSON_request( 'add_contact', **{ "fName": "Victor1", "lName": "Kliui1", "phones": [{ "phoneNumber": "06668166551", "phoneType": "MOBILE", "comment": None }, { "phoneNumber": "0525731628", "phoneType": "HOME", "comment": None }, { "phoneNumber": "0443775578", "phoneType": "WORK", "comment": None }] }) response = send_request(url, data=payload) clear_result['url'], clear_result['id'] = url, response.json()['id'] assert response.status_code == 200 # Количество телефонов добавленных = кол-ву телефонов переданных assert len(response.json()['phones']) == len(payload['phones'])
def test_add_user_with_existing_phone(send_request, add_delete_user): # Подготавливаем данные в JSON для запроса add_delete_user(get.add_user_existing) data = _.get_JSON_request( name, **{ "fname": "add_user_fName_one", "lname": "add_user_lName_one", "pname": "add_user_pName_one", "phone": "6668164444", "login": "******", "password": "******", "loginAD": "add_user_loginAD_one", "agentId": "add_user_agentId_existing", "email": "*****@*****.**", "fax": "add_user_fax_one" }) # Делаем запрос и получаем ответ response = send_request(url=URL.add_user, data=data) # Данные которые должны быть в ответе answer = { 'COMMON_ENTITY_WITH_SUCH_FIELD_EXISTS': 'CommonEntityWithSuchFieldExists: AGENT ID =add_user_agentId_existing already exists' } assert response.status_code == 500 assert answer == response.json()
def test_add_one_user_without_data(send_request): # Подготавливаем данные в JSON для запроса data = _.get_JSON_request( name, **{ "groups": None, "roles": None, "email": "aaaaaaaaaaaaa" }) # Делаем запрос и получаем ответ response = send_request(url=URL.add_user, data=data) # Данные которые должны быть в ответе answer = { "ADM_VALIDATION_USER_LAST_NAME_LENGTH": "LNAME length from 1 to 256", "ADM_VALIDATION_USER_GROUP_EMPTY": "GROUP not specified for user", "ADM_VALIDATION_USER_FIRST_NAME_LENGTH": "FNAME length from 1 to 256", "ADM_VALIDATION_USER_EMAIL_INCORRECT_FORMAT": "EMAIL incorrect format is specified for user", "ADM_VALIDATION_USER_ROLE_EMPTY": "ROLE not specified for user", "ADM_VALIDATION_USER_LOGIN_LENGTH": "LOGIN length from 1 to 256" } assert response.status_code == 400 print(response.json()) assert answer == response.json()
def test_edit_phone_for_existing(add_delete_user, send_request): user_id = add_delete_user(get.edit_user, get.edit_user_existing) # Подготавливаем данные в JSON для запроса data = _.get_JSON_request( name, **{ 'id': user_id[0], "fname": "edit_user_fName_one", "password": "******", "lname": "edit_user_lName_one", "pname": "edit_user_pName_one", "email": "*****@*****.**", "fax": "edit_user_fax", "agentId": "edit_user_agentId_one", "login": "******", "loginAD": "edit_user_loginAD_one_edited", "phone": "6668163333" }) # Делаем запрос и получаем ответ response = send_request(url=URL.edit_user, data=data) # Данные которые должны быть в ответе answer = { "COMMON_EXCEPTION": "CommonException: Not deleted user with phone = 6668163333 already exist!" } print(response.text) assert response.status_code == 500 assert answer == response.json()
def test_edit_login_deleted_on_existing_not_deleted(add_delete_user, send_request): user_id = add_delete_user(get.edit_user_deleted, get.edit_user_existing) # Подготавливаем данные в JSON для запроса data = _.get_JSON_request( name, **{ 'id': user_id[0], "fname": "edit_user_fName_deleted", "password": "******", "lname": "edit_user_lName_deleted", "pname": "edit_user_pName_deleted", "email": "*****@*****.**", "fax": "edit_user_fax_deleted", "agentId": "edit_user_agentId_deleted", "login": "******", "loginAD": "edit_user_loginAD_deleted", "phone": "666816323", "deleted": True }) # Делаем запрос и получаем ответ response = send_request(url=URL.edit_user, data=data) # Данные которые должны быть в ответе answer = { "COMMON_ENTITY_WITH_SUCH_FIELD_EXISTS": "CommonEntityWithSuchFieldExists: login =edit_user_agentId_existing already exists" } print(response.text) assert response.status_code == 500 assert answer == response.json()
def test_add_campaign_with_deleted_code(self, send_request): payload = _.get_JSON_request('add_campaign', **{'code': 'deleted_code'}) response = send_request(url=URL.edit_campaign, data=payload) answer = "errorData='name', errorMessage='A deleted item exists with the specified value. The names of deleted items cannot be reused unless they are permanently deleted via the Deleted Objects tool.'" assert response.status_code == 500 assert answer in response.json()['SCM_DIALER_EXCEPTION']
def test_add_map_field_with_incorrect_dataType_for_fieldAbonent( self, add_campaign, send_request, fixed_fields, dataType): # Подготавливаем данные в JSON для запроса campaign_id = add_campaign['id'] fieldAbonent = random.choice(fixed_fields[dataType]) dataType_values = ['INTEGER', 'FLOAT', 'STRING', 'TEXT'] # Удаляем корректное значение dataType для конкретного fieldAbonent dataType_values.remove(dataType) # Выбираем рандомное значение из оставшихся елементов incorrect_dataType = random.choice(dataType_values) data = _.get_JSON_request( 'add_map_field', **{ "name": "Mapping_test", "fieldImport": "Mapping_test", "dataType": incorrect_dataType, "fieldAbonent": fieldAbonent, "campaign": { "id": campaign_id } }) # Делаем запрос и получаем ответ response = send_request(url=URL.map_field, data=data) answer = { "SCM_FIELD_MAPPING_EXCEPTION": "SCMFieldMappingException: Incorrect mapping for=%s correct type=%s" % (fieldAbonent, dataType) } assert response.status_code == 500 assert response.json() == answer
def test_add_map_field_with_existing_fieldAbonent(self, add_campaign, send_request, fixed_fields, clear_result): # Подготавливаем данные в JSON для запроса campaign_id = add_campaign['id'] fieldAbonent = random.choice(fixed_fields["STRING"]) data = _.get_JSON_request( 'add_map_field', **{ "name": "Mapping_test", "fieldImport": "Mapping_test", "dataType": "STRING", "fieldAbonent": fieldAbonent, "forExport": True, "forFilter": True, "campaign": { "id": campaign_id } }) # Делаем запрос и получаем ответ response = send_request(url=URL.map_field, data=data) mapfield_id = response.json()['id'] clear_result['url'], clear_result[ 'id'] = URL.delete_mapfield, mapfield_id assert response.status_code == 200 # Отправляем запрос на создание мафилда с ClientID response = send_request(url=URL.map_field, data=data) answer = { "SCM_FIELD_MAPPING_EXCEPTION": "SCMFieldMappingException: Field map=%s already exists for campaignId=%s" % (fieldAbonent, campaign_id) } assert response.status_code == 500 assert answer == response.json()
def test_put_route_internalNumber_externalNumber_callDate( self, add_route, send_request): url = URL.fixed_routes # Делаем запрос и получаем ответ data = _.generate_JSON( add_route, { "internalNumber": "1111", "externalNumber": "0666666666", "callDate": 1500292769604 }) response = send_request(url, data, method="PUT") answer = _.generate_JSON(add_route, { "internalNumber": "1111", "externalNumber": "0666666666" }) assert response.status_code == 200 assert answer == response.json()
def test_all_empty(setup_get_user_list, send_request): # Подготавливаем данные в JSON для запроса data = _.get_JSON_request(name, **{"data": "[]"}) # Делаем запрос и получаем ответ response = send_request(url=URL.get_user_list, data=data) # Данные которые должны быть в ответе assert response.status_code == 200 assert response.json()['row_count'] == 53
def test_get_route(self, add_route, send_request): url = URL.fixed_routes # Делаем запрос и получаем ответ data = {"internalNumber": "1022", "page_size": 10, "page_number": 1} response = send_request(url, method="GET", params=data) answer = _.get_JSON_response('get_route', **add_route) assert response.status_code == 200 assert answer == response.json()
def test_add_campaign_without_any_groups(self, send_request): payload = _.get_JSON_request('add_campaign', **{'groups': None}) response = send_request(url=URL.edit_campaign, data=payload) answer = { 'SCM_VALIDATION_CAMPAIGN_GROUPS': 'Can not add or edit Campaign without any Group' } assert response.status_code == 400 assert response.json() == answer
def test_add_result_variant_withforInit_true(self, add_campaign, send_request, delete_result_code, dataType, value): # Подготавливаем данные в JSON для запроса campaign_id = add_campaign['id'] campaign_code = add_campaign['code'] data = _.get_JSON_request( 'add_result_code', **{ "campaign": { "id": campaign_id }, "dataType": dataType }) # Делаем запрос и получаем ответ response = send_request(url=URL.edit_result_code, data=data) result_code_id = response.json()['id'] delete_result_code['id'] = result_code_id assert response.status_code == 200 data = _.get_JSON_request( 'edit_result_variant', **{ "campaignCode": campaign_code, "resultVariant": { "value": value, "forInit": True } }) response = send_request(url=URL.edit_result_variant, data=data) assert response.status_code == 200 data = _.get_JSON_request( 'edit_result_variant', **{ "campaignCode": campaign_code, "resultVariant": { "value": 99999999, "forInit": True } }) response = send_request(url=URL.edit_result_variant, data=data) answer = { "SCM_EDIT_RESULT_VARIANT_EXCEPTION": "SCMEditResultVariantException: Unable to add forInit result variant='99999999' because forInit result variant already exists" } assert response.status_code == 500 assert answer == response.json()