swaggerconformance.strategies.primitivestrategies module¶
Strategies for values of various data types.
-
class
swaggerconformance.strategies.primitivestrategies.PrimitiveStrategy(swagger_definition, factory)[source]¶ Bases:
objectStrategy for a single value of any specified type.
Parameters: - swagger_definition (schema.Primitive) – The Swagger spec for this parameter.
- factory (strategies.StrategyFactory) – The factory used to generate child
PrimitiveStrategys.
-
class
swaggerconformance.strategies.primitivestrategies.BooleanStrategy(swagger_definition, factory)[source]¶ Bases:
swaggerconformance.strategies.primitivestrategies.PrimitiveStrategyStrategy for a Boolean value.
-
class
swaggerconformance.strategies.primitivestrategies.NumericStrategy(swagger_definition, factory)[source]¶ Bases:
swaggerconformance.strategies.primitivestrategies.PrimitiveStrategyAbstract template for a numeric value.
-
class
swaggerconformance.strategies.primitivestrategies.IntegerStrategy(swagger_definition, factory)[source]¶ Bases:
swaggerconformance.strategies.primitivestrategies.NumericStrategyStrategy for an integer value.
-
class
swaggerconformance.strategies.primitivestrategies.FloatStrategy(swagger_definition, factory)[source]¶ Bases:
swaggerconformance.strategies.primitivestrategies.NumericStrategyStrategy for a floating point value.
-
class
swaggerconformance.strategies.primitivestrategies.StringStrategy(swagger_definition, factory, blacklist_chars=None)[source]¶ Bases:
swaggerconformance.strategies.primitivestrategies.PrimitiveStrategyStrategy for a string value.
-
class
swaggerconformance.strategies.primitivestrategies.URLPathStringStrategy(swagger_definition, factory)[source]¶ Bases:
swaggerconformance.strategies.primitivestrategies.StringStrategyStrategy for a string value which must be valid in a URL path.
-
class
swaggerconformance.strategies.primitivestrategies.HTTPHeaderStringStrategy(swagger_definition, factory)[source]¶ Bases:
swaggerconformance.strategies.primitivestrategies.StringStrategyStrategy for a string value which must be valid in a HTTP header.
-
class
swaggerconformance.strategies.primitivestrategies.XFieldsHeaderStringStrategy(swagger_definition, factory)[source]¶ Bases:
swaggerconformance.strategies.primitivestrategies.PrimitiveStrategyStrategy for a string value which must be valid in the X-Fields header.
The
X-Fieldsparameter lets you specify a mask of fields to be returned by the application. The format is a comma-separated list of fields to return, enclosed by curly-brackets, which can be nested. So for example:{name, age, pets{name}}. There is also a special value of*meaning ‘all remaining fields’, and it can be provided alone as*or inserted into a mask of the above format instead of a field name.We could generate random values for this header that match the allowed syntax, but:
- as far as I can see, this field is a
Flast-RESTPlusspecial, - this is implemented by the Swagger API framework, so not exciting to exercise,
- there’s a risk of just generating values which are rejected continually and so reducing the effectiveness of the testing of other fields.
Therefore, we just return either
''or*for this parameter as they are safe values that shouldn’t interfere with other testing.- as far as I can see, this field is a
-
class
swaggerconformance.strategies.primitivestrategies.DateStrategy(swagger_definition, factory)[source]¶ Bases:
swaggerconformance.strategies.primitivestrategies.PrimitiveStrategyStrategy for a Date value.
-
class
swaggerconformance.strategies.primitivestrategies.DateTimeStrategy(swagger_definition, factory)[source]¶ Bases:
swaggerconformance.strategies.primitivestrategies.PrimitiveStrategyStrategy for a Date-Time value.
-
class
swaggerconformance.strategies.primitivestrategies.UUIDStrategy(swagger_definition, factory)[source]¶ Bases:
swaggerconformance.strategies.primitivestrategies.PrimitiveStrategyStrategy for a UUID value.
-
class
swaggerconformance.strategies.primitivestrategies.FileStrategy(swagger_definition, factory)[source]¶ Bases:
swaggerconformance.strategies.primitivestrategies.PrimitiveStrategyStrategy for a File value.
-
class
swaggerconformance.strategies.primitivestrategies.ArrayStrategy(swagger_definition, factory)[source]¶ Bases:
swaggerconformance.strategies.primitivestrategies.PrimitiveStrategyStrategy for an array collection.
-
class
swaggerconformance.strategies.primitivestrategies.ObjectStrategy(swagger_definition, factory)[source]¶ Bases:
swaggerconformance.strategies.primitivestrategies.PrimitiveStrategyStrategy for a JSON object collection.
MAX_ADDITIONAL_PROPERTIESis a limit on the number of additional properties to add to objects. Setting this too high might cause data generation to time out.-
MAX_ADDITIONAL_PROPERTIES= 5¶
-
strategy()[source]¶ Return a hypothesis strategy defining this collection, including random additional properties if the object supports them.
Will add only up to
MAX_ADDITIONAL_PROPERTIESextra values to prevent data generation taking too long and timing out.Parameters:
-