From fc1ccf66dcc8ebbe4b3ecb671eb586f77d04af2e Mon Sep 17 00:00:00 2001 From: martincostello Date: Wed, 27 Nov 2024 12:27:59 +0000 Subject: [PATCH] Drop .NET 6 Drop support for .NET 6. Resolves #3087. --- Directory.Build.props | 2 +- README.md | 2 +- .../Swashbuckle.AspNetCore.Annotations.csproj | 2 +- ...hbuckle.AspNetCore.ApiTesting.Xunit.csproj | 2 +- .../Swashbuckle.AspNetCore.ApiTesting.csproj | 6 +- .../Swashbuckle.AspNetCore.Cli.csproj | 2 +- .../Swashbuckle.AspNetCore.Newtonsoft.csproj | 6 +- .../Swashbuckle.AspNetCore.ReDoc.csproj | 2 +- .../Swashbuckle.AspNetCore.Swagger.csproj | 2 +- .../Swashbuckle.AspNetCore.SwaggerGen.csproj | 2 +- .../Swashbuckle.AspNetCore.SwaggerUI.csproj | 2 +- .../Swashbuckle.AspNetCore.csproj | 2 +- ...hbuckle.AspNetCore.Annotations.Test.csproj | 2 +- ...shbuckle.AspNetCore.ApiTesting.Test.csproj | 2 +- .../Swashbuckle.AspNetCore.Cli.Test.csproj | 2 +- ....Startup_swaggerRequestUri=v1.verified.txt | 1636 ----------------- ....Startup_swaggerRequestUri=v1.verified.txt | 225 --- .../SwaggerVerifyIntegrationTest.cs | 17 - ...hbuckle.AspNetCore.IntegrationTests.csproj | 2 +- ...shbuckle.AspNetCore.Newtonsoft.Test.csproj | 2 +- ...shbuckle.AspNetCore.SwaggerGen.Test.csproj | 2 +- .../Swashbuckle.AspNetCore.TestSupport.csproj | 2 +- test/WebSites/Basic/Basic.csproj | 2 +- test/WebSites/CliExample/CliExample.csproj | 2 +- .../wwwroot/swagger/v1/swagger_net6.0.json | 54 - .../wwwroot/swagger/v1/swagger_net7.0.json | 54 - .../CliExampleWithFactory.csproj | 2 +- .../wwwroot/swagger/v1/swagger_net6.0.json | 54 - .../wwwroot/swagger/v1/swagger_net7.0.json | 54 - .../ConfigFromFile/ConfigFromFile.csproj | 2 +- .../CustomDocumentSerializer.csproj | 2 +- .../CustomUIConfig/CustomUIConfig.csproj | 2 +- .../CustomUIIndex/CustomUIIndex.csproj | 2 +- .../GenericControllers.csproj | 2 +- test/WebSites/MinimalApp/MinimalApp.csproj | 2 +- .../MinimalAppWithHostedServices.csproj | 2 +- .../MultipleVersions/MultipleVersions.csproj | 2 +- .../NswagClientExample.csproj | 2 +- .../NswagClientExample/swagger_net6.0.json | 230 --- .../OAuth2Integration.csproj | 2 +- test/WebSites/ReDoc/ReDoc.csproj | 2 +- .../TestFirst.IntegrationTests.csproj | 2 +- test/WebSites/TestFirst/TestFirst.csproj | 2 +- .../TopLevelSwaggerDoc.csproj | 2 +- 44 files changed, 36 insertions(+), 2368 deletions(-) delete mode 100644 test/Swashbuckle.AspNetCore.IntegrationTests/SwaggerVerifyIntegrationTest.SwaggerEndpoint_ReturnsValidSwaggerJson_DotNet6_startupType=Basic.Startup_swaggerRequestUri=v1.verified.txt delete mode 100644 test/Swashbuckle.AspNetCore.IntegrationTests/SwaggerVerifyIntegrationTest.SwaggerEndpoint_ReturnsValidSwaggerJson_DotNet6_startupType=NSwagClientExample.Startup_swaggerRequestUri=v1.verified.txt delete mode 100644 test/WebSites/CliExample/wwwroot/swagger/v1/swagger_net6.0.json delete mode 100644 test/WebSites/CliExample/wwwroot/swagger/v1/swagger_net7.0.json delete mode 100644 test/WebSites/CliExampleWithFactory/wwwroot/swagger/v1/swagger_net6.0.json delete mode 100644 test/WebSites/CliExampleWithFactory/wwwroot/swagger/v1/swagger_net7.0.json delete mode 100644 test/WebSites/NswagClientExample/swagger_net6.0.json diff --git a/Directory.Build.props b/Directory.Build.props index 431849fe9b..eb42082258 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -42,7 +42,7 @@ snupkg true true - 7.2.0 + 8.0.0 false diff --git a/README.md b/README.md index c14458e76e..9911b323d7 100644 --- a/README.md +++ b/README.md @@ -1631,7 +1631,7 @@ Once your application has been setup with Swashbuckle (see [Getting Started](#ge It's packaged as a [.NET Tool](https://learn.microsoft.com/dotnet/core/tools/global-tools) that can be installed and used via the dotnet SDK. -> :warning: The tool needs to load your Startup DLL and its dependencies at runtime. Therefore, you should use a version of the `dotnet` SDK that is compatible with your application. For example, if your app targets `net6.0`, then you should use version 6.0.xxx of the SDK to run the CLI tool. If it targets `net8.0`, then you should use version 8.0.xxx of the SDK and so on. +> :warning: The tool needs to load your Startup DLL and its dependencies at runtime. Therefore, you should use a version of the `dotnet` SDK that is compatible with your application. For example, if your app targets `net8.0`, then you should use version 8.0.xxx of the SDK to run the CLI tool. If it targets `net8.0`, then you should use version 8.0.xxx of the SDK and so on. #### Using the tool with the .NET SDK diff --git a/src/Swashbuckle.AspNetCore.Annotations/Swashbuckle.AspNetCore.Annotations.csproj b/src/Swashbuckle.AspNetCore.Annotations/Swashbuckle.AspNetCore.Annotations.csproj index c5ae6716cd..5c3380476a 100644 --- a/src/Swashbuckle.AspNetCore.Annotations/Swashbuckle.AspNetCore.Annotations.csproj +++ b/src/Swashbuckle.AspNetCore.Annotations/Swashbuckle.AspNetCore.Annotations.csproj @@ -8,7 +8,7 @@ $(NoWarn);1591 swagger;documentation;discovery;help;webapi;aspnet;aspnetcore;annotations true - net9.0;net8.0;net6.0;netstandard2.0 + net9.0;net8.0;netstandard2.0 diff --git a/src/Swashbuckle.AspNetCore.ApiTesting.Xunit/Swashbuckle.AspNetCore.ApiTesting.Xunit.csproj b/src/Swashbuckle.AspNetCore.ApiTesting.Xunit/Swashbuckle.AspNetCore.ApiTesting.Xunit.csproj index 46c4f17b3e..83bb4190c0 100644 --- a/src/Swashbuckle.AspNetCore.ApiTesting.Xunit/Swashbuckle.AspNetCore.ApiTesting.Xunit.csproj +++ b/src/Swashbuckle.AspNetCore.ApiTesting.Xunit/Swashbuckle.AspNetCore.ApiTesting.Xunit.csproj @@ -7,7 +7,7 @@ false $(NoWarn);1591 swagger;openapi;test-first;spec-first;testing;aspnetcore;xunit - net9.0;net8.0;net6.0;netstandard2.0 + net9.0;net8.0;netstandard2.0 diff --git a/src/Swashbuckle.AspNetCore.ApiTesting/Swashbuckle.AspNetCore.ApiTesting.csproj b/src/Swashbuckle.AspNetCore.ApiTesting/Swashbuckle.AspNetCore.ApiTesting.csproj index 2ecfdab0ff..d49e4d4520 100644 --- a/src/Swashbuckle.AspNetCore.ApiTesting/Swashbuckle.AspNetCore.ApiTesting.csproj +++ b/src/Swashbuckle.AspNetCore.ApiTesting/Swashbuckle.AspNetCore.ApiTesting.csproj @@ -6,7 +6,7 @@ true $(NoWarn);1591 swagger;openapi;test-first;spec-first;testing;aspnetcore - net9.0;net8.0;net6.0;netstandard2.0 + net9.0;net8.0;netstandard2.0 @@ -19,10 +19,6 @@ - - - - diff --git a/src/Swashbuckle.AspNetCore.Cli/Swashbuckle.AspNetCore.Cli.csproj b/src/Swashbuckle.AspNetCore.Cli/Swashbuckle.AspNetCore.Cli.csproj index 0a97878a03..94e7fc8c13 100644 --- a/src/Swashbuckle.AspNetCore.Cli/Swashbuckle.AspNetCore.Cli.csproj +++ b/src/Swashbuckle.AspNetCore.Cli/Swashbuckle.AspNetCore.Cli.csproj @@ -7,7 +7,7 @@ Exe true Swashbuckle.AspNetCore.Cli - net9.0;net8.0;net6.0 + net9.0;net8.0 swagger diff --git a/src/Swashbuckle.AspNetCore.Newtonsoft/Swashbuckle.AspNetCore.Newtonsoft.csproj b/src/Swashbuckle.AspNetCore.Newtonsoft/Swashbuckle.AspNetCore.Newtonsoft.csproj index a1b44793d4..50cdf8d789 100644 --- a/src/Swashbuckle.AspNetCore.Newtonsoft/Swashbuckle.AspNetCore.Newtonsoft.csproj +++ b/src/Swashbuckle.AspNetCore.Newtonsoft/Swashbuckle.AspNetCore.Newtonsoft.csproj @@ -6,7 +6,7 @@ true swagger;documentation;discovery;help;webapi;aspnet;aspnetcore;newtonsoft true - net9.0;net8.0;net6.0;netstandard2.0 + net9.0;net8.0;netstandard2.0 @@ -17,10 +17,6 @@ - - - - diff --git a/src/Swashbuckle.AspNetCore.ReDoc/Swashbuckle.AspNetCore.ReDoc.csproj b/src/Swashbuckle.AspNetCore.ReDoc/Swashbuckle.AspNetCore.ReDoc.csproj index 9984ac5e3f..cb39557967 100644 --- a/src/Swashbuckle.AspNetCore.ReDoc/Swashbuckle.AspNetCore.ReDoc.csproj +++ b/src/Swashbuckle.AspNetCore.ReDoc/Swashbuckle.AspNetCore.ReDoc.csproj @@ -8,7 +8,7 @@ $(NoWarn);1591 swagger;documentation;discovery;help;webapi;aspnet;aspnetcore;redoc true - net9.0;net8.0;net6.0;netstandard2.0 + net9.0;net8.0;netstandard2.0 true diff --git a/src/Swashbuckle.AspNetCore.Swagger/Swashbuckle.AspNetCore.Swagger.csproj b/src/Swashbuckle.AspNetCore.Swagger/Swashbuckle.AspNetCore.Swagger.csproj index 377aff8931..4108282405 100644 --- a/src/Swashbuckle.AspNetCore.Swagger/Swashbuckle.AspNetCore.Swagger.csproj +++ b/src/Swashbuckle.AspNetCore.Swagger/Swashbuckle.AspNetCore.Swagger.csproj @@ -8,7 +8,7 @@ $(NoWarn);1591 swagger;documentation;discovery;help;webapi;aspnet;aspnetcore true - net9.0;net8.0;net6.0;netstandard2.0 + net9.0;net8.0;netstandard2.0 true diff --git a/src/Swashbuckle.AspNetCore.SwaggerGen/Swashbuckle.AspNetCore.SwaggerGen.csproj b/src/Swashbuckle.AspNetCore.SwaggerGen/Swashbuckle.AspNetCore.SwaggerGen.csproj index aa81b0be06..172d4c9474 100644 --- a/src/Swashbuckle.AspNetCore.SwaggerGen/Swashbuckle.AspNetCore.SwaggerGen.csproj +++ b/src/Swashbuckle.AspNetCore.SwaggerGen/Swashbuckle.AspNetCore.SwaggerGen.csproj @@ -8,7 +8,7 @@ $(NoWarn);1591 swagger;documentation;discovery;help;webapi;aspnet;aspnetcore true - net9.0;net8.0;net6.0;netstandard2.0 + net9.0;net8.0;netstandard2.0 diff --git a/src/Swashbuckle.AspNetCore.SwaggerUI/Swashbuckle.AspNetCore.SwaggerUI.csproj b/src/Swashbuckle.AspNetCore.SwaggerUI/Swashbuckle.AspNetCore.SwaggerUI.csproj index cc5d26da16..4bbd481eb3 100644 --- a/src/Swashbuckle.AspNetCore.SwaggerUI/Swashbuckle.AspNetCore.SwaggerUI.csproj +++ b/src/Swashbuckle.AspNetCore.SwaggerUI/Swashbuckle.AspNetCore.SwaggerUI.csproj @@ -8,7 +8,7 @@ $(NoWarn);1591 swagger;documentation;discovery;help;webapi;aspnet;aspnetcore true - net9.0;net8.0;net6.0;netstandard2.0 + net9.0;net8.0;netstandard2.0 true diff --git a/src/Swashbuckle.AspNetCore/Swashbuckle.AspNetCore.csproj b/src/Swashbuckle.AspNetCore/Swashbuckle.AspNetCore.csproj index a13077a82e..d2eeaecfbf 100644 --- a/src/Swashbuckle.AspNetCore/Swashbuckle.AspNetCore.csproj +++ b/src/Swashbuckle.AspNetCore/Swashbuckle.AspNetCore.csproj @@ -13,7 +13,7 @@ $(MSBuildProjectName).nuspec Swashbuckle.AspNetCore swagger;documentation;discovery;help;webapi;aspnet;aspnetcore - net9.0;net8.0;net6.0;netstandard2.0 + net9.0;net8.0;netstandard2.0 diff --git a/test/Swashbuckle.AspNetCore.Annotations.Test/Swashbuckle.AspNetCore.Annotations.Test.csproj b/test/Swashbuckle.AspNetCore.Annotations.Test/Swashbuckle.AspNetCore.Annotations.Test.csproj index 55095073dd..633f05fd2b 100644 --- a/test/Swashbuckle.AspNetCore.Annotations.Test/Swashbuckle.AspNetCore.Annotations.Test.csproj +++ b/test/Swashbuckle.AspNetCore.Annotations.Test/Swashbuckle.AspNetCore.Annotations.Test.csproj @@ -1,7 +1,7 @@  - net9.0;net8.0;net6.0 + net9.0;net8.0 diff --git a/test/Swashbuckle.AspNetCore.ApiTesting.Test/Swashbuckle.AspNetCore.ApiTesting.Test.csproj b/test/Swashbuckle.AspNetCore.ApiTesting.Test/Swashbuckle.AspNetCore.ApiTesting.Test.csproj index 7bbd1da8b5..4e75f9981a 100644 --- a/test/Swashbuckle.AspNetCore.ApiTesting.Test/Swashbuckle.AspNetCore.ApiTesting.Test.csproj +++ b/test/Swashbuckle.AspNetCore.ApiTesting.Test/Swashbuckle.AspNetCore.ApiTesting.Test.csproj @@ -1,7 +1,7 @@  - net9.0;net8.0;net6.0 + net9.0;net8.0 diff --git a/test/Swashbuckle.AspNetCore.Cli.Test/Swashbuckle.AspNetCore.Cli.Test.csproj b/test/Swashbuckle.AspNetCore.Cli.Test/Swashbuckle.AspNetCore.Cli.Test.csproj index 95477f35e6..d092c5648d 100644 --- a/test/Swashbuckle.AspNetCore.Cli.Test/Swashbuckle.AspNetCore.Cli.Test.csproj +++ b/test/Swashbuckle.AspNetCore.Cli.Test/Swashbuckle.AspNetCore.Cli.Test.csproj @@ -1,7 +1,7 @@  - net9.0;net8.0;net6.0 + net9.0;net8.0 diff --git a/test/Swashbuckle.AspNetCore.IntegrationTests/SwaggerVerifyIntegrationTest.SwaggerEndpoint_ReturnsValidSwaggerJson_DotNet6_startupType=Basic.Startup_swaggerRequestUri=v1.verified.txt b/test/Swashbuckle.AspNetCore.IntegrationTests/SwaggerVerifyIntegrationTest.SwaggerEndpoint_ReturnsValidSwaggerJson_DotNet6_startupType=Basic.Startup_swaggerRequestUri=v1.verified.txt deleted file mode 100644 index 02d5b65bb5..0000000000 --- a/test/Swashbuckle.AspNetCore.IntegrationTests/SwaggerVerifyIntegrationTest.SwaggerEndpoint_ReturnsValidSwaggerJson_DotNet6_startupType=Basic.Startup_swaggerRequestUri=v1.verified.txt +++ /dev/null @@ -1,1636 +0,0 @@ -{ - "openapi": "3.0.1", - "info": { - "title": "Test API V1", - "description": "A sample API for testing Swashbuckle", - "termsOfService": "http://tempuri.org/terms", - "version": "v1" - }, - "paths": { - "/products": { - "post": { - "tags": [ - "CrudActions" - ], - "summary": "Creates a product", - "description": "## Heading 1\r\n\r\n POST /products\r\n {\r\n \"id\": \"123\",\r\n \"description\": \"Some product\"\r\n }", - "operationId": "CreateProduct", - "requestBody": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Product" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/Product" - } - }, - "application/*+json": { - "schema": { - "$ref": "#/components/schemas/Product" - } - } - }, - "required": true, - "x-purpose": "test" - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Product" - } - } - } - } - }, - "x-purpose": "test" - }, - "get": { - "tags": [ - "CrudActions" - ], - "summary": "Searches the collection of products by description key words", - "operationId": "SearchProducts", - "parameters": [ - { - "name": "kw", - "in": "query", - "description": "A list of search terms", - "schema": { - "type": "string", - "default": "foobar" - }, - "example": "hello" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Product" - } - } - } - } - } - }, - "x-purpose": "test" - } - }, - "/products/{id}": { - "get": { - "tags": [ - "CrudActions" - ], - "summary": "Returns a specific product", - "operationId": "GetProduct", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The product id", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - }, - "example": 111 - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Product" - } - } - } - } - }, - "x-purpose": "test" - }, - "put": { - "tags": [ - "CrudActions" - ], - "summary": "Updates all properties of a specific product", - "operationId": "UpdateProduct", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - }, - "example": 222 - } - ], - "requestBody": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Product" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/Product" - } - }, - "application/*+json": { - "schema": { - "$ref": "#/components/schemas/Product" - } - } - }, - "required": true, - "x-purpose": "test" - }, - "responses": { - "200": { - "description": "OK" - } - }, - "x-purpose": "test" - }, - "patch": { - "tags": [ - "CrudActions" - ], - "summary": "Updates some properties of a specific product", - "operationId": "PatchProduct", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - }, - "example": 333 - } - ], - "requestBody": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": { } - } - }, - "text/json": { - "schema": { - "type": "object", - "additionalProperties": { } - } - }, - "application/*+json": { - "schema": { - "type": "object", - "additionalProperties": { } - } - } - }, - "required": true, - "x-purpose": "test" - }, - "responses": { - "200": { - "description": "OK" - } - }, - "x-purpose": "test" - }, - "delete": { - "tags": [ - "CrudActions" - ], - "summary": "Deletes a specific product", - "operationId": "DeleteProduct", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - }, - "example": 444 - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-purpose": "test" - } - }, - "/payments/authorize": { - "post": { - "tags": [ - "DataAnnotations" - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PaymentRequest" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/PaymentRequest" - } - }, - "application/*+json": { - "schema": { - "$ref": "#/components/schemas/PaymentRequest" - } - } - }, - "required": true, - "x-purpose": "test" - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "string" - } - } - } - } - }, - "x-purpose": "test" - } - }, - "/payments/{paymentId}/cancel": { - "put": { - "tags": [ - "DataAnnotations" - ], - "parameters": [ - { - "name": "paymentId", - "in": "path", - "required": true, - "schema": { - "minLength": 6, - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-purpose": "test" - } - }, - "/kittens": { - "post": { - "tags": [ - "DynamicTypes" - ], - "requestBody": { - "content": { - "application/json": { - "schema": { } - }, - "text/json": { - "schema": { } - }, - "application/*+json": { - "schema": { } - } - }, - "x-purpose": "test" - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "integer", - "format": "int32" - } - } - } - } - }, - "x-purpose": "test" - } - }, - "/unicorns": { - "get": { - "tags": [ - "DynamicTypes" - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": { } - } - } - } - } - }, - "x-purpose": "test" - } - }, - "/dragons": { - "post": { - "tags": [ - "DynamicTypes" - ], - "requestBody": { - "content": { - "application/json": { - "schema": { } - }, - "text/json": { - "schema": { } - }, - "application/*+json": { - "schema": { } - } - }, - "x-purpose": "test" - }, - "responses": { - "200": { - "description": "OK" - } - }, - "x-purpose": "test" - } - }, - "/files/single": { - "post": { - "tags": [ - "Files" - ], - "requestBody": { - "content": { - "multipart/form-data": { - "schema": { - "type": "object", - "properties": { - "file": { - "type": "string", - "format": "binary" - } - } - }, - "encoding": { - "file": { - "style": "form" - } - } - } - }, - "x-purpose": "test" - }, - "responses": { - "200": { - "description": "OK" - } - }, - "x-purpose": "test" - } - }, - "/files/multiple": { - "post": { - "tags": [ - "Files" - ], - "requestBody": { - "content": { - "multipart/form-data": { - "schema": { - "type": "object", - "properties": { - "files": { - "type": "array", - "items": { - "type": "string", - "format": "binary" - } - } - } - }, - "encoding": { - "files": { - "style": "form" - } - } - } - }, - "x-purpose": "test" - }, - "responses": { - "200": { - "description": "OK" - } - }, - "x-purpose": "test" - } - }, - "/files/form-with-file": { - "post": { - "tags": [ - "Files" - ], - "requestBody": { - "content": { - "multipart/form-data": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "file": { - "type": "string", - "format": "binary" - } - } - }, - "encoding": { - "name": { - "style": "form" - }, - "file": { - "style": "form" - } - } - } - }, - "x-purpose": "test" - }, - "responses": { - "200": { - "description": "OK" - } - }, - "x-purpose": "test" - } - }, - "/files/{name}": { - "get": { - "tags": [ - "Files" - ], - "parameters": [ - { - "name": "name", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "text/plain": { - "schema": { - "oneOf": [ - { - "type": "string", - "format": "binary" - }, - { - "type": "string", - "format": "binary" - }, - { - "type": "string", - "format": "binary" - }, - { - "type": "string", - "format": "binary" - } - ] - } - }, - "application/zip": { - "schema": { - "oneOf": [ - { - "type": "string", - "format": "binary" - }, - { - "type": "string", - "format": "binary" - }, - { - "type": "string", - "format": "binary" - }, - { - "type": "string", - "format": "binary" - } - ] - } - } - } - } - }, - "x-purpose": "test" - } - }, - "/registrations": { - "post": { - "tags": [ - "FromFormParams" - ], - "summary": "Form parameters with description", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Summary for Name", - "example": "MyName" - }, - "phoneNumbers": { - "type": "array", - "items": { - "type": "integer", - "format": "int32" - }, - "description": "Sumary for PhoneNumbers" - }, - "formFile": { - "type": "string", - "description": "Description for file", - "format": "binary" - }, - "text": { - "type": "string", - "description": "Description for Text" - } - } - }, - "encoding": { - "name": { - "style": "form" - }, - "phoneNumbers": { - "style": "form" - }, - "formFile": { - "style": "form" - }, - "text": { - "style": "form" - } - } - } - }, - "x-purpose": "test" - }, - "responses": { - "200": { - "description": "OK" - } - }, - "x-purpose": "test" - } - }, - "/registrationsWithIgnoreProperties": { - "post": { - "tags": [ - "FromFormParams" - ], - "requestBody": { - "content": { - "multipart/form-data": { - "schema": { - "type": "object", - "properties": { - "phoneNumbers": { - "type": "array", - "items": { - "type": "integer", - "format": "int32" - } - } - } - }, - "encoding": { - "phoneNumbers": { - "style": "form" - } - } - } - }, - "x-purpose": "test" - }, - "responses": { - "200": { - "description": "OK" - } - }, - "x-purpose": "test" - } - }, - "/registrationsWithEnumParameter": { - "post": { - "tags": [ - "FromFormParams" - ], - "summary": "Form parameters with description", - "requestBody": { - "content": { - "multipart/form-data": { - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Summary for Name", - "example": "MyName" - }, - "phoneNumbers": { - "type": "array", - "items": { - "type": "integer", - "format": "int32" - }, - "description": "Sumary for PhoneNumbers" - }, - "logLevel": { - "$ref": "#/components/schemas/LogLevel" - }, - "formFile": { - "type": "string", - "description": "Description for file", - "format": "binary" - }, - "dateTimeKind": { - "$ref": "#/components/schemas/DateTimeKind" - } - } - }, - "encoding": { - "name": { - "style": "form" - }, - "phoneNumbers": { - "style": "form" - }, - "logLevel": { - "style": "form" - }, - "formFile": { - "style": "form" - }, - "dateTimeKind": { - "style": "form" - } - } - } - }, - "x-purpose": "test" - }, - "responses": { - "200": { - "description": "OK" - } - }, - "x-purpose": "test" - } - }, - "/country/validate": { - "get": { - "tags": [ - "FromHeaderParams" - ], - "parameters": [ - { - "name": "country", - "in": "query", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-purpose": "test" - } - }, - "/addresses/validate": { - "get": { - "tags": [ - "FromQueryParams" - ], - "parameters": [ - { - "name": "country", - "in": "query", - "description": "3-letter ISO country code", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "city", - "in": "query", - "description": "Name of city", - "schema": { - "type": "string", - "default": "Seattle" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-purpose": "test" - } - }, - "/zip-codes/validate": { - "get": { - "tags": [ - "FromQueryParams" - ], - "parameters": [ - { - "name": "zipCodes", - "in": "query", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-purpose": "test" - } - }, - "/Issue3013/Get": { - "get": { - "tags": [ - "Issue3013" - ], - "responses": { - "200": { - "description": "OK", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/TestResponse" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/TestResponse" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/TestResponse" - } - } - } - } - }, - "x-purpose": "test" - } - }, - "/promotions": { - "get": { - "tags": [ - "JsonAnnotations" - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Promotion" - } - } - } - } - } - }, - "x-purpose": "test" - } - }, - "/shapes": { - "post": { - "tags": [ - "PolymorphicTypes" - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/Rectangle" - }, - { - "$ref": "#/components/schemas/Circle" - } - ] - } - }, - "text/json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/Rectangle" - }, - { - "$ref": "#/components/schemas/Circle" - } - ] - } - }, - "application/*+json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/Rectangle" - }, - { - "$ref": "#/components/schemas/Circle" - } - ] - } - } - }, - "x-purpose": "test" - }, - "responses": { - "200": { - "description": "OK", - "content": { - "text/plain": { - "schema": { - "type": "integer", - "format": "int32" - } - }, - "application/json": { - "schema": { - "type": "integer", - "format": "int32" - } - }, - "text/json": { - "schema": { - "type": "integer", - "format": "int32" - } - } - } - } - }, - "x-purpose": "test" - } - }, - "/orders": { - "post": { - "tags": [ - "ResponseTypeAnnotations" - ], - "summary": "Creates an order", - "requestBody": { - "description": "", - "content": { - "application/xml": { - "schema": { - "$ref": "#/components/schemas/Order" - } - } - }, - "required": true, - "x-purpose": "test" - }, - "responses": { - "201": { - "description": "Order created", - "content": { - "application/xml": { - "schema": { - "type": "integer", - "format": "int32" - } - } - } - }, - "400": { - "description": "Order invalid", - "content": { - "application/xml": { - "schema": { - "$ref": "#/components/schemas/ValidationProblemDetails" - } - } - } - } - }, - "x-purpose": "test" - } - }, - "/carts": { - "post": { - "tags": [ - "SwaggerAnnotations" - ], - "operationId": "CreateCart", - "requestBody": { - "description": "The cart request body", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Cart" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/Cart" - } - }, - "application/*+json": { - "schema": { - "$ref": "#/components/schemas/Cart" - } - } - }, - "x-purpose": "test" - }, - "responses": { - "201": { - "description": "The cart was created", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Cart" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/Cart" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/Cart" - } - } - } - }, - "400": { - "description": "The cart data is invalid" - } - }, - "x-purpose": "test" - } - }, - "/carts/{id}": { - "get": { - "tags": [ - "SwaggerAnnotations" - ], - "externalDocs": { - "description": "External docs for CartsByIdGet", - "url": "https://tempuri.org/carts-by-id-get" - }, - "operationId": "GetCart", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The cart identifier", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Cart" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/Cart" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/Cart" - } - } - } - } - }, - "x-purpose": "test" - }, - "delete": { - "tags": [ - "SwaggerAnnotations" - ], - "summary": "Deletes a specific cart", - "description": "Requires admin privileges", - "operationId": "DeleteCart", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "The cart identifier", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Cart" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/Cart" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/Cart" - } - } - } - } - }, - "x-purpose": "test" - } - }, - "/stores": { - "post": { - "tags": [ - "UnboundParams" - ], - "parameters": [ - { - "name": "id", - "in": "query", - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "location", - "in": "query", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "integer", - "format": "int32" - } - } - } - } - }, - "x-purpose": "test" - }, - "get": { - "tags": [ - "UnboundParams" - ], - "parameters": [ - { - "name": "locations", - "in": "query", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Store" - } - } - } - } - } - }, - "x-purpose": "test" - } - }, - "/stores/{id}": { - "get": { - "tags": [ - "UnboundParams" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Store" - } - } - } - } - }, - "x-purpose": "test" - }, - "put": { - "tags": [ - "UnboundParams" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "id", - "in": "query", - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "location", - "in": "query", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-purpose": "test" - }, - "delete": { - "tags": [ - "UnboundParams" - ], - "parameters": [ - { - "name": "id", - "in": "path", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-purpose": "test" - } - } - }, - "components": { - "schemas": { - "Cart": { - "required": [ - "Id" - ], - "type": "object", - "properties": { - "id": { - "type": "integer", - "description": "The cart identifier", - "format": "int32", - "readOnly": true - }, - "cartType": { - "$ref": "#/components/schemas/CartType" - } - }, - "additionalProperties": false - }, - "CartType": { - "enum": [ - 0, - 1 - ], - "type": "integer", - "description": "The cart type", - "format": "int32" - }, - "Circle": { - "allOf": [ - { - "$ref": "#/components/schemas/Shape" - }, - { - "type": "object", - "properties": { - "radius": { - "type": "integer", - "format": "int32" - } - }, - "additionalProperties": false - } - ] - }, - "CreditCard": { - "required": [ - "cardNumber", - "expMonth", - "expYear" - ], - "type": "object", - "properties": { - "cardNumber": { - "minLength": 1, - "pattern": "^[3-6]?\\d{12,15}$", - "type": "string" - }, - "expMonth": { - "maximum": 12, - "minimum": 1, - "type": "integer", - "format": "int32" - }, - "expYear": { - "maximum": 99, - "minimum": 14, - "type": "integer", - "format": "int32" - } - }, - "additionalProperties": false - }, - "DateTimeKind": { - "enum": [ - 0, - 1, - 2 - ], - "type": "integer", - "format": "int32" - }, - "DiscountType": { - "enum": [ - "Percentage", - "Amount" - ], - "type": "string" - }, - "LogLevel": { - "enum": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6 - ], - "type": "integer", - "format": "int32" - }, - "Order": { - "type": "object", - "properties": { - "id": { - "type": "integer", - "format": "int32" - }, - "description": { - "type": "string", - "nullable": true - }, - "total": { - "type": "number", - "format": "double" - } - }, - "additionalProperties": false - }, - "PaymentRequest": { - "required": [ - "creditCard", - "transaction" - ], - "type": "object", - "properties": { - "transaction": { - "$ref": "#/components/schemas/Transaction" - }, - "creditCard": { - "$ref": "#/components/schemas/CreditCard" - } - }, - "additionalProperties": false - }, - "Product": { - "type": "object", - "properties": { - "id": { - "type": "integer", - "description": "Uniquely identifies the product", - "format": "int32" - }, - "description": { - "type": "string", - "description": "Describes the product", - "nullable": true - }, - "status": { - "$ref": "#/components/schemas/ProductStatus" - }, - "status2": { - "$ref": "#/components/schemas/ProductStatus" - } - }, - "additionalProperties": false, - "description": "Represents a product", - "example": { - "id": 123, - "description": "foobar", - "price": 14.37 - } - }, - "ProductStatus": { - "enum": [ - 0, - 1, - 2 - ], - "type": "integer", - "format": "int32" - }, - "Promotion": { - "type": "object", - "properties": { - "promo-code": { - "type": "string", - "nullable": true - }, - "discountType": { - "$ref": "#/components/schemas/DiscountType" - } - }, - "additionalProperties": false - }, - "Rectangle": { - "allOf": [ - { - "$ref": "#/components/schemas/Shape" - }, - { - "type": "object", - "properties": { - "height": { - "type": "integer", - "format": "int32" - }, - "width": { - "type": "integer", - "format": "int32" - } - }, - "additionalProperties": false - } - ] - }, - "Shape": { - "required": [ - "TypeName" - ], - "type": "object", - "properties": { - "TypeName": { - "type": "string" - }, - "name": { - "type": "string", - "nullable": true - } - }, - "additionalProperties": false, - "discriminator": { - "propertyName": "TypeName", - "mapping": { - "Rectangle": "#/components/schemas/Rectangle", - "Circle": "#/components/schemas/Circle" - } - } - }, - "Store": { - "type": "object", - "properties": { - "id": { - "type": "integer", - "format": "int32" - }, - "location": { - "type": "string", - "nullable": true - } - }, - "additionalProperties": false - }, - "TestResponse": { - "type": "object", - "properties": { - "foo": { - "$ref": "#/components/schemas/TestStruct" - } - }, - "additionalProperties": false - }, - "TestStruct": { - "type": "object", - "properties": { - "a": { - "type": "integer", - "format": "int32" - }, - "b": { - "type": "integer", - "format": "int32" - } - }, - "additionalProperties": false - }, - "Transaction": { - "required": [ - "amount" - ], - "type": "object", - "properties": { - "amount": { - "type": "number", - "format": "double" - }, - "note": { - "type": "string", - "nullable": true - } - }, - "additionalProperties": false - }, - "ValidationProblemDetails": { - "type": "object", - "properties": { - "type": { - "type": "string", - "nullable": true - }, - "title": { - "type": "string", - "nullable": true - }, - "status": { - "type": "integer", - "format": "int32", - "nullable": true - }, - "detail": { - "type": "string", - "nullable": true - }, - "instance": { - "type": "string", - "nullable": true - }, - "errors": { - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } - }, - "nullable": true, - "readOnly": true - } - }, - "additionalProperties": { } - } - } - }, - "tags": [ - { - "name": "SwaggerAnnotations", - "description": "Manipulate Carts to your heart's content", - "externalDocs": { - "url": "http://www.tempuri.org" - } - } - ] -} \ No newline at end of file diff --git a/test/Swashbuckle.AspNetCore.IntegrationTests/SwaggerVerifyIntegrationTest.SwaggerEndpoint_ReturnsValidSwaggerJson_DotNet6_startupType=NSwagClientExample.Startup_swaggerRequestUri=v1.verified.txt b/test/Swashbuckle.AspNetCore.IntegrationTests/SwaggerVerifyIntegrationTest.SwaggerEndpoint_ReturnsValidSwaggerJson_DotNet6_startupType=NSwagClientExample.Startup_swaggerRequestUri=v1.verified.txt deleted file mode 100644 index 26bbe84ab9..0000000000 --- a/test/Swashbuckle.AspNetCore.IntegrationTests/SwaggerVerifyIntegrationTest.SwaggerEndpoint_ReturnsValidSwaggerJson_DotNet6_startupType=NSwagClientExample.Startup_swaggerRequestUri=v1.verified.txt +++ /dev/null @@ -1,225 +0,0 @@ -{ - "openapi": "3.0.1", - "info": { - "title": "NswagClientExample", - "version": "1.0" - }, - "paths": { - "/Animals": { - "post": { - "tags": [ - "Animals" - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/Animal" - }, - { - "$ref": "#/components/schemas/Cat" - }, - { - "$ref": "#/components/schemas/Dog" - } - ] - } - }, - "text/json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/Animal" - }, - { - "$ref": "#/components/schemas/Cat" - }, - { - "$ref": "#/components/schemas/Dog" - } - ] - } - }, - "application/*+json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/Animal" - }, - { - "$ref": "#/components/schemas/Cat" - }, - { - "$ref": "#/components/schemas/Dog" - } - ] - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/SecondLevel": { - "post": { - "tags": [ - "SecondLevel" - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/SubSubType" - } - ] - } - }, - "text/json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/SubSubType" - } - ] - } - }, - "application/*+json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/SubSubType" - } - ] - } - } - } - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "integer", - "format": "int32" - } - } - } - } - } - } - } - }, - "components": { - "schemas": { - "Animal": { - "required": [ - "animalType" - ], - "type": "object", - "properties": { - "animalType": { - "$ref": "#/components/schemas/AnimalType" - } - }, - "additionalProperties": false, - "discriminator": { - "propertyName": "animalType", - "mapping": { - "Cat": "#/components/schemas/Cat", - "Dog": "#/components/schemas/Dog" - } - } - }, - "AnimalType": { - "enum": [ - "Cat", - "Dog" - ], - "type": "string" - }, - "BaseType": { - "required": [ - "discriminator" - ], - "type": "object", - "properties": { - "discriminator": { - "type": "string" - }, - "property": { - "type": "string", - "nullable": true - } - }, - "additionalProperties": false, - "discriminator": { - "propertyName": "discriminator", - "mapping": { - "SubSubType": "#/components/schemas/SubSubType" - } - } - }, - "Cat": { - "allOf": [ - { - "$ref": "#/components/schemas/Animal" - }, - { - "type": "object", - "properties": { - "catSpecificProperty": { - "type": "string", - "nullable": true - } - }, - "additionalProperties": false - } - ] - }, - "Dog": { - "allOf": [ - { - "$ref": "#/components/schemas/Animal" - }, - { - "type": "object", - "properties": { - "dogSpecificProperty": { - "type": "string", - "nullable": true - } - }, - "additionalProperties": false - } - ] - }, - "SubSubType": { - "allOf": [ - { - "$ref": "#/components/schemas/BaseType" - }, - { - "type": "object", - "properties": { - "property2": { - "type": "string", - "nullable": true - } - }, - "additionalProperties": false - } - ] - } - } - } -} \ No newline at end of file diff --git a/test/Swashbuckle.AspNetCore.IntegrationTests/SwaggerVerifyIntegrationTest.cs b/test/Swashbuckle.AspNetCore.IntegrationTests/SwaggerVerifyIntegrationTest.cs index 9de4795469..fcf9c11195 100644 --- a/test/Swashbuckle.AspNetCore.IntegrationTests/SwaggerVerifyIntegrationTest.cs +++ b/test/Swashbuckle.AspNetCore.IntegrationTests/SwaggerVerifyIntegrationTest.cs @@ -53,23 +53,6 @@ public async Task SwaggerEndpoint_ReturnsValidSwaggerJson_ForAutofaq() await Verifier.Verify(swagger).UseParameters(startupType, GetVersion(swaggerRequestUri)); } -#if NET6_0 - [Theory] - [InlineData(typeof(Basic.Startup), "/swagger/v1/swagger.json")] - [InlineData(typeof(NSwagClientExample.Startup), "/swagger/v1/swagger.json")] - public async Task SwaggerEndpoint_ReturnsValidSwaggerJson_DotNet6( - Type startupType, - string swaggerRequestUri) - { - var testSite = new TestSite(startupType); - using var client = testSite.BuildClient(); - - using var swaggerResponse = await client.GetAsync(swaggerRequestUri); - var swagger = await swaggerResponse.Content.ReadAsStringAsync(); - await Verifier.Verify(swagger).UseParameters(startupType, GetVersion(swaggerRequestUri)); - } -#endif - [Theory] [InlineData(typeof(MinimalApp.Program), "/swagger/v1/swagger.json")] [InlineData(typeof(TopLevelSwaggerDoc.Program), "/swagger/v1.json")] diff --git a/test/Swashbuckle.AspNetCore.IntegrationTests/Swashbuckle.AspNetCore.IntegrationTests.csproj b/test/Swashbuckle.AspNetCore.IntegrationTests/Swashbuckle.AspNetCore.IntegrationTests.csproj index 2a6013a317..7abc5d6ffb 100644 --- a/test/Swashbuckle.AspNetCore.IntegrationTests/Swashbuckle.AspNetCore.IntegrationTests.csproj +++ b/test/Swashbuckle.AspNetCore.IntegrationTests/Swashbuckle.AspNetCore.IntegrationTests.csproj @@ -4,7 +4,7 @@ $(MSBuildThisFileDirectory)..\..\src\Swashbuckle.AspNetCore.Swagger\Swashbuckle.AspNetCore.Swagger.snk $(NoWarn);8002 true - net9.0;net8.0;net6.0 + net9.0;net8.0 diff --git a/test/Swashbuckle.AspNetCore.Newtonsoft.Test/Swashbuckle.AspNetCore.Newtonsoft.Test.csproj b/test/Swashbuckle.AspNetCore.Newtonsoft.Test/Swashbuckle.AspNetCore.Newtonsoft.Test.csproj index ca6595b9f1..faa5492841 100644 --- a/test/Swashbuckle.AspNetCore.Newtonsoft.Test/Swashbuckle.AspNetCore.Newtonsoft.Test.csproj +++ b/test/Swashbuckle.AspNetCore.Newtonsoft.Test/Swashbuckle.AspNetCore.Newtonsoft.Test.csproj @@ -1,7 +1,7 @@  - net9.0;net8.0;net6.0 + net9.0;net8.0 diff --git a/test/Swashbuckle.AspNetCore.SwaggerGen.Test/Swashbuckle.AspNetCore.SwaggerGen.Test.csproj b/test/Swashbuckle.AspNetCore.SwaggerGen.Test/Swashbuckle.AspNetCore.SwaggerGen.Test.csproj index fb6e0e0b05..53896e0fea 100644 --- a/test/Swashbuckle.AspNetCore.SwaggerGen.Test/Swashbuckle.AspNetCore.SwaggerGen.Test.csproj +++ b/test/Swashbuckle.AspNetCore.SwaggerGen.Test/Swashbuckle.AspNetCore.SwaggerGen.Test.csproj @@ -3,7 +3,7 @@ true 1701;1702;1591 - net9.0;net8.0;net6.0 + net9.0;net8.0 True $(MSBuildThisFileDirectory)..\..\src\Swashbuckle.AspNetCore.Swagger\Swashbuckle.AspNetCore.Swagger.snk diff --git a/test/Swashbuckle.AspNetCore.TestSupport/Swashbuckle.AspNetCore.TestSupport.csproj b/test/Swashbuckle.AspNetCore.TestSupport/Swashbuckle.AspNetCore.TestSupport.csproj index dd04fa1bbc..885e8eb2b5 100644 --- a/test/Swashbuckle.AspNetCore.TestSupport/Swashbuckle.AspNetCore.TestSupport.csproj +++ b/test/Swashbuckle.AspNetCore.TestSupport/Swashbuckle.AspNetCore.TestSupport.csproj @@ -1,7 +1,7 @@  - net9.0;net8.0;net6.0 + net9.0;net8.0 false false 1.0.0 diff --git a/test/WebSites/Basic/Basic.csproj b/test/WebSites/Basic/Basic.csproj index fa5d21fdd9..b2ce944870 100644 --- a/test/WebSites/Basic/Basic.csproj +++ b/test/WebSites/Basic/Basic.csproj @@ -3,7 +3,7 @@ true $(NoWarn);1591 - net9.0;net8.0;net6.0 + net9.0;net8.0 diff --git a/test/WebSites/CliExample/CliExample.csproj b/test/WebSites/CliExample/CliExample.csproj index 86f2f94752..29af653a45 100644 --- a/test/WebSites/CliExample/CliExample.csproj +++ b/test/WebSites/CliExample/CliExample.csproj @@ -1,7 +1,7 @@  - net9.0;net8.0;net6.0 + net9.0;net8.0 $([System.IO.Path]::Combine('$(ArtifactsPath)', 'bin', 'Swashbuckle.AspNetCore.Cli', '$(Configuration.ToLower())_$(TargetFramework)')) diff --git a/test/WebSites/CliExample/wwwroot/swagger/v1/swagger_net6.0.json b/test/WebSites/CliExample/wwwroot/swagger/v1/swagger_net6.0.json deleted file mode 100644 index 0e1dee7edd..0000000000 --- a/test/WebSites/CliExample/wwwroot/swagger/v1/swagger_net6.0.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "openapi": "3.0.1", - "info": { - "title": "CliExample", - "version": "1.0" - }, - "servers": [ - { - "url": "http://localhost:51071" - } - ], - "paths": { - "/products": { - "get": { - "tags": [ - "Products" - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Product" - } - } - } - } - } - } - } - } - }, - "components": { - "schemas": { - "Product": { - "type": "object", - "properties": { - "id": { - "type": "integer", - "format": "int32" - }, - "description": { - "type": "string", - "nullable": true - } - }, - "additionalProperties": false - } - } - } -} \ No newline at end of file diff --git a/test/WebSites/CliExample/wwwroot/swagger/v1/swagger_net7.0.json b/test/WebSites/CliExample/wwwroot/swagger/v1/swagger_net7.0.json deleted file mode 100644 index 0e1dee7edd..0000000000 --- a/test/WebSites/CliExample/wwwroot/swagger/v1/swagger_net7.0.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "openapi": "3.0.1", - "info": { - "title": "CliExample", - "version": "1.0" - }, - "servers": [ - { - "url": "http://localhost:51071" - } - ], - "paths": { - "/products": { - "get": { - "tags": [ - "Products" - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Product" - } - } - } - } - } - } - } - } - }, - "components": { - "schemas": { - "Product": { - "type": "object", - "properties": { - "id": { - "type": "integer", - "format": "int32" - }, - "description": { - "type": "string", - "nullable": true - } - }, - "additionalProperties": false - } - } - } -} \ No newline at end of file diff --git a/test/WebSites/CliExampleWithFactory/CliExampleWithFactory.csproj b/test/WebSites/CliExampleWithFactory/CliExampleWithFactory.csproj index 9cf5f7a21b..ad43d3d3be 100644 --- a/test/WebSites/CliExampleWithFactory/CliExampleWithFactory.csproj +++ b/test/WebSites/CliExampleWithFactory/CliExampleWithFactory.csproj @@ -1,7 +1,7 @@  - net9.0;net8.0;net6.0 + net9.0;net8.0 $([System.IO.Path]::Combine('$(ArtifactsPath)', 'bin', 'Swashbuckle.AspNetCore.Cli', '$(Configuration.ToLower())_$(TargetFramework)')) diff --git a/test/WebSites/CliExampleWithFactory/wwwroot/swagger/v1/swagger_net6.0.json b/test/WebSites/CliExampleWithFactory/wwwroot/swagger/v1/swagger_net6.0.json deleted file mode 100644 index 2778aed45a..0000000000 --- a/test/WebSites/CliExampleWithFactory/wwwroot/swagger/v1/swagger_net6.0.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "openapi": "3.0.1", - "info": { - "title": "CliExampleWithFactory", - "version": "1.0" - }, - "servers": [ - { - "url": "http://localhost:57556/" - } - ], - "paths": { - "/products": { - "get": { - "tags": [ - "Products" - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Product" - } - } - } - } - } - } - } - } - }, - "components": { - "schemas": { - "Product": { - "type": "object", - "properties": { - "id": { - "type": "integer", - "format": "int32" - }, - "description": { - "type": "string", - "nullable": true - } - }, - "additionalProperties": false - } - } - } -} \ No newline at end of file diff --git a/test/WebSites/CliExampleWithFactory/wwwroot/swagger/v1/swagger_net7.0.json b/test/WebSites/CliExampleWithFactory/wwwroot/swagger/v1/swagger_net7.0.json deleted file mode 100644 index 2778aed45a..0000000000 --- a/test/WebSites/CliExampleWithFactory/wwwroot/swagger/v1/swagger_net7.0.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "openapi": "3.0.1", - "info": { - "title": "CliExampleWithFactory", - "version": "1.0" - }, - "servers": [ - { - "url": "http://localhost:57556/" - } - ], - "paths": { - "/products": { - "get": { - "tags": [ - "Products" - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Product" - } - } - } - } - } - } - } - } - }, - "components": { - "schemas": { - "Product": { - "type": "object", - "properties": { - "id": { - "type": "integer", - "format": "int32" - }, - "description": { - "type": "string", - "nullable": true - } - }, - "additionalProperties": false - } - } - } -} \ No newline at end of file diff --git a/test/WebSites/ConfigFromFile/ConfigFromFile.csproj b/test/WebSites/ConfigFromFile/ConfigFromFile.csproj index 25ceb0900b..1af5f19ef9 100644 --- a/test/WebSites/ConfigFromFile/ConfigFromFile.csproj +++ b/test/WebSites/ConfigFromFile/ConfigFromFile.csproj @@ -1,7 +1,7 @@  - net9.0;net8.0;net6.0 + net9.0;net8.0 diff --git a/test/WebSites/CustomDocumentSerializer/CustomDocumentSerializer.csproj b/test/WebSites/CustomDocumentSerializer/CustomDocumentSerializer.csproj index 8300229ac3..858d03236e 100644 --- a/test/WebSites/CustomDocumentSerializer/CustomDocumentSerializer.csproj +++ b/test/WebSites/CustomDocumentSerializer/CustomDocumentSerializer.csproj @@ -1,7 +1,7 @@ - net9.0;net8.0;net6.0 + net9.0;net8.0 enable enable $([System.IO.Path]::Combine('$(ArtifactsPath)', 'bin', 'Swashbuckle.AspNetCore.Cli', '$(Configuration)_$(TargetFramework)', 'dotnet-swagger.dll')) diff --git a/test/WebSites/CustomUIConfig/CustomUIConfig.csproj b/test/WebSites/CustomUIConfig/CustomUIConfig.csproj index 97ee14eb9b..e49998db12 100644 --- a/test/WebSites/CustomUIConfig/CustomUIConfig.csproj +++ b/test/WebSites/CustomUIConfig/CustomUIConfig.csproj @@ -1,7 +1,7 @@  - net9.0;net8.0;net6.0 + net9.0;net8.0 diff --git a/test/WebSites/CustomUIIndex/CustomUIIndex.csproj b/test/WebSites/CustomUIIndex/CustomUIIndex.csproj index edbd3feec5..7c55a49f33 100644 --- a/test/WebSites/CustomUIIndex/CustomUIIndex.csproj +++ b/test/WebSites/CustomUIIndex/CustomUIIndex.csproj @@ -1,7 +1,7 @@ - net9.0;net8.0;net6.0 + net9.0;net8.0 diff --git a/test/WebSites/GenericControllers/GenericControllers.csproj b/test/WebSites/GenericControllers/GenericControllers.csproj index fbf4df6742..8d9690155b 100644 --- a/test/WebSites/GenericControllers/GenericControllers.csproj +++ b/test/WebSites/GenericControllers/GenericControllers.csproj @@ -3,7 +3,7 @@ true $(NoWarn);1591 - net9.0;net8.0;net6.0 + net9.0;net8.0 diff --git a/test/WebSites/MinimalApp/MinimalApp.csproj b/test/WebSites/MinimalApp/MinimalApp.csproj index 8300229ac3..858d03236e 100644 --- a/test/WebSites/MinimalApp/MinimalApp.csproj +++ b/test/WebSites/MinimalApp/MinimalApp.csproj @@ -1,7 +1,7 @@ - net9.0;net8.0;net6.0 + net9.0;net8.0 enable enable $([System.IO.Path]::Combine('$(ArtifactsPath)', 'bin', 'Swashbuckle.AspNetCore.Cli', '$(Configuration)_$(TargetFramework)', 'dotnet-swagger.dll')) diff --git a/test/WebSites/MinimalAppWithHostedServices/MinimalAppWithHostedServices.csproj b/test/WebSites/MinimalAppWithHostedServices/MinimalAppWithHostedServices.csproj index 5b6defe0c6..3408ed67d8 100644 --- a/test/WebSites/MinimalAppWithHostedServices/MinimalAppWithHostedServices.csproj +++ b/test/WebSites/MinimalAppWithHostedServices/MinimalAppWithHostedServices.csproj @@ -1,7 +1,7 @@  - net9.0;net8.0;net6.0 + net9.0;net8.0 enable enable $([System.IO.Path]::Combine('$(ArtifactsPath)', 'bin', 'Swashbuckle.AspNetCore.Cli', '$(Configuration)_$(TargetFramework)', 'dotnet-swagger.dll')) diff --git a/test/WebSites/MultipleVersions/MultipleVersions.csproj b/test/WebSites/MultipleVersions/MultipleVersions.csproj index 98d6a6ddcd..234e91d27f 100644 --- a/test/WebSites/MultipleVersions/MultipleVersions.csproj +++ b/test/WebSites/MultipleVersions/MultipleVersions.csproj @@ -1,7 +1,7 @@  - net9.0;net8.0;net6.0 + net9.0;net8.0 diff --git a/test/WebSites/NswagClientExample/NswagClientExample.csproj b/test/WebSites/NswagClientExample/NswagClientExample.csproj index a829b4227c..4a6258da9d 100644 --- a/test/WebSites/NswagClientExample/NswagClientExample.csproj +++ b/test/WebSites/NswagClientExample/NswagClientExample.csproj @@ -1,7 +1,7 @@  - net9.0;net8.0;net6.0 + net9.0;net8.0 $([System.IO.Path]::Combine('$(ArtifactsPath)', 'bin', 'Swashbuckle.AspNetCore.Cli', '$(Configuration.ToLower())_$(TargetFramework)')) <_NSwagTool>$(NSwagExe_Net60) <_NSwagTool Condition="$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'net8.0'))">$(NSwagExe_Net80) diff --git a/test/WebSites/NswagClientExample/swagger_net6.0.json b/test/WebSites/NswagClientExample/swagger_net6.0.json deleted file mode 100644 index 611413b78a..0000000000 --- a/test/WebSites/NswagClientExample/swagger_net6.0.json +++ /dev/null @@ -1,230 +0,0 @@ -{ - "openapi": "3.0.1", - "info": { - "title": "NswagClientExample", - "version": "1.0" - }, - "servers": [ - { - "url": "http://example.com" - } - ], - "paths": { - "/Animals": { - "post": { - "tags": [ - "Animals" - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/Animal" - }, - { - "$ref": "#/components/schemas/Cat" - }, - { - "$ref": "#/components/schemas/Dog" - } - ] - } - }, - "text/json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/Animal" - }, - { - "$ref": "#/components/schemas/Cat" - }, - { - "$ref": "#/components/schemas/Dog" - } - ] - } - }, - "application/*+json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/Animal" - }, - { - "$ref": "#/components/schemas/Cat" - }, - { - "$ref": "#/components/schemas/Dog" - } - ] - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/SecondLevel": { - "post": { - "tags": [ - "SecondLevel" - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/SubSubType" - } - ] - } - }, - "text/json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/SubSubType" - } - ] - } - }, - "application/*+json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/SubSubType" - } - ] - } - } - } - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "integer", - "format": "int32" - } - } - } - } - } - } - } - }, - "components": { - "schemas": { - "Animal": { - "required": [ - "animalType" - ], - "type": "object", - "properties": { - "animalType": { - "$ref": "#/components/schemas/AnimalType" - } - }, - "additionalProperties": false, - "discriminator": { - "propertyName": "animalType", - "mapping": { - "Cat": "#/components/schemas/Cat", - "Dog": "#/components/schemas/Dog" - } - } - }, - "AnimalType": { - "enum": [ - "Cat", - "Dog" - ], - "type": "string" - }, - "BaseType": { - "required": [ - "discriminator" - ], - "type": "object", - "properties": { - "discriminator": { - "type": "string" - }, - "property": { - "type": "string", - "nullable": true - } - }, - "additionalProperties": false, - "discriminator": { - "propertyName": "discriminator", - "mapping": { - "SubSubType": "#/components/schemas/SubSubType" - } - } - }, - "Cat": { - "allOf": [ - { - "$ref": "#/components/schemas/Animal" - }, - { - "type": "object", - "properties": { - "catSpecificProperty": { - "type": "string", - "nullable": true - } - }, - "additionalProperties": false - } - ] - }, - "Dog": { - "allOf": [ - { - "$ref": "#/components/schemas/Animal" - }, - { - "type": "object", - "properties": { - "dogSpecificProperty": { - "type": "string", - "nullable": true - } - }, - "additionalProperties": false - } - ] - }, - "SubSubType": { - "allOf": [ - { - "$ref": "#/components/schemas/BaseType" - }, - { - "type": "object", - "properties": { - "property2": { - "type": "string", - "nullable": true - } - }, - "additionalProperties": false - } - ] - } - } - } -} \ No newline at end of file diff --git a/test/WebSites/OAuth2Integration/OAuth2Integration.csproj b/test/WebSites/OAuth2Integration/OAuth2Integration.csproj index ac9116ab50..91b86c2dae 100644 --- a/test/WebSites/OAuth2Integration/OAuth2Integration.csproj +++ b/test/WebSites/OAuth2Integration/OAuth2Integration.csproj @@ -1,7 +1,7 @@ - net9.0;net8.0;net6.0 + net9.0;net8.0 diff --git a/test/WebSites/ReDoc/ReDoc.csproj b/test/WebSites/ReDoc/ReDoc.csproj index 3c229ad132..b3fa4cd596 100644 --- a/test/WebSites/ReDoc/ReDoc.csproj +++ b/test/WebSites/ReDoc/ReDoc.csproj @@ -1,7 +1,7 @@  - net9.0;net8.0;net6.0 + net9.0;net8.0 diff --git a/test/WebSites/TestFirst.IntegrationTests/TestFirst.IntegrationTests.csproj b/test/WebSites/TestFirst.IntegrationTests/TestFirst.IntegrationTests.csproj index a17310c19b..86d88d1482 100644 --- a/test/WebSites/TestFirst.IntegrationTests/TestFirst.IntegrationTests.csproj +++ b/test/WebSites/TestFirst.IntegrationTests/TestFirst.IntegrationTests.csproj @@ -1,7 +1,7 @@  - net9.0;net8.0;net6.0 + net9.0;net8.0 diff --git a/test/WebSites/TestFirst/TestFirst.csproj b/test/WebSites/TestFirst/TestFirst.csproj index 599d9144ea..b259fbf32a 100644 --- a/test/WebSites/TestFirst/TestFirst.csproj +++ b/test/WebSites/TestFirst/TestFirst.csproj @@ -1,7 +1,7 @@  - net9.0;net8.0;net6.0 + net9.0;net8.0 diff --git a/test/WebSites/TopLevelSwaggerDoc/TopLevelSwaggerDoc.csproj b/test/WebSites/TopLevelSwaggerDoc/TopLevelSwaggerDoc.csproj index fd35c5d8fb..b64f64c4ec 100644 --- a/test/WebSites/TopLevelSwaggerDoc/TopLevelSwaggerDoc.csproj +++ b/test/WebSites/TopLevelSwaggerDoc/TopLevelSwaggerDoc.csproj @@ -1,7 +1,7 @@ - net9.0;net8.0;net6.0 + net9.0;net8.0 enable enable