public async Task ForwardedForIpIsAddedCorrectly(string ipValueToForward, string expectedIpInHeader)
        {
            //set this before creating the transport
            LogglyConfig.Instance.Transport.ForwardedForIp = ipValueToForward;
            _transport = new HttpMessageTransport(_handler.Object);

            var message = new LogglyMessage {
                Content = "Test1"
            };
            await _transport.Send(new[] { message });

            Assert.AreEqual(expectedIpInHeader, _ipHeader);
        }
Exemplo n.º 2
0
        public void Setup()
        {
            LogglyConfig.Instance.TagConfig.Tags.Clear();
            LogglyConfig.Instance.TagConfig.Tags.Add(new SimpleTag {
                Value = "myTag"
            });
            LogglyConfig.Instance.CustomerToken = "MyLogglyToken";
            LogglyConfig.Instance.Transport.EndpointHostname = "test";
            LogglyConfig.Instance.Transport.EndpointPort     = 443;
            var handler = new Mock <FakeHttpMessageHandler> {
                CallBase = true
            };

            handler.Setup(x => x.Send(It.IsAny <HttpRequestMessage>()))
            .Callback(async(HttpRequestMessage x) =>
            {
                _requestUri     = x.RequestUri;
                _tags           = x.Headers.GetValues("X-LOGGLY-TAG").FirstOrDefault();
                _requestContent = await x.Content.ReadAsStringAsync();
            }
                      )
            .Returns((HttpRequestMessage request) =>
            {
                if ((request.Headers.GetValues("X-LOGGLY-TAG").FirstOrDefault() ?? "").Contains("triggerError"))
                {
                    return(new HttpResponseMessage
                    {
                        StatusCode = HttpStatusCode.InternalServerError,
                        Content = new StringContent("An error occurred", Encoding.UTF8, "text/plain")
                    });
                }
                return(new HttpResponseMessage
                {
                    StatusCode = HttpStatusCode.OK,
                    Content = new StringContent("{\"response\" : \"ok\"}", Encoding.UTF8, "application/json")
                });
            }
                     );

            _transport = new HttpMessageTransport(handler.Object);
        }
        public void Setup()
        {
            LogglyConfig.Instance.TagConfig.Tags.Clear();
            LogglyConfig.Instance.TagConfig.Tags.Add(new SimpleTag { Value = "myTag" });
            LogglyConfig.Instance.CustomerToken = "MyLogglyToken";
            LogglyConfig.Instance.Transport.EndpointHostname = "test";
            LogglyConfig.Instance.Transport.EndpointPort = 443;
            var handler = new Mock<FakeHttpMessageHandler> { CallBase = true };

            handler.Setup(x => x.Send(It.IsAny<HttpRequestMessage>()))
                .Callback(async (HttpRequestMessage x) =>
                    {
                        _requestUri = x.RequestUri;
                        _tags = x.Headers.GetValues("X-LOGGLY-TAG").FirstOrDefault();
                        _requestContent = await x.Content.ReadAsStringAsync();
                    }
                )
               .Returns((HttpRequestMessage request)=>
                    {
                        if ((request.Headers.GetValues("X-LOGGLY-TAG").FirstOrDefault() ?? "").Contains("triggerError"))
                        {
                            return new HttpResponseMessage
                            {
                                StatusCode = HttpStatusCode.InternalServerError,
                                Content = new StringContent("An error occurred", Encoding.UTF8, "text/plain")
                            };
                        }
                        return new HttpResponseMessage
                        {
                            StatusCode = HttpStatusCode.OK,
                            Content = new StringContent("{\"response\" : \"ok\"}", Encoding.UTF8, "application/json")
                        };
                    }
               );

            _transport = new HttpMessageTransport(handler.Object);
        }