Skip to content

Commit 1451fc7

Browse files
committed
Add ShouldIgnoreExtraneousProperties test
1 parent eb1b5b8 commit 1451fc7

File tree

1 file changed

+31
-1
lines changed

1 file changed

+31
-1
lines changed

src/Octopus.OpenFeature.Provider.Tests/FeatureToggleEvaluationDeserializationTests.cs

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,12 @@ public class FeatureToggleEvaluationDeserializationTests
99
public void ShouldDeserializeEnabledToggle()
1010
{
1111
var json = """
12-
{"name":"My Feature","slug":"my-feature","isEnabled":true,"segments":[]}
12+
{
13+
"name": "My Feature",
14+
"slug": "my-feature",
15+
"isEnabled": true,
16+
"segments": []
17+
}
1318
""";
1419

1520
var result = JsonSerializer.Deserialize<FeatureToggleEvaluation>(json, JsonSerializerOptions.Web);
@@ -77,4 +82,29 @@ public void ShouldDeserializeArrayOfToggles()
7782
result[1].Slug.Should().Be("feature-b");
7883
result[1].IsEnabled.Should().BeFalse();
7984
}
85+
86+
[Fact]
87+
public void ShouldIgnoreExtraneousProperties()
88+
{
89+
var json = """
90+
{
91+
"name": "My Feature",
92+
"slug": "my-feature",
93+
"isEnabled": true,
94+
"segments": [],
95+
"foo": "bar",
96+
"qux": 123,
97+
"wux": {
98+
"nested": "value"
99+
}
100+
}
101+
""";
102+
103+
var result = JsonSerializer.Deserialize<FeatureToggleEvaluation>(json, JsonSerializerOptions.Web);
104+
105+
result!.Name.Should().Be("My Feature");
106+
result.Slug.Should().Be("my-feature");
107+
result.IsEnabled.Should().BeTrue();
108+
result.Segments.Should().BeEmpty();
109+
}
80110
}

0 commit comments

Comments
 (0)