@microsoft.azure/autorest.testserver
Version:
Autorest test server.
985 lines (984 loc) • 29.5 kB
JSON
{
"swagger": "2.0",
"info": {
"title": "AutoRest Paging Test Service",
"description": "Long-running Operation for AutoRest",
"version": "1.0.0"
},
"host": "localhost:3000",
"schemes": ["http"],
"produces": ["application/json"],
"consumes": ["application/json"],
"paths": {
"/paging/noitemname": {
"get": {
"x-ms-pageable": {
"nextLinkName": "nextLink"
},
"operationId": "Paging_getNoItemNamePages",
"description": "A paging operation that must return result of the default 'value' node.",
"responses": {
"200": {
"description": "A list of products",
"schema": {
"$ref": "#/definitions/ProductResultValue"
}
},
"default": {
"description": "Unexpected error"
}
}
}
},
"/paging/emptynextlink": {
"get": {
"x-ms-pageable": {
"nextLinkName": "nextLink"
},
"operationId": "Paging_getEmptyNextLinkNamePages",
"description": "A paging operation that gets an empty next link and should stop after page 1.",
"responses": {
"200": {
"description": "A list of products",
"schema": {
"$ref": "#/definitions/ProductResultValue"
}
},
"default": {
"description": "Unexpected error"
}
}
}
},
"/paging/nullnextlink": {
"get": {
"x-ms-pageable": {
"nextLinkName": null,
"itemName": "values"
},
"operationId": "Paging_getNullNextLinkNamePages",
"description": "A paging operation that must ignore any kind of nextLink, and stop after page 1.",
"responses": {
"200": {
"description": "A list of products",
"schema": {
"$ref": "#/definitions/ProductResult"
}
},
"default": {
"description": "Unexpected error"
}
}
}
},
"/paging/single": {
"get": {
"x-ms-pageable": {
"nextLinkName": "nextLink",
"itemName": "values"
},
"operationId": "Paging_getSinglePages",
"description": "A paging operation that finishes on the first call without a nextlink",
"responses": {
"200": {
"description": "Initial response with ProvisioningState='Canceled'",
"schema": {
"$ref": "#/definitions/ProductResult"
}
},
"default": {
"description": "Unexpected error"
}
}
}
},
"/paging/single/getWithBodyParams": {
"get": {
"x-ms-pageable": {
"nextLinkName": "nextLink",
"itemName": "values"
},
"produces": ["application/json"],
"operationId": "Paging_getSinglePagesWithBodyParams",
"description": "A paging operation that finishes on the first call with body params without a nextlink",
"parameters": [
{
"name": "parameters",
"in": "body",
"description": "put {'name': 'body'} to pass the test",
"required": true,
"schema": {
"$ref": "#/definitions/BodyParam"
}
}
],
"responses": {
"200": {
"description": "Initial response with ProvisioningState='Canceled'",
"schema": {
"$ref": "#/definitions/ProductResult"
}
},
"default": {
"description": "Unexpected error"
}
}
}
},
"/paging/firstResponseEmpty/1": {
"get": {
"x-ms-pageable": {
"nextLinkName": "nextLink"
},
"operationId": "Paging_firstResponseEmpty",
"description": "A paging operation whose first response's items list is empty, but still returns a next link. Second (and final) call, will give you an items list of 1.",
"responses": {
"200": {
"description": "First call returns an empty items list, second (and final) call returns an items list of length 1.",
"schema": {
"$ref": "#/definitions/ProductResultValue"
}
},
"default": {
"description": "Unexpected error"
}
}
}
},
"/paging/multiple": {
"get": {
"x-ms-pageable": {
"nextLinkName": "nextLink",
"itemName": "values"
},
"operationId": "Paging_getMultiplePages",
"description": "A paging operation that includes a nextLink that has 10 pages",
"parameters": [
{
"name": "client-request-id",
"in": "header",
"required": false,
"type": "string"
},
{
"name": "maxresults",
"in": "header",
"required": false,
"type": "integer",
"format": "int32",
"description": "Sets the maximum number of items to return in the response.",
"x-ms-parameter-grouping": {
"postfix": "Options"
}
},
{
"name": "timeout",
"in": "header",
"required": false,
"type": "integer",
"format": "int32",
"default": 30,
"description": "Sets the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
"x-ms-parameter-grouping": {
"postfix": "Options"
}
}
],
"responses": {
"200": {
"description": "Initial response with ProvisioningState='Canceled'",
"schema": {
"$ref": "#/definitions/ProductResult"
}
},
"default": {
"description": "Unexpected error"
}
}
}
},
"/paging/multiple/getWithQueryParams": {
"get": {
"x-ms-pageable": {
"nextLinkName": "nextLink",
"itemName": "values",
"operationName": "Paging_nextOperationWithQueryParams"
},
"operationId": "Paging_getWithQueryParams",
"description": "A paging operation that includes a next operation. It has a different query parameter from it's next operation nextOperationWithQueryParams. Returns a ProductResult",
"parameters": [
{
"name": "requiredQueryParameter",
"in": "query",
"description": "A required integer query parameter. Put in value '100' to pass test.",
"required": true,
"type": "integer"
},
{
"name": "queryConstant",
"in": "query",
"description": "A constant. Must be True and will be passed as a query parameter to nextOperationWithQueryParams",
"required": true,
"type": "boolean",
"enum": [true],
"x-ms-enum": {
"modelAsString": false
}
}
],
"responses": {
"200": {
"description": "Initial response with ProvisioningState='Canceled'",
"schema": {
"$ref": "#/definitions/ProductResult"
}
},
"default": {
"description": "Unexpected error"
}
}
}
},
"/paging/multiple/duplicateParams/1": {
"get": {
"x-ms-pageable": {
"nextLinkName": "nextLink",
"itemName": "values"
},
"operationId": "Paging_duplicateParams",
"description": "Define `filter` as a query param for all calls. However, the returned next link will also include the `filter` as part of it. Make sure you don't end up duplicating the `filter` param in the url sent.",
"parameters": [
{
"name": "$filter",
"in": "query",
"description": "OData filter options. Pass in 'foo'",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "Initial response with ProvisioningState='Canceled'",
"schema": {
"$ref": "#/definitions/ProductResult"
}
},
"default": {
"description": "Unexpected error"
}
}
}
},
"/paging/maxPageSize": {
"get": {
"x-ms-pageable": {
"nextLinkName": "nextLink",
"itemName": "values"
},
"operationId": "Paging_pageWithMaxPageSize",
"description": "Paging with max page size. We don't want to ",
"parameters": [
{
"name": "$maxpagesize",
"in": "query",
"description": "Max page size query param. Don't send",
"required": false,
"type": "string",
"enum": ["5"],
"x-ms-enum": {
"name": "MaxPageSizeType",
"modelAsString": false
}
}
],
"responses": {
"200": {
"description": "Initial response with ProvisioningState='Canceled'",
"schema": {
"$ref": "#/definitions/ProductResult"
}
},
"default": {
"description": "Unexpected error"
}
}
}
},
"/paging/multiple/nextOperationWithQueryParams": {
"get": {
"x-ms-pageable": {
"nextLinkName": null,
"itemName": "values"
},
"operationId": "Paging_nextOperationWithQueryParams",
"description": "Next operation for getWithQueryParams. Pass in next=True to pass test. Returns a ProductResult",
"parameters": [
{
"name": "queryConstant",
"in": "query",
"description": "A constant. Must be True",
"required": true,
"type": "boolean",
"enum": [true],
"x-ms-enum": {
"modelAsString": false
}
}
],
"responses": {
"200": {
"description": "Initial response with ProvisioningState='Canceled'",
"schema": {
"$ref": "#/definitions/ProductResult"
}
},
"default": {
"description": "Unexpected error"
}
}
}
},
"/paging/multiple/odata": {
"get": {
"x-ms-pageable": {
"nextLinkName": "odata.nextLink",
"itemName": "values"
},
"operationId": "Paging_getOdataMultiplePages",
"description": "A paging operation that includes a nextLink in odata format that has 10 pages",
"parameters": [
{
"name": "client-request-id",
"in": "header",
"required": false,
"type": "string"
},
{
"name": "maxresults",
"in": "header",
"required": false,
"type": "integer",
"format": "int32",
"description": "Sets the maximum number of items to return in the response.",
"x-ms-parameter-grouping": {
"postfix": "Options"
}
},
{
"name": "timeout",
"in": "header",
"required": false,
"type": "integer",
"format": "int32",
"default": 30,
"description": "Sets the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
"x-ms-parameter-grouping": {
"postfix": "Options"
}
}
],
"responses": {
"200": {
"description": "Initial response with ProvisioningState='Canceled'",
"schema": {
"$ref": "#/definitions/OdataProductResult"
}
},
"default": {
"description": "Unexpected error"
}
}
}
},
"/paging/multiple/withpath/{offset}": {
"get": {
"x-ms-pageable": {
"nextLinkName": "nextLink",
"itemName": "values"
},
"operationId": "Paging_getMultiplePagesWithOffset",
"description": "A paging operation that includes a nextLink that has 10 pages",
"parameters": [
{
"name": "client-request-id",
"in": "header",
"required": false,
"type": "string"
},
{
"name": "maxresults",
"in": "header",
"required": false,
"type": "integer",
"format": "int32",
"description": "Sets the maximum number of items to return in the response.",
"x-ms-parameter-grouping": {
"postfix": "Options"
}
},
{
"name": "offset",
"in": "path",
"required": true,
"type": "integer",
"format": "int32",
"description": "Offset of return value",
"x-ms-parameter-grouping": {
"postfix": "Options"
}
},
{
"name": "timeout",
"in": "header",
"required": false,
"type": "integer",
"format": "int32",
"default": 30,
"description": "Sets the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
"x-ms-parameter-grouping": {
"postfix": "Options"
}
}
],
"responses": {
"200": {
"description": "Initial response with ProvisioningState='Canceled'",
"schema": {
"$ref": "#/definitions/ProductResult"
}
},
"default": {
"description": "Unexpected error"
}
}
}
},
"/paging/multiple/retryfirst": {
"get": {
"x-ms-pageable": {
"nextLinkName": "nextLink",
"itemName": "values"
},
"operationId": "Paging_getMultiplePagesRetryFirst",
"description": "A paging operation that fails on the first call with 500 and then retries and then get a response including a nextLink that has 10 pages",
"responses": {
"200": {
"description": "Initial response with ProvisioningState='Canceled'",
"schema": {
"$ref": "#/definitions/ProductResult"
}
},
"default": {
"description": "Unexpected error"
}
}
}
},
"/paging/multiple/retrysecond": {
"get": {
"x-ms-pageable": {
"nextLinkName": "nextLink",
"itemName": "values"
},
"operationId": "Paging_getMultiplePagesRetrySecond",
"description": "A paging operation that includes a nextLink that has 10 pages, of which the 2nd call fails first with 500. The client should retry and finish all 10 pages eventually.",
"responses": {
"200": {
"description": "Initial response with ProvisioningState='Canceled'",
"schema": {
"$ref": "#/definitions/ProductResult"
}
},
"default": {
"description": "Unexpected error"
}
}
}
},
"/paging/single/failure": {
"get": {
"x-ms-pageable": {
"nextLinkName": "nextLink",
"itemName": "values"
},
"operationId": "Paging_getSinglePagesFailure",
"description": "A paging operation that receives a 400 on the first call",
"responses": {
"200": {
"description": "Initial response with ProvisioningState='Canceled'",
"schema": {
"$ref": "#/definitions/ProductResult"
}
},
"default": {
"description": "Unexpected error"
}
}
}
},
"/paging/multiple/failure": {
"get": {
"x-ms-pageable": {
"nextLinkName": "nextLink",
"itemName": "values"
},
"operationId": "Paging_getMultiplePagesFailure",
"description": "A paging operation that receives a 400 on the second call",
"responses": {
"200": {
"description": "Initial response with ProvisioningState='Canceled'",
"schema": {
"$ref": "#/definitions/ProductResult"
}
},
"default": {
"description": "Unexpected error"
}
}
}
},
"/paging/multiple/failureuri": {
"get": {
"x-ms-pageable": {
"nextLinkName": "nextLink",
"itemName": "values"
},
"operationId": "Paging_getMultiplePagesFailureUri",
"description": "A paging operation that receives an invalid nextLink",
"responses": {
"200": {
"description": "Initial response with ProvisioningState='Canceled'",
"schema": {
"$ref": "#/definitions/ProductResult"
}
},
"default": {
"description": "Unexpected error"
}
}
}
},
"/paging/multiple/fragment/{tenant}": {
"get": {
"x-ms-pageable": {
"nextLinkName": "odata.nextLink",
"itemName": "values",
"operationName": "Paging_nextFragment"
},
"operationId": "Paging_getMultiplePagesFragmentNextLink",
"description": "A paging operation that doesn't return a full URL, just a fragment",
"parameters": [
{
"name": "api_version",
"in": "query",
"required": true,
"type": "string",
"description": "Sets the api version to use."
},
{
"name": "tenant",
"in": "path",
"required": true,
"type": "string",
"description": "Sets the tenant to use."
}
],
"responses": {
"200": {
"description": "Paging response with a fragment nextLink",
"schema": {
"$ref": "#/definitions/OdataProductResult"
}
},
"default": {
"description": "Unexpected error"
}
}
}
},
"/paging/multiple/fragmentwithgrouping/{tenant}": {
"get": {
"x-ms-pageable": {
"nextLinkName": "odata.nextLink",
"itemName": "values",
"operationName": "Paging_nextFragmentWithGrouping"
},
"operationId": "Paging_getMultiplePagesFragmentWithGroupingNextLink",
"description": "A paging operation that doesn't return a full URL, just a fragment with parameters grouped",
"parameters": [
{
"name": "api_version",
"in": "query",
"required": true,
"type": "string",
"description": "Sets the api version to use.",
"x-ms-parameter-grouping": {
"name": "custom-parameter-group"
}
},
{
"name": "tenant",
"in": "path",
"required": true,
"type": "string",
"description": "Sets the tenant to use.",
"x-ms-parameter-grouping": {
"name": "custom-parameter-group"
}
}
],
"responses": {
"200": {
"description": "Paging response with a fragment nextLink",
"schema": {
"$ref": "#/definitions/OdataProductResult"
}
},
"default": {
"description": "Unexpected error"
}
}
}
},
"/paging/multiple/lro": {
"post": {
"x-ms-pageable": {
"nextLinkName": "nextLink",
"itemName": "values"
},
"x-ms-long-running-operation": true,
"operationId": "Paging_GetMultiplePagesLRO",
"description": "A long-running paging operation that includes a nextLink that has 10 pages",
"parameters": [
{
"name": "client-request-id",
"in": "header",
"required": false,
"type": "string"
},
{
"name": "maxresults",
"in": "header",
"required": false,
"type": "integer",
"format": "int32",
"description": "Sets the maximum number of items to return in the response.",
"x-ms-parameter-grouping": {
"postfix": "Options"
}
},
{
"name": "timeout",
"in": "header",
"required": false,
"type": "integer",
"format": "int32",
"default": 30,
"description": "Sets the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds.",
"x-ms-parameter-grouping": {
"postfix": "Options"
}
}
],
"responses": {
"202": {
"description": "Operation is in progress.",
"schema": {
"$ref": "#/definitions/ProductResult"
}
},
"default": {
"description": "Unexpected error"
}
}
}
},
"/paging/apiVersion/append/1": {
"get": {
"x-ms-pageable": {
"nextLinkName": "nextLink",
"itemName": "values"
},
"operationId": "Paging_appendApiVersion",
"description": "A paging operation with api version. When calling the next link, you want to append your client's api version to the next link",
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
}
],
"responses": {
"200": {
"description": "Initial response with ProvisioningState='Canceled'",
"schema": {
"$ref": "#/definitions/ProductResult"
}
},
"default": {
"description": "Unexpected error"
}
}
}
},
"/paging/apiVersion/replace/1": {
"get": {
"x-ms-pageable": {
"nextLinkName": "nextLink",
"itemName": "values"
},
"operationId": "Paging_replaceApiVersion",
"description": "A paging operation with api version. When calling the next link, you want to reformat it and override the returned api version with your client's api version",
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
}
],
"responses": {
"200": {
"description": "Initial response with ProvisioningState='Canceled'",
"schema": {
"$ref": "#/definitions/ProductResult"
}
},
"default": {
"description": "Unexpected error"
}
}
}
}
},
"x-ms-paths": {
"/paging/multiple/fragment/{tenant}/{nextLink}": {
"get": {
"x-ms-pageable": {
"nextLinkName": "odata.nextLink",
"itemName": "values",
"operationName": "Paging_nextFragment"
},
"operationId": "Paging_nextFragment",
"description": "A paging operation that doesn't return a full URL, just a fragment",
"parameters": [
{
"name": "api_version",
"in": "query",
"required": true,
"type": "string",
"description": "Sets the api version to use."
},
{
"name": "tenant",
"in": "path",
"required": true,
"type": "string",
"description": "Sets the tenant to use."
},
{
"name": "nextLink",
"in": "path",
"required": true,
"type": "string",
"description": "Next link for list operation.",
"x-ms-skip-url-encoding": true
}
],
"responses": {
"200": {
"description": "Paging response with a fragment nextLink",
"schema": {
"$ref": "#/definitions/OdataProductResult"
}
},
"default": {
"description": "Unexpected error"
}
}
}
},
"/paging/multiple/fragmentwithgrouping/{tenant}/{nextLink}": {
"get": {
"x-ms-pageable": {
"nextLinkName": "odata.nextLink",
"itemName": "values",
"operationName": "Paging_nextFragmentWithGrouping"
},
"operationId": "Paging_nextFragmentWithGrouping",
"description": "A paging operation that doesn't return a full URL, just a fragment",
"parameters": [
{
"name": "api_version",
"in": "query",
"required": true,
"type": "string",
"description": "Sets the api version to use.",
"x-ms-parameter-grouping": {
"name": "custom-parameter-group"
}
},
{
"name": "tenant",
"in": "path",
"required": true,
"type": "string",
"description": "Sets the tenant to use.",
"x-ms-parameter-grouping": {
"name": "custom-parameter-group"
}
},
{
"name": "nextLink",
"in": "path",
"required": true,
"type": "string",
"description": "Next link for list operation.",
"x-ms-skip-url-encoding": true
}
],
"responses": {
"200": {
"description": "Paging response with a fragment nextLink",
"schema": {
"$ref": "#/definitions/OdataProductResult"
}
},
"default": {
"description": "Unexpected error"
}
}
}
},
"/paging/itemNameWithXMSClientName": {
"get": {
"x-ms-pageable": {
"nextLinkName": "nextLink",
"itemName": "values"
},
"operationId": "Paging_getPagingModelWithItemNameWithXMSClientName",
"description": "A paging operation that returns a paging model whose item name is is overriden by x-ms-client-name 'indexes'.",
"responses": {
"200": {
"description": "Returns a paging model whose item names are called 'indexes', not 'value'",
"schema": {
"$ref": "#/definitions/ProductResultValueWithXMSClientName"
}
},
"default": {
"description": "Unexpected error"
}
}
}
}
},
"parameters": {
"ApiVersionParameter": {
"name": "api-version",
"in": "query",
"required": true,
"type": "string",
"description": "Client Api Version."
}
},
"definitions": {
"ProductResultValue": {
"type": "object",
"properties": {
"value": {
"type": "array",
"items": {
"$ref": "#/definitions/Product"
}
},
"nextLink": {
"type": "string"
}
}
},
"ProductResultValueWithXMSClientName": {
"type": "object",
"properties": {
"values": {
"type": "array",
"x-ms-client-name": "Indexes",
"items": {
"$ref": "#/definitions/Product"
}
},
"nextLink": {
"type": "string"
}
}
},
"ProductResult": {
"type": "object",
"properties": {
"values": {
"type": "array",
"items": {
"$ref": "#/definitions/Product"
}
},
"nextLink": {
"type": "string"
}
}
},
"OdataProductResult": {
"type": "object",
"properties": {
"values": {
"type": "array",
"items": {
"$ref": "#/definitions/Product"
}
},
"odata.nextLink": {
"type": "string"
}
}
},
"Product": {
"type": "object",
"properties": {
"properties": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
}
}
}
},
"OperationResult": {
"type": "object",
"properties": {
"status": {
"description": "The status of the request",
"type": "string",
"enum": [
"Succeeded",
"Failed",
"canceled",
"Accepted",
"Creating",
"Created",
"Updating",
"Updated",
"Deleting",
"Deleted",
"OK"
]
}
}
},
"BodyParam": {
"type": "object",
"properties": {
"name": {
"type": "string"
}
}
}
}
}