public async Task HttpLogRequestProtectsMapsFormBody()
        {
            var option = new RaccoonLogHttpOptions();

            option.Request.SensitiveData.Forms.Add("age");

            options.Setup(o => o.Value).Returns(option);

            var handler = new DefaultHttpRequestLogFormHandler(options.Object, NullProtector.Value);
            var context = new DefaultHttpContext();

            context.Features.Set <IFormFeature>(FakeForm.Value);

            var requestLog = new HttpRequestLog(UrlLog.Default, null, null, null, null);

            await handler.Handle(context.Request, requestLog);

            var body = (requestLog.Body as FormLog);

            Assert.NotEqual(body.Form.First(f => f.Key == "age").Value, context.Request.Form["age"]);
        }
        public async Task HttpLogRequestMapsFormBody()
        {
            options.Setup(o => o.Value).Returns(new RaccoonLogHttpOptions());

            var handler = new DefaultHttpRequestLogFormHandler(options.Object, NullProtector.Value);
            var context = new DefaultHttpContext();

            context.Features.Set <IFormFeature>(FakeForm.Value);

            var requestLog = new HttpRequestLog(UrlLog.Default, null !, null, null !, null !);

            await handler.Handle(context.Request, requestLog);

            var body = (requestLog.Body as FormLog);

            Assert.Equal(body.Form, context.Request.Form);

            foreach (var item in body.Files)
            {
                Assert.Equal(item, (FileLog)((FormFile)context.Request.Form.Files.GetFile(item.Name)));
            }
        }