Skip to content

Commit ea7dd94

Browse files
committed
- adds unit test for openapideprecationextension write
Signed-off-by: Vincent Biret <[email protected]>
1 parent 713beb2 commit ea7dd94

File tree

1 file changed

+73
-0
lines changed

1 file changed

+73
-0
lines changed
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
using System;
2+
using System.IO;
3+
using Microsoft.OpenApi.Interfaces;
4+
using Microsoft.OpenApi.Writers;
5+
using Xunit;
6+
7+
namespace Microsoft.OpenApi.OData.OpenApiExtensions.Tests;
8+
9+
public class OpenApiDeprecationExtensionTests
10+
{
11+
[Fact]
12+
public void ExtensionNameMatchesExpected()
13+
{
14+
// Arrange
15+
OpenApiDeprecationExtension extension = new();
16+
17+
// Act
18+
string name = extension.Name;
19+
string expectedName = "x-ms-deprecation";
20+
Assert.Equal(expectedName, name);
21+
22+
// Assert
23+
Assert.Equal(expectedName, name);
24+
}
25+
[Fact]
26+
public void WritesNothingWhenNoValues()
27+
{
28+
// Arrange
29+
OpenApiDeprecationExtension extension = new();
30+
using TextWriter sWriter = new StringWriter();
31+
OpenApiJsonWriter writer = new(sWriter);
32+
33+
// Act
34+
extension.Write(writer, OpenApiSpecVersion.OpenApi3_0);
35+
string result = sWriter.ToString();
36+
37+
// Assert
38+
Assert.Null(extension.Date);
39+
Assert.Null(extension.RemovalDate);
40+
Assert.Null(extension.Version);
41+
Assert.Null(extension.Description);
42+
Assert.Empty(result);
43+
}
44+
[Fact]
45+
public void WritesAllValues()
46+
{
47+
// Arrange
48+
OpenApiDeprecationExtension extension = new() {
49+
Date = new DateTime(2020, 1, 1),
50+
RemovalDate = new DateTime(2021, 1, 1),
51+
Version = "1.0.0",
52+
Description = "This is a test"
53+
};
54+
using TextWriter sWriter = new StringWriter();
55+
OpenApiJsonWriter writer = new(sWriter);
56+
57+
// Act
58+
extension.Write(writer, OpenApiSpecVersion.OpenApi3_0);
59+
string result = sWriter.ToString();
60+
61+
// Assert
62+
Assert.NotNull(extension.Date);
63+
Assert.NotNull(extension.RemovalDate);
64+
Assert.NotNull(extension.Version);
65+
Assert.NotNull(extension.Description);
66+
Assert.Contains("2021-01-01T00:00:00.000000", result);
67+
Assert.Contains("removalDate", result);
68+
Assert.Contains("version", result);
69+
Assert.Contains("1.0.0", result);
70+
Assert.Contains("description", result);
71+
Assert.Contains("This is a test", result);
72+
}
73+
}

0 commit comments

Comments
 (0)