Esempio n. 1
0
        private void WebServiceTest_httpget(string relativeUrl)
        {
            var configuration = CreateConfigurationFromString(string.Format(@"
                <nlog throwExceptions='true' >
                    <targets>
                        <target type='WebService'
                                name='ws'
                                url='{0}{1}'
                                protocol='HttpGet'
                                encoding='UTF-8'
                               >
                            <parameter name='param1' type='System.String' layout='${{message}}'/> 
                            <parameter name='param2' type='System.String' layout='${{level}}'/>
     
                        </target>
                    </targets>
                    <rules>
                      <logger name='*' writeTo='ws'>
                       
                      </logger>
                    </rules>
                </nlog>", WsAddress, relativeUrl));


            LogManager.Configuration = configuration;
            var logger = LogManager.GetCurrentClassLogger();

            LogMeController.ResetState(1);

            StartOwinTest(() =>
            {
                logger.Info("message 1 with a post");
            });
        }
Esempio n. 2
0
        public void WebserviceTest_restapi_httpget_flush()
        {
            var logger = SetUpHttpGetWebservice("api/logme");

            LogMeController.ResetState(0);

            var message1 = "message with a post";

            StartOwinTest(() =>
            {
                for (int i = 0; i < 100; ++i)
                {
                    logger.Info(message1);
                }

                // Make triple-flush to fully exercise the async flushing logic
                try
                {
                    LogManager.Flush(0);
                }
                catch (NLog.NLogRuntimeException)
                { }
                LogManager.Flush(); // Waits for flush (Scheduled on top of the previous flush)
                LogManager.Flush(); // Nothing to flush
            });

            Assert.Equal(100, LogMeController.RecievedLogsGetParam1.Count);
        }
        public void WebserviceTest_restapi_httppost_checkingLost()
        {
            const string WsAddress = "http://*****:*****@"
                <nlog throwExceptions='true'>
                    <targets>
                        <target type='WebService'
                                name='ws'
                                url='{0}{1}'
                                protocol='HttpPost'
                                encoding='UTF-8'
                               >
                            <parameter name='param1' type='System.String' layout='${{message}}'/> 
                            <parameter name='param2' type='System.String' layout='${{level}}'/>
     
                        </target>
                    </targets>
                    <rules>
                      <logger name='*' writeTo='ws'>
                       
                      </logger>
                    </rules>
                </nlog>", WsAddress, "api/logme"));


            LogManager.Configuration = configuration;
            var logger = LogManager.GetCurrentClassLogger();



            const int messageCount    = 500;
            var       createdMessages = new List <string>(messageCount);

            for (int i = 0; i < messageCount; i++)
            {
                var message = "message " + i;
                createdMessages.Add(message);
            }

            //reset
            LogMeController.ResetState(messageCount);

            StartOwinTest(() =>
            {
                foreach (var createdMessage in createdMessages)
                {
                    logger.Info(createdMessage);
                }
            }, WsAddress);



            Assert.Equal(LogMeController.CountdownEvent.CurrentCount, 0);
            Assert.Equal(createdMessages.Count, LogMeController.RecievedLogsPostParam1.Count);
            //Assert.Equal(createdMessages, ValuesController.RecievedLogsPostParam1);
        }
Esempio n. 4
0
        public void WebserviceTest_restapi_httppost_checkingLost()
        {
            var configuration = XmlLoggingConfiguration.CreateFromXmlString($@"
                <nlog throwExceptions='true'>
                    <targets>
                        <target type='WebService'
                                name='ws'
                                url='{WsAddress}{"api/logme"}'
                                protocol='HttpPost'
                                encoding='UTF-8'
                               >
                            <parameter name='param1' type='System.String' layout='${{message}}'/> 
                            <parameter name='param2' type='System.String' layout='${{level}}'/>
     
                        </target>
                    </targets>
                    <rules>
                      <logger name='*' writeTo='ws'>
                       
                      </logger>
                    </rules>
                </nlog>");


            LogManager.Configuration = configuration;
            var logger = LogManager.GetCurrentClassLogger();

            RetryingIntegrationTest(3, () =>
            {
                const int messageCount = 1000;
                var createdMessages    = new List <string>(messageCount);

                for (int i = 0; i < messageCount; i++)
                {
                    var message = "message " + i;
                    createdMessages.Add(message);
                }

                //reset
                LogMeController.ResetState(messageCount);

                StartOwinTest(() =>
                {
                    foreach (var createdMessage in createdMessages)
                    {
                        logger.Info(createdMessage);
                    }
                });

                Assert.Equal(0, LogMeController.CountdownEvent.CurrentCount);
                Assert.Equal(createdMessages.Count, LogMeController.ReceivedLogsPostParam1.Count);
                //Assert.Equal(createdMessages, ValuesController.ReceivedLogsPostParam1);
            });
        }
Esempio n. 5
0
        public void WebserviceTest_restapi_httppost()
        {
            var configuration = CreateConfigurationFromString(string.Format(@"
                <nlog throwExceptions='true'>
                    <targets>
                        <target type='WebService'
                                name='ws'
                                url='{0}{1}'
                                protocol='HttpPost'
                                encoding='UTF-8'
                               >
                            <parameter name='param1' type='System.String' layout='${{message}}'/> 
                            <parameter name='param2' type='System.String' layout='${{level}}'/>
     
                        </target>
                    </targets>
                    <rules>
                      <logger name='*' writeTo='ws'>
                       
                      </logger>
                    </rules>
                </nlog>", WsAddress, "api/logme"));


            LogManager.Configuration = configuration;
            var logger = LogManager.GetCurrentClassLogger();

            LogMeController.ResetState(1);



            LogMeController.ResetState(2);

            var message1 = "message 1 with a post";
            var message2 = "a b c é k è ï ?";

            StartOwinTest(() =>
            {
                logger.Info(message1);
                logger.Info(message2);
            });


            Assert.Equal(LogMeController.CountdownEvent.CurrentCount, 0);
            Assert.Equal(2, LogMeController.RecievedLogsPostParam1.Count);
            CheckQueueMessage(message1, LogMeController.RecievedLogsPostParam1);
            CheckQueueMessage(message2, LogMeController.RecievedLogsPostParam1);
        }
Esempio n. 6
0
        public void WebServiceTest_restapi_httpget_querystring()
        {
            var logger = SetUpHttpGetWebservice("api/logme?paramFromConfig=valueFromConfig");

            LogMeController.ResetState(1);

            StartOwinTest(() =>
            {
                logger.Info("another message");
            });


            Assert.Equal(LogMeController.CountdownEvent.CurrentCount, 0);
            Assert.Equal(1, LogMeController.RecievedLogsGetParam1.Count);
            CheckQueueMessage("another message", LogMeController.RecievedLogsGetParam1);
        }
Esempio n. 7
0
        public void WebserviceTest_restapi_httpget()
        {
            var logger = SetUpHttpGetWebservice("api/logme");

            LogMeController.ResetState(2);

            var message1 = "message 1 with a post";
            var message2 = "a b c é k è ï ?";

            StartOwinTest(() =>
            {
                logger.Info(message1);
                logger.Info(message2);
            });


            Assert.Equal(LogMeController.CountdownEvent.CurrentCount, 0);
            Assert.Equal(2, LogMeController.RecievedLogsGetParam1.Count);
            CheckQueueMessage(message1, LogMeController.RecievedLogsGetParam1);
            CheckQueueMessage(message2, LogMeController.RecievedLogsGetParam1);
        }
        public void WebserviceTest_restapi_httppost()
        {
            const string WsAddress = "http://*****:*****@"
                <nlog throwExceptions='true'>
                    <targets>
                        <target type='WebService'
                                name='ws'
                                url='{0}{1}'
                                protocol='HttpPost'
                                encoding='UTF-8'
                               >
                            <parameter name='param1' type='System.String' layout='${{message}}'/> 
                            <parameter name='param2' type='System.String' layout='${{level}}'/>
     
                        </target>
                    </targets>
                    <rules>
                      <logger name='*' writeTo='ws'>
                       
                      </logger>
                    </rules>
                </nlog>", WsAddress, "api/logme"));


            LogManager.Configuration = configuration;
            var logger = LogManager.GetCurrentClassLogger();

            LogMeController.ResetState(1);



            StartOwinTest(() =>
            {
                logger.Info("message 1 with a post");
            }, WsAddress);
        }
Esempio n. 9
0
            public void Xml(LogMeController.ComplexType complexType)
            {
                if (complexType == null)
                {
                    throw new ArgumentNullException("complexType");
                }

                processRequest(complexType);
            }
Esempio n. 10
0
 private void processRequest(LogMeController.ComplexType complexType)
 {
     if (Context != null)
     {
         if (string.Equals(Context.ExpectedParam2, complexType.Param2, StringComparison.OrdinalIgnoreCase)
             && Context.ExpectedParam1 == complexType.Param1)
         {
             Context.CountdownEvent.Signal();
         }
     }
 }