Skip to content

Commit cbef705

Browse files
Add test case for masking specific property on destructured object
1 parent 5f784eb commit cbef705

File tree

1 file changed

+20
-3
lines changed

1 file changed

+20
-3
lines changed

test/Serilog.Enrichers.Sensitive.Tests.Unit/WhenMaskingDestructuredObject.cs

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
using System.Collections.Generic;
2-
using System.Linq;
32
using Serilog.Core;
4-
using Serilog.Events;
53
using Serilog.Sinks.InMemory;
64
using Serilog.Sinks.InMemory.Assertions;
75
using Xunit;
@@ -22,6 +20,7 @@ public WhenMaskingDestructuredObject()
2220
.Enrich.WithSensitiveDataMasking(options =>
2321
{
2422
options.MaskingOperators = new List<IMaskingOperator> { new EmailAddressMaskingOperator() };
23+
options.MaskProperties.Add("SensitiveProperty");
2524
})
2625
.CreateLogger();
2726
}
@@ -90,12 +89,30 @@ public void GivenLogMessageWithDestructuredObjectPropertyWithoutSensitiveDataInN
9089
.WithProperty("TestProperty")
9190
.WithValue("also not sensitive");
9291
}
92+
93+
[Fact]
94+
public void GivenConfigurationToMaskSpecificPropertyAndLoggingADestructuredObject_PropertyOnObjectIsMasked()
95+
{
96+
var testObject = new TestObject();
97+
98+
_logger.Information("Test message {@TestObject}", testObject);
99+
100+
_sink
101+
.Should()
102+
.HaveMessage("Test message {@TestObject}")
103+
.Appearing()
104+
.Once()
105+
.WithProperty("TestObject")
106+
.HavingADestructuredObject()
107+
.WithProperty("SensitiveProperty")
108+
.WithValue("***MASKED***");
109+
}
93110
}
94111

95112
public class TestObject
96113
{
97114
public string TestProperty { get; set; } = "james.bond@universalexports.com";
98-
115+
public string SensitiveProperty { get; set; } = "Super sensitive data";
99116
public NestedTestObject Nested { get; set; } = new NestedTestObject();
100117
}
101118

0 commit comments

Comments
 (0)