def test_fields_not_found(self): doc = {'a': 10, 'd': {'bucket': {'a': 'yes!!!'}}, 'b': 20, 's': {extf.KEY: 'key'}, 'd2': {'bucket2': {'a': 'no!!!'}}, 'd3': {'bucket3': {reservedf.BUCKET: 'yes!!!'}}} valid1 = RecursiveValidator(doc, intf.values()) valid2 = SimpleValidator(doc, reservedf.values(), valid1) valid3 = RecursiveValidator(doc, intf.values(), valid2) valid3.validate()
def test_simple1(self): doc = {'a': 10, 'd': {'bucket': {reservedf.BUCKET: 'yes!!!'}}, 'b': 20, extf.KEY: 'key'} fields = extf + intf + reservedf.values() valid = RecursiveValidator(doc, fields) try: valid.validate() except Exception, e: assert e.message == 'Document contains forbidden fields [%s,%s]' % \ (extf.KEY, reservedf.BUCKET)
def test_chain_and_duplicate(self): doc = {'a': 10, 'd': {'bucket': {reservedf.BUCKET: 'yes!!!'}}, 'b': 20, extf.KEY: 'key', 'd2': {'bucket2': {reservedf.BUCKET: 'no!!!'}}, 'd3': {'bucket3': {reservedf.BUCKET: 'yes!!!'}}} valid1 = RecursiveValidator(doc, reservedf.values()) valid2 = SimpleValidator(doc, extf.values(), valid1) valid3 = RecursiveValidator(doc, intf.values(), valid2) try: valid3.validate() except Exception, e: assert e.message == 'Document contains forbidden fields [%s,%s]' % \ (extf.KEY, reservedf.BUCKET)