def test_1009(IS): err = 0 terr = 0 # Выполняется если файл запускается как программа print("Получение документации 1009-сервиса (Предоставления путевки)") print("*******************************************") Parents, Errors = readConfig('config_1009.ini') if Errors == 0: print("Загрузили конфигурационный файл") else: print("При загрузке конфигурационного файла возникли ошибки") exit(1) # Перебираем всех тестовых родителей fp = open('Шаблоны/Request_1009.xml', mode='r', encoding='utf-8') shablon = fp.read() fp.close() smev.get_wsdl(IS, IS['url']+"SMEV/permit256.ashx", '1009.wsdl') for parent in Parents: req = smev.change(shablon, parent) req = smev.change(req, IS) print ("Отрабатываем пример", parent['test']) res = service_1009(req, IS, parent['test']) # проверяем результат if parent['md5']: err = smev.check(res, parent['test'], parent['md5']) if err > 0: print('Ошибка!!! Не совпадает контрольная суммму блока smev:MessageData.') terr += err return terr
def test_1007(IS): err = 0 terr = 0 # Выполняется если файл запускается как программа print("Получение документации 1007-сервиса (Ветеран)") print("*******************************************") Parents, Errors = readConfig('config_1007.ini') if Errors == 0: print("Загрузили конфигурационный файл") else: print("При загрузке конфигурационного файла возникли ошибки") exit(1) start = time.time() # Перебираем всех тестовых родителей shablon = open('Шаблоны/Request_1007.xml', mode='r', encoding='utf-8').read() smev.get_wsdl(IS, IS['url'] + "SMEV/VeteranWork.ashx", '1007.wsdl') for parent in Parents: req = smev.change(shablon, parent) req = smev.change(req, IS) print("Отрабатываем пример", parent['test']) res = service_1007(req, IS, parent['test']) # проверяем результат if parent['md5']: err = smev.check(res, parent['test'], parent['md5']) if err > 0: print( 'Ошибка!!! Не совпадает контрольная суммму блока smev:MessageData.' ) terr += err post = { "date": datetime.datetime.now(), "name": "Тестирование 1007 сервиса", "comment": IS['comment'], "version": IS['version'], "data": { "Итого": time.time() - start }, "errors": terr, "address": 'http://%s:%s%sSMEV/VeteranWork.ashx' % (IS['adr'], IS['port'], IS['url']) } return post
def test_1003(IS): err = 0 print("Получение документации 1003-сервиса") print("*******************************************") Parents, Errors = readConfig('config_1003.ini') if Errors == 0: print("Загрузили конфигурационный файл") else: print("При загрузке конфигурационного файла возникли ошибки") exit(1) start = time.time() shablon = open('Шаблоны/Request_1003.xml', mode='r', encoding='utf-8').read() con = http.client.HTTPConnection(IS['adr'], IS['port']) smev.get_wsdl(IS, IS['url'] + "SMEV/ManyChildren.ashx", '1003.wsdl') # Перебираем всех тестовых родителей for parent in Parents: req = smev.change(shablon, parent) req = smev.change(req, IS) print("Отрабатываем пример", parent['test']) result = service_1003(req, IS, con, parent['test']) if parent['md5']: err1 = smev.check(result, parent['test'], parent['md5']) if err1 > 0: print( 'Ошибка!!! Не совпадает контрольная суммму блока smev:MessageData.' ) err += err1 post = { "date": datetime.datetime.now(), "name": "Тестирование 1003 сервиса", "comment": IS['comment'], "version": IS['version'], "data": { "Итого": time.time() - start }, "errors": err, "address": 'http://%s:%s%sSMEV/ManyChildren.ashx' % (IS['adr'], IS['port'], IS['url']) } con.close() return post
def test_409(IS): err = 0 start = time.time() print("Автоматическое тестирование 409 сервиса") print("********************************************") err += smev.get_wsdl(IS, url=IS['url'] + 'SMEV/SocPayments256.ashx', name='409.wsdl') err += ok_409(IS) err += nofound_409(IS) err += error_data_409(IS) err += error_guid_409(IS) print("") post = { "date": datetime.datetime.now(), "name": "Тестирование 409 сервиса", "comment": IS['comment'], "version": IS['version'], "data": { "Итого": time.time() - start }, "errors": err, "address": 'http://%s:%s%sSMEV/SocPayments256.ashx' % (IS['adr'], IS['port'], IS['url']) } return post
def test_409(IS): err = 0 start = time.time() print("Автоматическое тестирование 409 сервиса") print("********************************************") err += smev.get_wsdl(IS, url=IS['url']+'SMEV/SocPayments256.ashx', name='409.wsdl') err += ok_409(IS) err += nofound_409(IS) err += error_data_409(IS) err += error_guid_409(IS) print("") post = { "date": datetime.datetime.now(), "name": "Тестирование 409 сервиса", "comment": IS['comment'], "version": IS['version'], "data": { "Итого": time.time() - start }, "errors": err, "address": 'http://%s:%s%sSMEV/SocPayments256.ashx' % (IS['adr'], IS['port'], IS['url']) } return post
def test_1005(IS): err = 0 terr = 0 print("Получение документации 1005-сервиса") print("*******************************************") # Загрузка настроек из конфигурационного файла Parents, Errors = readConfig("config_1005.ini") if Errors == 0: print("Загрузили конфигурационный файл") else: print("При загрузке конфигурационного файла возникли ошибки") exit(1) start = time.time() # получение WSDL url = '/Socportal/SMEV/Transport.ashx' #print ("Пытаемся получить WSDL по адресу:",\ # 'http://%s:%s%s?wsdl' % (IS['adr'], IS['port'], url)) errMsg = smev.get_wsdl(IS, url) if errMsg: print(errMsg) terr += 1 # Перебираем всех тестовых родителей shablon = open('Шаблоны/Request_1005.xml', mode='r', encoding='utf-8').read() for parent in Parents: req = smev.change(shablon, parent) req = smev.change(req, IS) print("Отправляем запрос на гражданина: %s (%s)" % (parent['famil'], parent['test'])) # возвращает XML от сервера result = service_1005(req, IS, parent['test']) # пытаемся напечатать ответ в понятном виде if result: if parent['md5']: err = smev.check(result, parent['test'], parent['md5']) if err > 0: print('Ошибка!!! Не совпадает контрольная суммму блока smev:MessageData.') else: print('****************************') print_1005(result) print('****************************') else: print("ОШИБКА! Ответ не получен") err =1 terr += err post = { "date": datetime.datetime.now(), "name": "Тестирование 1005 сервиса", "comment": IS['comment'], "version": IS['version'], "data": { "Итого": time.time() - start }, "errors": terr, "address": 'http://%s:%s%sSMEV/Transport.ashx' % (IS['adr'], IS['port'], IS['url']) } print("Все запросы и ответы сохранены в папке Результаты") return post
def test_1009(IS): err = 0 terr = 0 # Выполняется если файл запускается как программа print("Получение документации 1009-сервиса (Предоставления путевки)") print("*******************************************") Parents, Errors = readConfig('config_1009.ini') if Errors == 0: print("Загрузили конфигурационный файл") else: print("При загрузке конфигурационного файла возникли ошибки") exit(1) start = time.time() # Перебираем всех тестовых родителей shablon = open('Шаблоны/Request_1009.xml', mode='r', encoding='utf-8').read() smev.get_wsdl(IS, IS['url']+"SMEV/permit256.ashx", '1009.wsdl') for parent in Parents: req = smev.change(shablon, parent) req = smev.change(req, IS) print ("Отрабатываем пример", parent['test']) res = service_1009(req, IS, parent['test']) # проверяем результат if parent['md5']: err = smev.check(res, parent['test'], parent['md5']) if err > 0: print('Ошибка!!! Не совпадает контрольная суммму блока smev:MessageData.') terr += err post = { "date": datetime.datetime.now(), "name": "Тестирование 1009 сервиса", "comment": IS['comment'], "version": IS['version'], "data": { "Итого": time.time() - start }, "errors": terr, "address": 'http://%s:%s%sSMEV/permit256.ashx' % (IS['adr'], IS['port'], IS['url']) } return post
def test_373(IS): err = 0 start = time.time() print("Автоматическое тестирование 373 сервиса") print("********************************************") err += smev.get_wsdl(IS, url=IS['url']+"SMEV/Child256.ashx", name='373.wsdl') err += ok_373(IS) err += nofound_373(IS) err += error_data_373(IS) err += error_guid_373(IS) return err
def test_1003(IS): err = 0 print("Получение документации 1003-сервиса") print("*******************************************") Parents, Errors = readConfig('config_1003.ini') if Errors == 0: print("Загрузили конфигурационный файл") else: print("При загрузке конфигурационного файла возникли ошибки") exit(1) start = time.time() shablon = open('Шаблоны/Request_1003.xml', mode='r', encoding='utf-8').read() con = http.client.HTTPConnection(IS['adr'], IS['port']) smev.get_wsdl(IS, IS['url']+"SMEV/ManyChildren.ashx", '1003.wsdl') # Перебираем всех тестовых родителей for parent in Parents: req = smev.change(shablon, parent) req = smev.change(req, IS) print ("Отрабатываем пример", parent['test']) result = service_1003(req, IS, con, parent['test']) if parent['md5']: err1 = smev.check(result, parent['test'], parent['md5']) if err1>0: print('Ошибка!!! Не совпадает контрольная суммму блока smev:MessageData.') err += err1 post = { "date": datetime.datetime.now(), "name": "Тестирование 1003 сервиса", "comment": IS['comment'], "version": IS['version'], "data": { "Итого": time.time() - start }, "errors": err, "address": 'http://%s:%s%sSMEV/ManyChildren.ashx' % (IS['adr'], IS['port'], IS['url']) } con.close() return post
def test_PGU(IS): err = 0 start = time.time() print("Автоматическая документация на веб-сервис интеграции в ПГУ") print("********************************************") print("Тестирование будет выполнено по услуге с кодом %s." % IS['servicecode']) err += smev.get_wsdl(IS, url=IS['url'] + 'pgu/RequestAllowanceServiceSOAP256.ashx', name='pgu.wsdl') err += get_settings(IS) err += get_custom_control(IS) err += set_request(IS) err += get_sprav(IS) # Особая фукция, возвращает ответ в XML response = get_req_doc(IS) # Извлекаем из него первый ID документа doc_id = None try: for node in parseString(response).getElementsByTagName('AttachIdRef'): if node.firstChild: # первый непустой тег doc_id = node.firstChild.nodeValue break except: print('Не удалось найти ID документа') # вызываем функцию получения документа, передаем ID if doc_id: err += get_doc_by_id(doc_id, IS) else: print("Ошибка! OK пример для GetDocById не получен") err += 1 post = { "date": datetime.datetime.now(), "name": "Тестирование ПГУ сервиса", "comment": IS['comment'], "version": IS['version'], "data": { "Итого": time.time() - start }, "errors": err, "address": 'http://%s:%s%sSMEV/pgu/RequestAllowanceServiceSOAP256.ashx' % (IS['adr'], IS['port'], IS['url']) } return post
def test_1004(IS): print("Получение документации 1004-сервиса") print("*******************************************") # чтение файла конфигурации humans, Errors = readConfig('config_1004.ini') if Errors == 0: print("Загрузили конфигурационный файл") else: print("При загрузке конфигурационного файла возникли ошибки") exit(1) err = 0 start = time.time() # получение WSDL adr = IS['url']+"SMEV/ResidencePermit.ashx" errMsg = smev.get_wsdl(IS, adr, '1004.wsdl') if errMsg: print(errMsg) err +=1 # отправляем запросы shablon = open('Шаблоны/Request_1004.xml', mode='r', encoding='utf-8').read() # по списку людей for test in humans.keys(): print("Обрабатываем пример", test) req = smev.change(shablon, IS) req = changePers(req, humans[test]) result = service_1004(req, IS, test) if humans[test][0]['md5']: err1 = smev.check(result, test, humans[test][0]['md5']) if err1 > 0: print('Ошибка!!! Не совпадает контрольная суммму блока smev:MessageData.') err += err1 post = { "date": datetime.datetime.now(), "name": "Тестирование 1004 сервиса", "comment": IS['comment'], "version": IS['version'], "data": { "Итого": time.time() - start }, "errors": err, "address": 'http://%s:%s%sSMEV/ResidencePermit.ashx' % (IS['adr'], IS['port'], IS['url']) } return post
def test_PGU(IS): err = 0 start = time.time() print("Автоматическая документация на веб-сервис интеграции в ПГУ") print("********************************************") print("Тестирование будет выполнено по услуге с кодом %s." % IS['servicecode']) err += smev.get_wsdl(IS, url=IS['url']+'pgu/RequestAllowanceServiceSOAP256.ashx', name='pgu.wsdl') err += get_settings(IS) err += get_custom_control(IS) err += set_request(IS) err += get_sprav(IS) # Особая фукция, возвращает ответ в XML response = get_req_doc(IS) # Извлекаем из него первый ID документа doc_id = None try: for node in parseString(response).getElementsByTagName('AttachIdRef'): if node.firstChild: # первый непустой тег doc_id = node.firstChild.nodeValue break except: print('Не удалось найти ID документа') # вызываем функцию получения документа, передаем ID if doc_id: err += get_doc_by_id(doc_id, IS) else: print("Ошибка! OK пример для GetDocById не получен") err +=1 post = { "date": datetime.datetime.now(), "name": "Тестирование ПГУ сервиса", "comment": IS['comment'], "version": IS['version'], "data": { "Итого": time.time() - start }, "errors": err, "address": 'http://%s:%s%sSMEV/pgu/RequestAllowanceServiceSOAP256.ashx' % (IS['adr'], IS['port'], IS['url']) } return post
def test_1005(IS): err = 0 terr = 0 print("Получение документации 1005-сервиса") print("*******************************************") # Загрузка настроек из конфигурационного файла Parents, Errors = readConfig("config_1005.ini") if Errors == 0: print("Загрузили конфигурационный файл") else: print("При загрузке конфигурационного файла возникли ошибки") exit(1) start = time.time() # получение WSDL url = '/Socportal/SMEV/Transport.ashx' #print ("Пытаемся получить WSDL по адресу:",\ # 'http://%s:%s%s?wsdl' % (IS['adr'], IS['port'], url)) errMsg = smev.get_wsdl(IS, url) if errMsg: print(errMsg) terr += 1 # Перебираем всех тестовых родителей shablon = open('Шаблоны/Request_1005.xml', mode='r', encoding='utf-8').read() for parent in Parents: req = smev.change(shablon, parent) req = smev.change(req, IS) print("Отправляем запрос на гражданина: %s (%s)" % (parent['famil'], parent['test'])) # возвращает XML от сервера result = service_1005(req, IS, parent['test']) # пытаемся напечатать ответ в понятном виде if result: if parent['md5']: err = smev.check(result, parent['test'], parent['md5']) if err > 0: print( 'Ошибка!!! Не совпадает контрольная суммму блока smev:MessageData.' ) else: print('****************************') print_1005(result) print('****************************') else: print("ОШИБКА! Ответ не получен") err = 1 terr += err post = { "date": datetime.datetime.now(), "name": "Тестирование 1005 сервиса", "comment": IS['comment'], "version": IS['version'], "data": { "Итого": time.time() - start }, "errors": terr, "address": 'http://%s:%s%sSMEV/Transport.ashx' % (IS['adr'], IS['port'], IS['url']) } print("Все запросы и ответы сохранены в папке Результаты") return post