Ejemplo n.º 1
0
def initialize_validator(path: Path, version: str):
    try:
        __tracebackhide__ = True
        if version == "1.1":
            return xmlschema.XMLSchema11(str(path))
        else:
            return xmlschema.XMLSchema10(str(path))
    except Exception:
        return None
Ejemplo n.º 2
0
import xmlschema
from pprint import pprint

schema = xmlschema.XMLSchema10(
    '/home/lpsthind/Public/python_web_dev/09_other/08_react_js/taxapp/frontend/src/pyapi/ITR-4/master.xsd'
)
pprint(dict(schema.types))
# print(schema.elements['StateCode'])
# print(schema.elements['StateCode'].occurs)
# pprint(dict(schema.elements))
# pprint(sorted(schema.maps.types.keys())[:5])
# print(schema.elements['AddressDetail'])
print(schema.types['AddressDetail80G'])
# pprint(schema.findall('AddressDetail/*'))
# print(schema.attributes)
Ejemplo n.º 3
0
REQUEST_XML_FILE = os.path.join(PROJECT_DIR, 'data/authn_request.xml')
RESPONSE_XML_FILE = os.path.join(PROJECT_DIR, 'data/simple_saml_php.xml')
METADATA_XML_FILE = os.path.join(PROJECT_DIR, 'data/testshib-providers.xml')


def run_timeit(stmt='pass', setup='pass', number=10, compare=None):
    seconds = timeit(stmt, setup=setup, number=number)
    if compare is None:
        print("{}: {}s".format(stmt, seconds))
    else:
        print("{}: {}s ({:g}x)".format(stmt, seconds, seconds / compare))
    return seconds


saml2_schema = xmlschema.XMLSchema10(SAML2_XSD_FILE)
saml2_metadata_schema = xmlschema.XMLSchema10(SAML2_METADATA_XSD_FILE)

saml2_lxml_schema = etree.XMLSchema(etree.parse(SAML2_XSD_FILE).getroot())
saml2_metadata_lxml_schema = etree.XMLSchema(etree.parse(SAML2_METADATA_XSD_FILE).getroot())


print("### Performance test SAML2 XML data validation ###\n")


def xmlschema_validate_request():
    saml2_schema.validate(REQUEST_XML_FILE)


def xmlschema_validate_response():
    # data/simple_saml_php.xml has 2 invalid base64 values:
Ejemplo n.º 4
0
def xmlschema_build_saml2_metadata_schema():
    xs = xmlschema.XMLSchema10(SAML2_METADATA_XSD_FILE)
    return xs
Ejemplo n.º 5
0
def xmlschema_build_saml2_schema():
    xs = xmlschema.XMLSchema10(SAML2_XSD_FILE)
    return xs
Ejemplo n.º 6
0
t1 = [
    run_timeit("lxml_build_saml2_schema()", setup=SETUP, number=NUMBER),
    run_timeit("lxml_build_saml2_metadata_schema()",
               setup=SETUP,
               number=NUMBER)
]

print()

run_timeit("xmlschema_build_saml2_schema_and_meta_schema()",
           setup=SETUP,
           number=NUMBER,
           compare=t1[0])

saml2_schema = pickle.dumps(xmlschema.XMLSchema10(SAML2_XSD_FILE))
saml2_metadata_schema = pickle.dumps(
    xmlschema.XMLSchema10(SAML2_METADATA_XSD_FILE))

t2 = [
    run_timeit("xmlschema_build_saml2_schema()",
               setup=SETUP,
               number=NUMBER,
               compare=t1[0]),
    run_timeit("xmlschema_build_saml2_metadata_schema()",
               setup=SETUP,
               number=NUMBER,
               compare=t1[1])
]

t3 = [