Source code for swaggerconformance.schema._parameter

"""
Template for parameters of a Swagger-defined API operation.
"""
import logging

__all__ = ["Parameter"]


log = logging.getLogger(__name__)


[docs]class Parameter: """A Swagger API operation parameter. :param swagger_definition: The swagger spec portion defining the parameter. :type swagger_definition: schema.Primitive """ def __init__(self, swagger_definition): self._swagger_definition = swagger_definition def __repr__(self): return "{}(name={!r}, type={!r}, format={!r}, required={!r})".format( self.__class__.__name__, self.name, self.type, self.format, self.required)
[docs] def strategy(self, value_factory): """Generate a hypothesis strategy representing this parameter. :param value_factory: Factory to generate strategies for values. :type value_factory: strategies.StrategyFactory """ value_template = value_factory.produce(self._swagger_definition) return value_template.strategy()
@property def name(self): """The name of this parameter, if it has one. :rtype: str or None """ return self._swagger_definition.name @property def type(self): """The type of this parameter. :rtype: str """ return self._swagger_definition.type @property def format(self): """The format of this parameter. :rtype: str or None """ return self._swagger_definition.format @property def required(self): """Whether this parameter is required. :rtype: bool """ return self._swagger_definition.required