const ref = '\$ref';

const carsService = '''
{
    "openapi": "3.0.0",
    "info": {
        "title": "Swagger title",
        "description": "Swagger description",
        "version": "1.0.0"
    },
    "paths": {
        "/cars": {
            "put": {
                "summary": "Sends car to server",
                "requestBody": {
                    "description": "Car model",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CarModel"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Car successfuly loaded1",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CarModel"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "summary": "Sends car to server",
                "requestBody": {
                    "description": "Car model",
                    "required": true,
                    "$ref": "#/components/schemas/CarModel"
                },
                "responses": {
                    "200": {
                        "description": "Car successfuly loaded2",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CarModel"
                                }
                            }
                        }
                    }
                }
            },
            "get": {
                "summary": "Get car by id and type",
                "parameters": [
                    {
                        "name": "id",
                        "type": "String",
                        "in": "header",
                        "required": true,
                        "description": "This parameter is needed to set id of car"
                    },
                    {
                        "name": "type",
                        "type": "enum",
                        "in": "query",
                        "items": {
                            "type": "string"
                        },
                        "required": true,
                        "description": "This parameter is needed to set type of car"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Car received",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CarModel"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/cars/additional": {
            "get": {
                "summary": "Sends binary to server",
                "parameters": [
                    {
                        "name": "id",
                        "type": "String",
                        "in": "header",
                        "required": true
                    },
                    {
                        "name": "carEnumType",
                        "in": "query",
                        "type": "object",
                        "schema": {
                            "$ref": "#/components/schemas/CarType"
                        }
                    },
                    {
                        "name": "timestamp",
                        "type": "String",
                        "in": "query",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Car successfuly loaded3",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CarModel"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "summary": "Sends binary to server",
                "requestBody": {
                    "description": "Car model",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "format": "binary"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Car successfuly loaded4",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CarModel"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "summary": "Sends list of cars to server",
                "requestBody": {
                    "description": "Car model",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/CarModel"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Car successfuly loaded5",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CarModel"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/cars/optionalBody": {
            "post": {
                "summary": "Its needed to test optionalBody",
                "responses": {
                    "200": {
                        "description": "Car successfuly loaded6",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CarModel"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "summary": "Its needed to test cases with form data and body in parameter",
                "requestBody": {
                    "description": "Car model",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/CarType"
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "body",
                        "type": "String",
                        "in": "body",
                        "schema": {
                            "$ref": "#/components/schemas/CarType"
                        }
                    },
                    {
                        "name": "formData",
                        "in": "formData",
                        "type": "object",
                        "schema": {
                            "$ref": "#/components/schemas/CarType"
                        }
                    },
                    {
                        "name": "someEnumParameter",
                        "in": "query",
                        "items": {
                            "enum": [
                                "one",
                                "two",
                                "three"
                            ]
                        }
                    },
                    {
                        "name": "someEnumParameterRef",
                        "in": "query",
                        "items": {
                            "$ref": "#/components/schemas/CarType"
                        }
                    },
                    {
                        "name": "someNotEnumParameter",
                        "in": "query",
                        "items": {
                            "$ref": "#/components/schemas/CarModel"
                        }
                    },
                    {
                        "name": "parameterWithSchemaItemsRef",
                        "in": "query",
                        "schema": {
                            "items": {
                                "$ref": "#/components/schemas/CarModel"
                            }
                        }
                    },
                    {
                        "name": "parameterWithSchemaItemsEnumRef",
                        "in": "query",
                        "schema": {
                            "items": {
                                "$ref": "#/components/schemas/CarType"
                            }
                        }
                    },
                    {
                        "name": "parameterWithSchemaRefNotEnum",
                        "in": "query",
                        "schema": {
                            "$ref": "#/components/schemas/CarModel"
                        }
                    },
                    {
                        "name": "parameterWithSchemaRefArray",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "$ref": "#/components/schemas/CarModel"
                        }
                    },
                    {
                        "name": "parameterWithSchemaTypeArray",
                        "in": "query",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "parameterWithSchemaAnyOf",
                        "in": "query",
                        "schema": {
                            "anyOf": [
                                {
                                    "type": "string"
                                }
                            ]
                        }
                    },
                    {
                        "name": "somethingReallyBad",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Car successfuly loaded7",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CarModel"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/cars/postCarExamples": {
            "post": {
                "summary": "Its needed to test optionalBody",
                "requestBody": {
                    "description": "Car model",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "items": {
                                    "$ref": "#/components/schemas/CarType"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Car successfuly loaded8",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CarModel"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/cars/schemaRefBody": {
            "get": {
                "summary": "Overwritten response",
                "responses": {
                    "202": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CarType"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "summary": "Its needed to test optionalBody",
                "requestBody": {
                    "description": "Car model",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CarType"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Car successfuly loaded9",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CarModel"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "summary": "Its needed to test optionalBody",
                "requestBody": {
                    "description": "Car model",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CarType"
                            }
                        }
                    }
                },
                "responses": {
                    "202": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CarType"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/cars/returnTypeTests": {
            "get": {
                "summary": "Overwritten response",
                "responses": {
                    "202": {
                        "description": "Success",
                        "schema": {
                            "type": "object",
                            "properties": {
                                "id": {
                                    "type": "string"
                                },
                                "type": {
                                    "type": "enum",
                                    "name": "String",
                                    "items": {
                                        "type": "string"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "summary": "Overwritten response POST",
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/components/schemas/CarType"
                            }
                        }
                    }
                }
            },
            "put": {
                "summary": "Overwritten response POST",
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "type": "String"
                        }
                    }
                }
            }
        },
        "/cars/returnTypeSchema": {
            "get": {
                "summary": "Return type schema",
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "items": {
                                "$ref": "#/components/schemas/CarModel"
                            }
                        }
                    }
                }
            },
            "post": {
                "summary": "Return type schema",
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/components/responses/CarModelResponse"
                        }
                    }
                }
            },
            "put": {
                "summary": "Return type schema",
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/components/responses/CarModel"
                        }
                    }
                }
            }
        },
        "/cars/returnTypeOriginalRef": {
            "get": {
                "summary": "Return type originalRef",
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "originalRef": "CarModel"
                        }
                    }
                }
            }
        },
        "/cars/returnTypeByContent": {
            "get": {
                "summary": "Return type by content",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "$ref": "#/components/responses/CarModel"
                            }
                        }
                    }
                }
            },
            "put": {
                "summary": "Return type by content",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ListOfCars"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "summary": "Return type by content",
                "responses": {
                    "200": {
                        "description": "Success with original ref",
                        "schema": {
                            "items": {
                                "originalRef": "CarModel"
                            }
                        },
                        "content": {
                            "application/json": {
                                "responseType": "array"
                            }
                        }
                    }
                }
            }
        },
        "/cars/returnTypeContentItemsRef": {
            "get": {
                "summary": "Return type by content",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "items": {
                                    "$ref": "#/components/responses/CarModel"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "summary": "Return type by content",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "items": {
                                        "$ref": "#/components/responses/CarModel"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "summary": "Return type by content",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/cars/veryBadResponse": {
            "get": {
                "summary": "Return type by content",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {}
                        }
                    }
                }
            },
            "put": {
                "summary": "Return type by content",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "responseType": "string"
                            }
                        }
                    }
                }
            }
        },
        "/cars/responseWithAbsendRef": {
            "put": {
                "summary": "Sends car to server not existing ref",
                "requestBody": {
                    "description": "Car model",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CarModel"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Car successfuly loaded1",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CarMNotExistingCarModelodel"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "summary": "Request body with default type",
                "requestBody": {
                    "description": "Car model",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/CarModelSimple"
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/components/responses/CarType"
                        }
                    }
                }
            }
        },
        "/cars/oneMoreRequestBody": {
            "put": {
                "summary": "Sends car to server",
                "requestBody": {
                    "description": "Car model",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CarModelSimple"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/components/responses/NotExistingCarResponse"
                        }
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "CarModelSimple": {
                "type": "string"
            },
            "CarModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "type": {
                        "type": "enum",
                        "name": "String",
                        "items": {
                            "type": "string"
                        }
                    }
                }
            },
            "ListOfCars": {
                "type": "array",
                "items": {
                    "type": "String"
                }
            },
            "CarType": {
                "type": "string",
                "enum": [
                    "one",
                    "two",
                    "three"
                ]
            }
        },
        "requestBodies": {
            "CarModel": {
                "type": "object",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/CarModel"
                        }
                    }
                }
            }
        },
        "responses": {
            "CarModelResponse": {
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/CarModel"
                        }
                    }
                }
            }
        }
    }
}
''';
