Skip to content

Commit 06fffa2

Browse files
committed
chore: clean up tests
1 parent a48f91a commit 06fffa2

17 files changed

+178
-141
lines changed

test/Microsoft.OpenApi.Tests/Mocks/OpenApiCallbackSerializationTests.cs

+3-2
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,12 @@ namespace Microsoft.OpenApi.Tests.Mocks
1010
{
1111
public class OpenApiCallbackSerializationTests
1212
{
13-
private static readonly OpenApiCallback _callback = (OpenApiCallback)OpenApiDocumentMock.CreateCompleteOpenApiDocument().Paths["/pets"].Operations[HttpMethod.Get].Callbacks["onData"];
14-
private static readonly Mock<OpenApiPathItem> _pathItemMock = new() { CallBase = true };
13+
private readonly OpenApiCallback _callback;
14+
private readonly Mock<OpenApiPathItem> _pathItemMock = new() { CallBase = true };
1515

1616
public OpenApiCallbackSerializationTests()
1717
{
18+
_callback = (OpenApiCallback)OpenApiDocumentMock.CreateCompleteOpenApiDocument().Paths["/pets"].Operations[HttpMethod.Get].Callbacks["onData"];
1819
_callback.PathItems[RuntimeExpression.Build("{$request.body#/callbackUrl}")] = _pathItemMock.Object;
1920
}
2021

test/Microsoft.OpenApi.Tests/Mocks/OpenApiComponentsSerializationTests.cs

+12-11
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,21 @@ namespace Microsoft.OpenApi.Tests.Mocks
88
{
99
public class OpenApiComponentsSerializationTests
1010
{
11-
private static readonly OpenApiComponents _components = OpenApiDocumentMock.CreateCompleteOpenApiDocument().Components;
12-
private static readonly Mock<OpenApiSchema> _schemaMock = new() { CallBase = true };
13-
private static readonly Mock<OpenApiRequestBody> _requestBodyMock = new() { CallBase = true };
14-
private static readonly Mock<OpenApiResponse> _responseMock = new() { CallBase = true };
15-
private static readonly Mock<OpenApiParameter> _parameterMock = new() { CallBase = true };
16-
private static readonly Mock<OpenApiHeader> _headerMock = new() { CallBase = true };
17-
private static readonly Mock<OpenApiSecurityScheme> _securitySchemeMock = new() { CallBase = true };
18-
private static readonly Mock<OpenApiLink> _linkMock = new() { CallBase = true };
19-
private static readonly Mock<OpenApiCallback> _callbackMock = new() { CallBase = true };
20-
private static readonly Mock<OpenApiExample> _exampleMock = new() { CallBase = true };
21-
private static readonly Mock<OpenApiPathItem> _pathItemMock = new() { CallBase = true };
11+
private readonly OpenApiComponents _components;
12+
private readonly Mock<OpenApiSchema> _schemaMock = new() { CallBase = true };
13+
private readonly Mock<OpenApiRequestBody> _requestBodyMock = new() { CallBase = true };
14+
private readonly Mock<OpenApiResponse> _responseMock = new() { CallBase = true };
15+
private readonly Mock<OpenApiParameter> _parameterMock = new() { CallBase = true };
16+
private readonly Mock<OpenApiHeader> _headerMock = new() { CallBase = true };
17+
private readonly Mock<OpenApiSecurityScheme> _securitySchemeMock = new() { CallBase = true };
18+
private readonly Mock<OpenApiLink> _linkMock = new() { CallBase = true };
19+
private readonly Mock<OpenApiCallback> _callbackMock = new() { CallBase = true };
20+
private readonly Mock<OpenApiExample> _exampleMock = new() { CallBase = true };
21+
private readonly Mock<OpenApiPathItem> _pathItemMock = new() { CallBase = true };
2222

2323
public OpenApiComponentsSerializationTests()
2424
{
25+
_components = OpenApiDocumentMock.CreateCompleteOpenApiDocument().Components;
2526
_components.Schemas["pet"] = _schemaMock.Object;
2627
_components.RequestBodies["pet"] = _requestBodyMock.Object;
2728
_components.Responses["200"] = _responseMock.Object;

test/Microsoft.OpenApi.Tests/Mocks/OpenApiDocumentMock.cs

+37-4
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public static class OpenApiDocumentMock
1313
{
1414
public static OpenApiDocument CreateCompleteOpenApiDocument()
1515
{
16-
var doc = new OpenApiDocument
16+
return new OpenApiDocument
1717
{
1818
Info = new OpenApiInfo
1919
{
@@ -92,6 +92,13 @@ public static OpenApiDocument CreateCompleteOpenApiDocument()
9292
Value = JsonValue.Create("Fluffy")
9393
}
9494
},
95+
Content = new Dictionary<string, OpenApiMediaType>
96+
{
97+
["application/json"] = new OpenApiMediaType
98+
{
99+
Schema = new OpenApiSchemaReference("Pet")
100+
}
101+
}
95102
}
96103
],
97104
Operations = new Dictionary<HttpMethod, OpenApiOperation>
@@ -179,6 +186,17 @@ public static OpenApiDocument CreateCompleteOpenApiDocument()
179186
Summary = "An example cat",
180187
Value = JsonValue.Create("Fluffy")
181188
}
189+
},
190+
Content = new Dictionary<string, OpenApiMediaType>
191+
{
192+
["application/json"] = new OpenApiMediaType
193+
{
194+
Schema = new OpenApiSchema
195+
{
196+
Type = JsonSchemaType.Array,
197+
Items = new OpenApiSchemaReference("Pet")
198+
}
199+
}
182200
}
183201
}
184202
},
@@ -233,8 +251,24 @@ public static OpenApiDocument CreateCompleteOpenApiDocument()
233251
}
234252
}
235253
}
236-
}
237-
}
254+
},
255+
Security =
256+
[
257+
new OpenApiSecurityRequirement
258+
{
259+
[new OpenApiSecuritySchemeReference("securitySchemeName1")] = [],
260+
[new OpenApiSecuritySchemeReference("securitySchemeName2")] =
261+
[
262+
"scope1",
263+
"scope2"
264+
]
265+
}
266+
],
267+
Tags = new HashSet<OpenApiTagReference>
268+
{
269+
new OpenApiTagReference("tagId1", new OpenApiDocument{ Tags = new HashSet<OpenApiTag>() { new OpenApiTag{Name = "tagId1"}} })
270+
},
271+
}
238272
}
239273
}
240274
},
@@ -420,7 +454,6 @@ public static OpenApiDocument CreateCompleteOpenApiDocument()
420454
Url = new Uri("https://example.com/docs")
421455
}
422456
};
423-
return doc;
424457
}
425458
}
426459

