public void Enable_sanitization_should_add_payment_filter_test() { var log = new TraceLog(); PopulateDefaults(log); log.EnableSanitization(); Assert.True(log.Filters.Exists(f => f is PaymentDataFilter)); }
public async Task Enable_sanitization_should_enable_payment_filter_test() { var waitHandle = new ManualResetEvent(false); var nullSink = new Mock <ILogSink>(); nullSink .Setup(s => s.WriteAsync(It.IsAny <ILog>(), It.IsAny <byte[]>())) .Returns(() => { waitHandle.Set(); return(Task.CompletedTask); }); ILog updatedLog = null; var mockFormatter = new Mock <ILogFormatter>(); mockFormatter .Setup(f => f.Format(It.IsAny <ILog>())) .Returns <ILog>(l => { updatedLog = l; return(new byte[] { }); }); var mockConfigurationProvider = new Mock <IConfigurationProvider>(); mockConfigurationProvider.Setup(x => x.GetGlobalConfigurationAsync <bool>(It.IsAny <string>(), It.IsAny <string>())).ReturnsAsync(false); var log = new TraceLog(); PopulateDefaults(log); log.SetValue("txt_with_card", "<card>4111111111111111</card>"); log.EnableSanitization(); var writer = new LogWriter(mockFormatter.Object, nullSink.Object); await writer.WriteAsync(log); waitHandle.WaitOne(); Assert.NotNull(updatedLog); var cardText = updatedLog.GetFields().SingleOrDefault(x => x.Key.Equals("txt_with_card")).Value; Assert.NotNull(cardText); Assert.Equal("<card>411111******1111</card>", cardText); }