Пример #1
0
 def test_no_duplicate_fields(self):
     doc = {'a': 10, 'd': 'bucket', 'b': 20, extf.KEY: 'key'}
     valid1 = SimpleValidator(doc, extf.values())
     valid2 = SimpleValidator(doc, extf.values(), valid1)
     try:
         valid2.validate()
     except Exception, e:
         assert e.message == 'Document contains forbidden fields [%s]' % extf.KEY
Пример #2
0
 def test_fields_not_found(self):
     doc = {'a': 10, 'd': {'bucket': {reservedf.BUCKET: 'yes!!!'}},
            'b': 20, 'done': 'key',
            'd2': {'bucket2': {reservedf.BUCKET: 'no!!!'}},
            'd3': {'bucket3': {reservedf.BUCKET: 'yes!!!'}}}
     valid1 = SimpleValidator(doc, extf.values())
     valid2 = SimpleValidator(doc, extf.values(), valid1)
     valid2.validate()
Пример #3
0
    def test_chain(self):
        doc = {'a': 10, reservedf.BUCKET: 'bucket', 'b': 20, extf.KEY: 'key'}
        valid1 = SimpleValidator(doc, extf.values())
        valid2 = SimpleValidator(doc, reservedf.values(), valid1)

        try:
            valid2.validate()
        except Exception, e:
            assert e.message == 'Document contains forbidden fields [%s,%s]' % \
                                (extf.KEY, reservedf.BUCKET)
Пример #4
0
    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)
Пример #5
0
def validate_doc_for_update(update_doc):
    fields = forbidden_fields.values() + extf.values() + reservedf.values()
    validate_forbidden_fields(update_doc, fields)
    validators.UpdateDocumentKeysValidator(update_doc).validate()