Skip to content

Commit 92c18dc

Browse files
committed
Store swagger documents in test suite directory as a part of test execution
1 parent ea30dc1 commit 92c18dc

File tree

6 files changed

+1324
-59
lines changed

6 files changed

+1324
-59
lines changed
Lines changed: 48 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,55 @@
11
<Project Sdk="Microsoft.NET.Sdk">
2-
<PropertyGroup>
3-
<TargetFramework>$(NetCoreAppVersion)</TargetFramework>
4-
</PropertyGroup>
2+
<PropertyGroup>
3+
<TargetFramework>$(NetCoreAppVersion)</TargetFramework>
4+
</PropertyGroup>
55

6-
<ItemGroup>
7-
<ProjectReference Include="..\..\src\JsonApiDotNetCore.OpenApi.Client\JsonApiDotNetCore.OpenApi.Client.csproj" />
8-
<ProjectReference Include="..\TestBuildingBlocks\TestBuildingBlocks.csproj" />
9-
</ItemGroup>
6+
<ItemGroup>
7+
<ProjectReference Include="..\..\src\JsonApiDotNetCore.OpenApi.Client\JsonApiDotNetCore.OpenApi.Client.csproj"/>
8+
<ProjectReference Include="..\OpenApiTests\OpenApiTests.csproj"/>
9+
<ProjectReference Include="..\TestBuildingBlocks\TestBuildingBlocks.csproj"/>
10+
</ItemGroup>
1011

11-
<ItemGroup>
12-
<PackageReference Include="coverlet.collector" Version="$(CoverletVersion)" PrivateAssets="All" />
13-
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="$(AspNetCoreVersion)" />
14-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="$(TestSdkVersion)" />
15-
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
16-
<PackageReference Include="NSwag.ApiDescription.Client" Version="13.10.9">
17-
<PrivateAssets>all</PrivateAssets>
18-
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
19-
</PackageReference>
20-
<PackageReference Include="Microsoft.Extensions.ApiDescription.Client" Version="5.0.9">
21-
<PrivateAssets>all</PrivateAssets>
22-
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
23-
</PackageReference>
24-
<PackageReference Include="NSwag.ApiDescription.Client" Version="13.13.2">
25-
<PrivateAssets>all</PrivateAssets>
26-
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
27-
</PackageReference>
28-
</ItemGroup>
12+
<ItemGroup>
13+
<PackageReference Include="coverlet.collector" Version="$(CoverletVersion)" PrivateAssets="All"/>
14+
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="$(AspNetCoreVersion)"/>
15+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="$(TestSdkVersion)"/>
16+
<PackageReference Include="Newtonsoft.Json" Version="13.0.1"/>
17+
<PackageReference Include="NSwag.ApiDescription.Client" Version="13.10.9">
18+
<PrivateAssets>all</PrivateAssets>
19+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
20+
</PackageReference>
21+
<PackageReference Include="Microsoft.Extensions.ApiDescription.Client" Version="5.0.9">
22+
<PrivateAssets>all</PrivateAssets>
23+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
24+
</PackageReference>
25+
<PackageReference Include="NSwag.ApiDescription.Client" Version="13.13.2">
26+
<PrivateAssets>all</PrivateAssets>
27+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
28+
</PackageReference>
29+
</ItemGroup>
2930

30-
<ItemGroup>
31-
<OpenApiReference Include="..\OpenApiTests\LegacyOpenApiIntegration\swagger.json">
32-
<Namespace>OpenApiClientTests.LegacyClient.GeneratedCode</Namespace>
33-
<ClassName>OpenApiClient</ClassName>
34-
<CodeGenerator>NSwagCSharp</CodeGenerator>
35-
<Options>/UseBaseUrl:false /GenerateClientInterfaces:true /ClientClassAccessModifier:internal</Options>
36-
</OpenApiReference>
37-
</ItemGroup>
31+
<ItemGroup>
32+
<OpenApiReference Include="..\OpenApiTests\LegacyOpenApiIntegration\LegacyOpenApiIntegration.json">
33+
<Namespace>OpenApiClientTests.LegacyClient.GeneratedCode</Namespace>
34+
<ClassName>OpenApiClient</ClassName>
35+
<CodeGenerator>NSwagCSharp</CodeGenerator>
36+
<Options>/UseBaseUrl:false /GenerateClientInterfaces:true /ClientClassAccessModifier:internal /GenerateExceptionClasses:false /AdditionalNamespaceUsages:OpenApiClientTests.Exceptions</Options>
37+
</OpenApiReference>
38+
</ItemGroup>
3839

39-
<ItemGroup>
40-
<EmbeddedResource Include="..\OpenApiTests\LegacyOpenApiIntegration\swagger.json" />
41-
</ItemGroup>
40+
<ItemGroup>
41+
<OpenApiReference Include="..\OpenApiTests\NamingConvention\KebabCase\KebabCase.json">
42+
<Namespace>OpenApiClientTests.NamingConvention.KebabCase.GeneratedCode</Namespace>
43+
<ClassName>KebabCaseClient</ClassName>
44+
<CodeGenerator>NSwagCSharp</CodeGenerator>
45+
<Options>/UseBaseUrl:false /ClientClassAccessModifier:internal /GenerateExceptionClasses:false /AdditionalNamespaceUsages:OpenApiClientTests.Exceptions</Options>
46+
</OpenApiReference>
47+
</ItemGroup>
4248

43-
<!-- Fixes IntelliSense errors on openapi.json in Visual Studio 2019, which uses the schema for OpenAPI 3.1 by default. -->
44-
<ProjectExtensions>
45-
<VisualStudio>
46-
<UserProperties swagger_1json__JsonSchema="https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/schemas/v3.0/schema.json" />
47-
</VisualStudio>
48-
</ProjectExtensions>
49+
<!-- Fixes IntelliSense errors on openapi.json in Visual Studio 2019, which uses the schema for OpenAPI 3.1 by default. -->
50+
<ProjectExtensions>
51+
<VisualStudio>
52+
<UserProperties swagger_1json__JsonSchema="https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/schemas/v3.0/schema.json"/>
53+
</VisualStudio>
54+
</ProjectExtensions>
4955
</Project>

test/OpenApiTests/LegacyOpenApiIntegration/LegacyOpenApiIntegrationTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public LegacyOpenApiIntegrationTests()
2424
public async Task Retrieved_document_matches_expected_document()
2525
{
2626
// Arrange
27-
string embeddedResourceName = $"{nameof(OpenApiTests)}.{nameof(LegacyOpenApiIntegration)}.swagger.json";
27+
string embeddedResourceName = $"{nameof(OpenApiTests)}.SwaggerDocuments.{nameof(LegacyOpenApiIntegration)}.json";
2828
string expectedDocument = await LoadEmbeddedResourceAsync(embeddedResourceName);
2929
const string requestUrl = "swagger/v1/swagger.json";
3030

0 commit comments

Comments
 (0)