def enum_validator(swagger_spec, validator, enums, instance, schema): """Swagger 2.0 allows enums to be validated against objects of type arrays, like query parameter (collectionFormat: multi) :param swagger_spec: needed for access to deref() :type swagger_spec: :class:`bravado_core.spec.Spec` :param validator: Validator class used to validate the object :type validator: :class: `Swagger20Validator` or :class: `jsonschema.validators.Draft4Validator` :param enums: allowed enum values :type enums: list :param instance: enum instance value :param schema: swagger spec for the object :type schema: dict """ if schema.get('type') == 'array': for element in instance: for error in _validators.enum(validator, enums, element, schema): yield error return # Handle optional enum params with no value if is_param_spec(swagger_spec, schema): if not is_required(swagger_spec, schema) and instance is None: return for error in _validators.enum(validator, enums, instance, schema): yield error
def enum_validator(validator, enums, instance, schema): """Swagger 2.0 allows enums to be validated against objects of type arrays, like query parameter (collectionFormat: multi) :param validator: Validator class used to validate the object :type validator: :class: `Swagger20Validator` or `jsonschema.validators.Draft4Validator` :param enums: allowed enum values :type enums: list :param instance: enum instance value :param schema: swagger spec for the object :type schema: dict """ if schema.get('type') == 'array': return (v for item in instance for v in _validators.enum( validator, enums, item, schema)) return _validators.enum(validator, enums, instance, schema)
def enum_validator(validator, enums, instance, schema): """Swagger 2.0 allows enums to be validated against objects of type arrays, like query parameter (collectionFormat: multi) :param validator: Validator class used to validate the object :type validator: :class: `Swagger20Validator` or `jsonschema.validators.Draft4Validator` :param enums: allowed enum values :type enums: list :param instance: enum instance value :param schema: swagger spec for the object :type schema: dict """ if schema.get('type') == 'array': return (v for item in instance for v in _validators.enum(validator, enums, item, schema)) return _validators.enum(validator, enums, instance, schema)