Esempio n. 1
0
        public void Should_be_able_to_apply_filter_using_delegatefilter()
        {
            var filter = new TextLogMaskingFilter(new TextMaskingRule()
            {
                Field = "txid", Mask = Masks.DefaultMask
            });

            var delegateFilter = new DelegateFilter(filter.Apply);

            var id     = Convert.ToString(Guid.NewGuid());
            var apiLog = Utility.GetApiLog();

            apiLog.Id = id;
            var filteredLog = delegateFilter.Apply(apiLog);

            var formatter     = JsonLogFormatter.Instance;
            var firehoseSink  = Utility.GetFirehoseSink();
            var redisSink     = Utility.GetRedisSink();
            var compositeSink = Utility.GetCompositeSink(formatter, redisSink, firehoseSink);

            var logWriter = new LogWriter(formatter, compositeSink);

            logWriter.WriteAsync(filteredLog).GetAwaiter().GetResult();
            //Thread.Sleep(60000);

            var logData = Utility.GetEsLogDataById(id);
            var esLogId = string.Empty;

            var    expected = "1*********3";
            string actual;

            logData.TryGetValue("txid", out actual);

            Assert.Equal(expected, actual);
        }
Esempio n. 2
0
        public void VerifyWhenCustomMaskSpecified_FieldsAreMaskedCorrectly()
        {
            var apiLog = new ApiLog();
            var filter = new DelegateFilter((ILog log) =>
            {
                var copy   = new List <KeyValuePair <string, object> >();
                var fields = log.GetFields();
                foreach (var field in fields)
                {
                    if (field.Key == "fieldToMask")
                    {
                        copy.Add(new KeyValuePair <string, object>(field.Key, Masks.DefaultMask.Mask(field.Value.ToString())));
                    }
                    else if (field.Key == "fieldNotToMask")
                    {
                        copy.Add(field);
                    }
                }
                return(new SimpleLog(log.Id, log.LogTime, copy));
            });

            apiLog.TrySetValue("fieldToMask", "ValueToMask");
            apiLog.TrySetValue("fieldNotToMask", "ValueNotToMask");

            var masked         = filter.Apply(apiLog);
            var maskedFields   = masked.GetFields();
            var maskedField    = maskedFields.First(x => x.Key == "fieldToMask").Value;
            var notMaskedField = maskedFields.First(x => x.Key == "fieldNotToMask").Value;

            Assert.Equal(maskedField, "V*********k");
            Assert.Equal(notMaskedField, "ValueNotToMask");
        }