test/Microsoft.OpenApi.Tests/Mocks/OpenApiDocumentSerializationTests.cs

+8-8
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,17 @@ namespace Microsoft.OpenApi.Tests.Mocks
99
{
1010
public class OpenApiDocumentSerializationTests
1111
{
12-
// test for PathItems, servers
13-
private static readonly OpenApiDocument _document = OpenApiDocumentMock.CreateCompleteOpenApiDocument();
14-
private static readonly Mock<OpenApiPathItem> _pathItemMock = new() { CallBase = true };
15-
private static readonly Mock<OpenApiPathItem> _webhookPathItemMock = new() { CallBase = true };
16-
private static readonly Mock<OpenApiServer> _serverMock = new() { CallBase = true };
17-
private static readonly Mock<OpenApiTag> _tagMock = new() { CallBase = true };
18-
private static readonly Mock<OpenApiSecurityRequirement> _securityMock = new() { CallBase = true };
19-
private static readonly Mock<OpenApiComponents> _componentsMock = new() { CallBase = true };
12+
private readonly OpenApiDocument _document;
13+
private readonly Mock<OpenApiPathItem> _pathItemMock = new() { CallBase = true };
14+
private readonly Mock<OpenApiPathItem> _webhookPathItemMock = new() { CallBase = true };
15+
private readonly Mock<OpenApiServer> _serverMock = new() { CallBase = true };
16+
private readonly Mock<OpenApiTag> _tagMock = new() { CallBase = true };
17+
private readonly Mock<OpenApiSecurityRequirement> _securityMock = new() { CallBase = true };
18+
private readonly Mock<OpenApiComponents> _componentsMock = new() { CallBase = true };
2019

2120
public OpenApiDocumentSerializationTests()
2221
{
22+
_document = OpenApiDocumentMock.CreateCompleteOpenApiDocument();
2323
_document.Paths["/pets"] = _pathItemMock.Object;
2424
_document.Webhooks["pets"] = _webhookPathItemMock.Object;
2525
_document.Servers[0] = _serverMock.Object;

test/Microsoft.OpenApi.Tests/Mocks/OpenApiEncodingSerializationTests.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@ namespace Microsoft.OpenApi.Tests.Mocks
99
{
1010
public class OpenApiEncodingSerializationTests
1111
{
12-
// test for header
13-
private static readonly OpenApiEncoding _encoding = OpenApiDocumentMock.CreateCompleteOpenApiDocument().Paths["/pets"].Operations[HttpMethod.Get].Responses["200"].Content["application/json"].Encoding["x-rate-limit"];
14-
private static readonly Mock<OpenApiHeader> _headerMock = new() { CallBase = true };
12+
private readonly OpenApiEncoding _encoding;
13+
private readonly Mock<OpenApiHeader> _headerMock = new() { CallBase = true };
1514

1615
public OpenApiEncodingSerializationTests()
1716
{
17+
_encoding = OpenApiDocumentMock.CreateCompleteOpenApiDocument().Paths["/pets"].Operations[HttpMethod.Get].Responses["200"].Content["application/json"].Encoding["x-rate-limit"];
1818
_encoding.Headers["x-encoding"] = _headerMock.Object;
1919
}
2020

test/Microsoft.OpenApi.Tests/Mocks/OpenApiHeaderSerializationTests.cs

+5-4
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,14 @@ namespace Microsoft.OpenApi.Tests.Mocks
99
{
1010
public class OpenApiHeaderSerializationTests
1111
{
12-
private static readonly OpenApiHeader _header = (OpenApiHeader)OpenApiDocumentMock.CreateCompleteOpenApiDocument().Paths["/pets"].Operations[HttpMethod.Get].Responses["200"].Headers["x-rate-limit"];
13-
private static readonly Mock<OpenApiSchema> _schemaMock = new() { CallBase = true };
14-
private static readonly Mock<OpenApiExample> _exampleMock = new() { CallBase = true };
15-
private static readonly Mock<OpenApiMediaType> _mediaTypeMock = new() { CallBase = true };
12+
private readonly OpenApiHeader _header;
13+
private readonly Mock<OpenApiSchema> _schemaMock = new() { CallBase = true };
14+
private readonly Mock<OpenApiExample> _exampleMock = new() { CallBase = true };
15+
private readonly Mock<OpenApiMediaType> _mediaTypeMock = new() { CallBase = true };
1616

1717
public OpenApiHeaderSerializationTests()
1818
{
19+
_header = (OpenApiHeader)OpenApiDocumentMock.CreateCompleteOpenApiDocument().Paths["/pets"].Operations[HttpMethod.Get].Responses["200"].Headers["x-rate-limit"];
1920
_header.Schema = _schemaMock.Object;
2021
_header.Examples["cat"] = _exampleMock.Object;
2122
_header.Content["application/json"] = _mediaTypeMock.Object;

test/Microsoft.OpenApi.Tests/Mocks/OpenApiInfoSerializationTests.cs

+4-3
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,13 @@ namespace Microsoft.OpenApi.Tests.Mocks
88
{
99
public class OpenApiInfoSerializationTests
1010
{
11-
private static readonly OpenApiInfo _info = OpenApiDocumentMock.CreateCompleteOpenApiDocument().Info;
12-
private static readonly Mock<OpenApiContact> _contactMock = new() { CallBase = true };
13-
private static readonly Mock<OpenApiLicense> _licenseMock = new() { CallBase = true };
11+
private readonly OpenApiInfo _info;
12+
private readonly Mock<OpenApiContact> _contactMock = new() { CallBase = true };
13+
private readonly Mock<OpenApiLicense> _licenseMock = new() { CallBase = true };
1414

1515
public OpenApiInfoSerializationTests()
1616
{
17+
_info = OpenApiDocumentMock.CreateCompleteOpenApiDocument().Info;
1718
_info.Contact = _contactMock.Object;
1819
_info.License = _licenseMock.Object;
1920
}

test/Microsoft.OpenApi.Tests/Mocks/OpenApiMediaTypeSerializationTests.cs

+5-4
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,14 @@ namespace Microsoft.OpenApi.Tests.Mocks
99
{
1010
public class OpenApiMediaTypeSerializationTests
1111
{
12-
private static readonly OpenApiMediaType _mediaType = OpenApiDocumentMock.CreateCompleteOpenApiDocument().Paths["/pets"].Operations[HttpMethod.Get].Responses["200"].Content["application/json"];
13-
private static readonly Mock<OpenApiSchema> _schemaMock = new() { CallBase = true };
14-
private static readonly Mock<OpenApiEncoding> _encodingMock = new() { CallBase = true };
15-
private static readonly Mock<OpenApiExample> _exampleMock = new() { CallBase = true };
12+
private readonly OpenApiMediaType _mediaType;
13+
private readonly Mock<OpenApiSchema> _schemaMock = new() { CallBase = true };
14+
private readonly Mock<OpenApiEncoding> _encodingMock = new() { CallBase = true };
15+
private readonly Mock<OpenApiExample> _exampleMock = new() { CallBase = true };
1616

1717
public OpenApiMediaTypeSerializationTests()
1818
{
19+
_mediaType = OpenApiDocumentMock.CreateCompleteOpenApiDocument().Paths["/pets"].Operations[HttpMethod.Get].Responses["200"].Content["application/json"];
1920
_mediaType.Schema = _schemaMock.Object;
2021
_mediaType.Examples["cat"] = _exampleMock.Object;
2122
_mediaType.Examples["example"] = _exampleMock.Object;

test/Microsoft.OpenApi.Tests/Mocks/OpenApiOperationSerializationTests.cs

+8-16
Original file line numberDiff line numberDiff line change
@@ -11,25 +11,23 @@ namespace Microsoft.OpenApi.Tests.Mocks
1111
{
1212
public class OpenApiOperationSerializationTests
1313
{
14-
private static readonly OpenApiOperation _operation = OpenApiDocumentMock.CreateCompleteOpenApiDocument().Paths["/pets"].Operations[HttpMethod.Get];
15-
16-
private static readonly Mock<OpenApiCallback> _callbackMock = new() { CallBase = true };
17-
private static readonly Mock<OpenApiPathItem> _pathItemMock = new() { CallBase = true };
18-
private static readonly Mock<OpenApiRequestBody> _requestBodyMock = new() { CallBase = true };
19-
private static readonly Mock<OpenApiResponse> _responsesMock = new() { CallBase = true };
20-
private static readonly Mock<OpenApiParameter> _parameterMock = new() { CallBase = true };
21-
private static readonly Mock<OpenApiSecurityRequirement> _securityRequirementMock = new() { CallBase = true };
22-
private static readonly Mock<OpenApiTagReference> _tagMock = new() { CallBase = true };
14+
private readonly OpenApiOperation _operation;
15+
private readonly Mock<OpenApiCallback> _callbackMock = new() { CallBase = true };
16+
private readonly Mock<OpenApiPathItem> _pathItemMock = new() { CallBase = true };
17+
private readonly Mock<OpenApiRequestBody> _requestBodyMock = new() { CallBase = true };
18+
private readonly Mock<OpenApiResponse> _responsesMock = new() { CallBase = true };
19+
private readonly Mock<OpenApiParameter> _parameterMock = new() { CallBase = true };
20+
private readonly Mock<OpenApiSecurityRequirement> _securityRequirementMock = new() { CallBase = true };
2321

2422

2523
public OpenApiOperationSerializationTests()
2624
{
25+
_operation = OpenApiDocumentMock.CreateCompleteOpenApiDocument().Paths["/pets"].Operations[HttpMethod.Get];
2726
_operation.Callbacks["onData"] = _callbackMock.Object;
2827
_operation.Responses["200"] = _responsesMock.Object;
2928
_operation.RequestBody = _requestBodyMock.Object;
3029
_operation.Parameters[0] = _parameterMock.Object;
3130
_operation.Security[0] = _securityRequirementMock.Object;
32-
_operation.Tags.ToList()[0] = _tagMock.Object;
3331
}
3432

3533
[Fact]
@@ -60,9 +58,6 @@ public void SerializeAsV31_DoesNotCallV3OrV2Serialization()
6058

6159
_securityRequirementMock.Verify(c => c.SerializeAsV3(It.IsAny<IOpenApiWriter>()), Times.Never, "V3 method should not be called");
6260
_securityRequirementMock.Verify(c => c.SerializeAsV2(It.IsAny<IOpenApiWriter>()), Times.Never, "V2 method should not be called");
63-
64-
_tagMock.Verify(c => c.SerializeAsV3(It.IsAny<IOpenApiWriter>()), Times.Never, "V3 method should not be called");
65-
_tagMock.Verify(c => c.SerializeAsV2(It.IsAny<IOpenApiWriter>()), Times.Never, "V2 method should not be called");
6661
}
6762

6863
[Fact]
@@ -93,9 +88,6 @@ public void SerializeAsV3_DoesNotCallV31OrV2Serialization()
9388

9489
_securityRequirementMock.Verify(c => c.SerializeAsV31(It.IsAny<IOpenApiWriter>()), Times.Never, "V31 method should not be called");
9590
_securityRequirementMock.Verify(c => c.SerializeAsV2(It.IsAny<IOpenApiWriter>()), Times.Never, "V2 method should not be called");
96-
97-
_tagMock.Verify(c => c.SerializeAsV31(It.IsAny<IOpenApiWriter>()), Times.Never, "V31 method should not be called");
98-
_tagMock.Verify(c => c.SerializeAsV2(It.IsAny<IOpenApiWriter>()), Times.Never, "V2 method should not be called");
9991
}
10092
}
10193
}

test/Microsoft.OpenApi.Tests/Mocks/OpenApiParameterSerializationTests.cs

+5-4
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,14 @@ namespace Microsoft.OpenApi.Tests.Mocks
88
{
99
public class OpenApiParameterSerializationTests
1010
{
11-
private static readonly OpenApiParameter _parameter = (OpenApiParameter)OpenApiDocumentMock.CreateCompleteOpenApiDocument().Paths["/pets"].Parameters[0];
12-
private static readonly Mock<OpenApiSchema> _schemaMock = new() { CallBase = true };
13-
private static readonly Mock<OpenApiMediaType> _contentMock = new() { CallBase = true };
14-
private static readonly Mock<OpenApiExample> _exampleMock = new() { CallBase = true };
11+
private readonly OpenApiParameter _parameter;
12+
private readonly Mock<OpenApiSchema> _schemaMock = new() { CallBase = true };
13+
private readonly Mock<OpenApiMediaType> _contentMock = new() { CallBase = true };
14+
private readonly Mock<OpenApiExample> _exampleMock = new() { CallBase = true };
1515

1616
public OpenApiParameterSerializationTests()
1717
{
18+
_parameter = (OpenApiParameter)OpenApiDocumentMock.CreateCompleteOpenApiDocument().Paths["/pets"].Parameters[0];
1819
_parameter.Schema = _schemaMock.Object;
1920
_parameter.Content["application/json"] = _contentMock.Object;
2021
_parameter.Examples["example"] = _exampleMock.Object;

test/Microsoft.OpenApi.Tests/Mocks/OpenApiPathItemSerializationTests.cs

+5-4
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,14 @@ namespace Microsoft.OpenApi.Tests.Mocks
1010
{
1111
public class OpenApiPathItemSerializationTests
1212
{
13-
private static readonly IOpenApiPathItem _pathItem = OpenApiDocumentMock.CreateCompleteOpenApiDocument().Paths["/pets"];
14-
private static readonly Mock<OpenApiOperation> _operationMock = new() { CallBase = true };
15-
private static readonly Mock<OpenApiServer> _serverMock = new() { CallBase = true };
16-
private static readonly Mock<OpenApiParameter> _parameterMock = new() { CallBase = true };
13+
private readonly IOpenApiPathItem _pathItem;
14+
private readonly Mock<OpenApiOperation> _operationMock = new() { CallBase = true };
15+
private readonly Mock<OpenApiServer> _serverMock = new() { CallBase = true };
16+
private readonly Mock<OpenApiParameter> _parameterMock = new() { CallBase = true };
1717

1818
public OpenApiPathItemSerializationTests()
1919
{
20+
_pathItem = OpenApiDocumentMock.CreateCompleteOpenApiDocument().Paths["/pets"];
2021
_pathItem.Operations[HttpMethod.Get] = _operationMock.Object;
2122
_pathItem.Servers[0] = _serverMock.Object ;
2223
_pathItem.Parameters[0] = _parameterMock.Object;

0 commit comments

Comments
 (0)