import pytest from openapi_parser.builders import HeaderBuilder, SchemaFactory from openapi_parser.enumeration import DataType from openapi_parser.specification import Header, Integer, Schema, String def _get_schema_factory_mock(expected_value: Schema) -> SchemaFactory: mock_object = MagicMock() mock_object.create.return_value = expected_value return mock_object string_schema = String(type=DataType.STRING) integer_schema = Integer(type=DataType.INTEGER) collection_data_provider = ( ({ "X-Header": { "schema": { "type": "string" } } }, [ Header(schema=string_schema, name="X-Header"), ], _get_schema_factory_mock(string_schema)), ({ "X-Header": { "description":
response_schema = Response(code=200, description="Pet updated.", content=[ Content(type=ContentType.JSON, schema=Object(type=DataType.OBJECT)) ]) parameter_list = [ Parameter( name="petId", location=ParameterLocation.PATH, description="ID of pet that needs to be updated", required=True, schema=String(type=DataType.STRING), ) ] external_doc = ExternalDoc(description="Find more info here", url="https://example.com") request_body = RequestBody(content=[ Content(type=ContentType.FORM, schema=Object( type=DataType.OBJECT, required=["status"], properties=[ Property(name="name", schema=String( type=DataType.STRING,
def _get_builder_mock(expected_value: Any) -> Union[ContentBuilder, HeaderBuilder]: mock_object = MagicMock() mock_object.build_list.return_value = expected_value return mock_object content_schema = [ Content( type=ContentType.JSON, schema=Object( type=DataType.OBJECT, properties=[ Property(name="login", schema=String(type=DataType.STRING)) ] ) ) ] header_schema = [ Header( name="X-Rate-Limit-Limit", description="The number of allowed requests in the current period", schema=Integer(type=DataType.INTEGER) ) ] data_provider = ( (
"type": "string", "maxLength": 1, "minLength": 0, "pattern": "[0-9]", "format": "uuid", }, { "type": "integer", "format": "int32", }], }, OneOf(type=DataType.ONE_OF, schemas=[ String( type=DataType.STRING, max_length=1, min_length=0, pattern="[0-9]", format=StringFormat.UUID, ), Integer( type=DataType.INTEGER, format=IntegerFormat.INT32, ), ])), ({ "oneOf": [{ "type": "string", "maxLength": 1, "minLength": 0, "pattern": "[0-9]", "format": "uuid",
def _get_builder_mock(expected_value): mock_object = MagicMock() mock_object.build.return_value = expected_value return mock_object def _get_builder_list_mock(expected_value): mock_object = MagicMock() mock_object.build_list.return_value = expected_value return mock_object array_schema = Array(type=DataType.ARRAY, items=String(type=DataType.STRING)) parameters_list = [ Parameter( name="id", location=ParameterLocation.PATH, description="ID of pet to use", required=True, schema=array_schema ) ] operation_object = Operation( method=OperationMethod.GET, description="Returns pets based on ID", summary="Find pets by ID",