public void NegativeContentLengthThrowsException() { var options = new ResponseProperties.CreateOptions { Headers = CommonTestHelpers.GenerateList(2), ContentLength = -1 }; ResponseProperties item = new ResponseProperties(options); }
public void NullKeyValuesAreNotCopied(string keyName) { var options = new ResponseProperties.CreateOptions { Headers = CommonTestHelpers.GenerateList(keyName, 2), ContentLength = 10000 }; ResponseProperties item = new ResponseProperties(options); Assert.AreEqual(0, item.Headers.Count()); }
public void CreateOptionsConstructorUpdatesProperties() { var options = new ResponseProperties.CreateOptions { Headers = CommonTestHelpers.GenerateList(2), ContentLength = 10000 }; ResponseProperties item = new ResponseProperties(options); Assert.AreEqual(JsonSerializer.Serialize(options.Headers), JsonSerializer.Serialize(item.Headers)); Assert.AreEqual(options.ContentLength, item.ContentLength); }
public void HeadersAreCopied() { var value = CommonTestHelpers.GenerateList(5); var httpRequest = new Mock <HttpRequest>(); httpRequest.SetUrl(UrlParser.GenerateUri("/Home/Index")); httpRequest.Setup(p => p.Method).Returns("GET"); httpRequest.Setup(p => p.Headers).Returns(new CustomHeaderCollection(value.ToStringValuesDictionary())); var result = HttpRequestFactory.Create(httpRequest.Object); Assert.AreEqual(JsonSerializer.Serialize(value), JsonSerializer.Serialize(result.Properties.Headers)); }
public void QueryStringIsCopied() { var value = CommonTestHelpers.GenerateList(5); var qs = new FormUrlEncodedContent(value).ReadAsStringAsync().Result; var dictionary = CommonTestHelpers.GenerateDictionary(value); var httpRequest = new Mock <HttpRequest>(); httpRequest.SetUrl(UrlParser.GenerateUri("/Home/Index?" + qs)); httpRequest.Setup(p => p.Method).Returns("GET"); var result = HttpRequestFactory.Create(httpRequest.Object); Assert.AreEqual(JsonSerializer.Serialize(value), JsonSerializer.Serialize(result.Properties.QueryString)); }
public void FormDataIsCopied() { KissLog.Tests.Common.CommonTestHelpers.ResetContext(); var value = CommonTestHelpers.GenerateList(5); var dictionary = CommonTestHelpers.GenerateDictionary(value); var httpRequest = new Mock <HttpRequest>(); httpRequest.SetUrl(UrlParser.GenerateUri("/Home/Index")); httpRequest.Setup(p => p.Method).Returns("GET"); httpRequest.Setup(p => p.HasFormContentType).Returns(true); httpRequest.Setup(p => p.Form).Returns(new CustomFormCollection(value.ToStringValuesDictionary())); var result = HttpRequestFactory.Create(httpRequest.Object); Assert.AreEqual(JsonSerializer.Serialize(value), JsonSerializer.Serialize(result.Properties.FormData)); }
public void ObfuscatesTheProperties(string property) { int count = 2; FlushLogArgs flushLogArgs = CommonTestHelpers.Factory.CreateFlushLogArgs(); flushLogArgs.HttpProperties.Request.SetProperties(new Http.RequestProperties(new Http.RequestProperties.CreateOptions { Headers = property == "HttpProperties.Request.Properties.Headers" ? CommonTestHelpers.GenerateList(count) : null, Cookies = property == "HttpProperties.Request.Properties.Cookies" ? CommonTestHelpers.GenerateList(count) : null, FormData = property == "HttpProperties.Request.Properties.FormData" ? CommonTestHelpers.GenerateList(count) : null, ServerVariables = property == "HttpProperties.Request.Properties.ServerVariables" ? CommonTestHelpers.GenerateList(count) : null, Claims = property == "HttpProperties.Request.Properties.Claims" ? CommonTestHelpers.GenerateList(count) : null })); flushLogArgs.HttpProperties.Response.SetProperties(new Http.ResponseProperties(new Http.ResponseProperties.CreateOptions { Headers = property == "HttpProperties.Response.Properties.Headers" ? CommonTestHelpers.GenerateList(count) : null })); var obfuscationService = new Mock <IObfuscationService>(); obfuscationService .Setup(p => p.ShouldObfuscate(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())) .Returns(true); var service = new ObfuscateFlushLogArgsService(obfuscationService.Object); service.Obfuscate(flushLogArgs); IEnumerable <KeyValuePair <string, string> > properties = property == "HttpProperties.Request.Properties.Headers" ? flushLogArgs.HttpProperties.Request.Properties.Headers : property == "HttpProperties.Request.Properties.Cookies" ? flushLogArgs.HttpProperties.Request.Properties.Cookies : property == "HttpProperties.Request.Properties.FormData" ? flushLogArgs.HttpProperties.Request.Properties.FormData : property == "HttpProperties.Request.Properties.ServerVariables" ? flushLogArgs.HttpProperties.Request.Properties.ServerVariables : property == "HttpProperties.Request.Properties.Claims" ? flushLogArgs.HttpProperties.Request.Properties.Claims : property == "HttpProperties.Response.Properties.Headers" ? flushLogArgs.HttpProperties.Response.Properties.Headers : new List <KeyValuePair <string, string> >(); Assert.AreEqual(count, properties.Count()); Assert.IsTrue(properties.All(p => p.Value == ObfuscateFlushLogArgsService.Placeholder)); }
public void EvaluatesOptionsShouldLogFormData() { KissLog.Tests.Common.CommonTestHelpers.ResetContext(); KissLogConfiguration.Options.ShouldLogFormData((KissLog.Http.HttpRequest args) => false); var value = CommonTestHelpers.GenerateList(5); var dictionary = CommonTestHelpers.GenerateDictionary(value); var httpRequest = new Mock <HttpRequest>(); httpRequest.SetUrl(UrlParser.GenerateUri("/Home/Index")); httpRequest.Setup(p => p.Method).Returns("GET"); httpRequest.Setup(p => p.HasFormContentType).Returns(true); httpRequest.Setup(p => p.Form).Returns(new CustomFormCollection(value.ToStringValuesDictionary())); var result = HttpRequestFactory.Create(httpRequest.Object); Assert.AreEqual(0, result.Properties.FormData.Count()); }
public void NullKeyValuesAreNotCopied(string keyName) { var options = new RequestProperties.CreateOptions { Headers = CommonTestHelpers.GenerateList(keyName, 2), Cookies = CommonTestHelpers.GenerateList(keyName, 2), QueryString = CommonTestHelpers.GenerateList(keyName, 2), FormData = CommonTestHelpers.GenerateList(keyName, 2), ServerVariables = CommonTestHelpers.GenerateList(keyName, 2), Claims = CommonTestHelpers.GenerateList(keyName, 2) }; RequestProperties item = new RequestProperties(options); Assert.AreEqual(0, item.Headers.Count()); Assert.AreEqual(0, item.Cookies.Count()); Assert.AreEqual(0, item.QueryString.Count()); Assert.AreEqual(0, item.FormData.Count()); Assert.AreEqual(0, item.ServerVariables.Count()); Assert.AreEqual(0, item.Claims.Count()); }
public void ShouldObfuscatePropertyNameIsSetCorrectly(string property) { int count = 2; FlushLogArgs flushLogArgs = CommonTestHelpers.Factory.CreateFlushLogArgs(); flushLogArgs.HttpProperties.Request.SetProperties(new Http.RequestProperties(new Http.RequestProperties.CreateOptions { Headers = property == "HttpProperties.Request.Properties.Headers" ? CommonTestHelpers.GenerateList(count) : null, Cookies = property == "HttpProperties.Request.Properties.Cookies" ? CommonTestHelpers.GenerateList(count) : null, FormData = property == "HttpProperties.Request.Properties.FormData" ? CommonTestHelpers.GenerateList(count) : null, ServerVariables = property == "HttpProperties.Request.Properties.ServerVariables" ? CommonTestHelpers.GenerateList(count) : null, Claims = property == "HttpProperties.Request.Properties.Claims" ? CommonTestHelpers.GenerateList(count) : null })); flushLogArgs.HttpProperties.Response.SetProperties(new Http.ResponseProperties(new Http.ResponseProperties.CreateOptions { Headers = property == "HttpProperties.Response.Properties.Headers" ? CommonTestHelpers.GenerateList(count) : null })); List <string> propertyNames = new List <string>(); var obfuscationService = new Mock <IObfuscationService>(); obfuscationService .Setup(p => p.ShouldObfuscate(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())) .Callback((string key, string value, string propertyName) => { propertyNames.Add(propertyName); }) .Returns(true); var service = new ObfuscateFlushLogArgsService(obfuscationService.Object); service.Obfuscate(flushLogArgs); Assert.AreEqual(count, propertyNames.Count); Assert.IsTrue(propertyNames.All(p => p == property)); }
public void CreateOptionsConstructorUpdatesProperties() { var options = new RequestProperties.CreateOptions { Headers = CommonTestHelpers.GenerateList(2), Cookies = CommonTestHelpers.GenerateList(2), QueryString = CommonTestHelpers.GenerateList(2), FormData = CommonTestHelpers.GenerateList(2), ServerVariables = CommonTestHelpers.GenerateList(2), Claims = CommonTestHelpers.GenerateList(2), InputStream = $"Input stream {Guid.NewGuid()}" }; RequestProperties item = new RequestProperties(options); Assert.AreEqual(JsonSerializer.Serialize(options.Headers), JsonSerializer.Serialize(item.Headers)); Assert.AreEqual(JsonSerializer.Serialize(options.Cookies), JsonSerializer.Serialize(item.Cookies)); Assert.AreEqual(JsonSerializer.Serialize(options.QueryString), JsonSerializer.Serialize(item.QueryString)); Assert.AreEqual(JsonSerializer.Serialize(options.FormData), JsonSerializer.Serialize(item.FormData)); Assert.AreEqual(JsonSerializer.Serialize(options.ServerVariables), JsonSerializer.Serialize(item.ServerVariables)); Assert.AreEqual(JsonSerializer.Serialize(options.Claims), JsonSerializer.Serialize(item.Claims)); Assert.AreEqual(options.InputStream, item.InputStream); }