예제 #1
0
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
예제 #2
0
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
예제 #3
0
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
예제 #4
0
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
예제 #5
0
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
예제 #6
0
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
예제 #7
0
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
예제 #8
0
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
예제 #9
0
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
예제 #10
0
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
예제 #11
0
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
예제 #12
0
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
예제 #13
0
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