Esempio n. 1
0
        public FileUpdateTests()
        {
            if (b == null)
            {
                b = new Bilge();
                b.AddHandler(new TCPHandler("127.0.0.1", 5060, true));
                b.AddHandler(imh);
            }

            uth = new UnitTestHelper();

            ts = new TestSupport(uth);
            b.Info.Log("UTH Online");
        }
Esempio n. 2
0
        /// [Trait(Traits.Age, Traits.Fresh)]
        //[Trait(Traits.Style, Traits.Unit)]
        public void MessageBatching_Works_Enabled()
        {
            const int MESSAGE_BATCHSIZE = 10;

            Bilge sut = TestHelper.GetBilgeAndClearDown();

            sut.SetMessageBatching(MESSAGE_BATCHSIZE, 500000);

            sut.ActiveTraceLevel = SourceLevels.Information;
            var mmh = new MockMessageHandler();

            sut.AddHandler(mmh);

            for (int i = 0; i < 100; i++)
            {
                sut.Info.Log("Dummy Message");

                if (i % 25 == 0)
                {
                    //Thread.Sleep(100);
                    // The flush forces the write, this is needed otherwise it bombs through
                    // too fast for more than one write to the handler to occur.
                    sut.Flush();
                }

                if (mmh.TotalMessagesRecieved > 0)
                {
                    // Any time that we get a batch it must be at least MESSAGE_BATCHSIZE msgs.
                    Assert.True(mmh.LastMessageBatchSize >= MESSAGE_BATCHSIZE, $"Batch Size NotBig Enough at {i} batch Size {mmh.LastMessageBatchSize}");
                }
            }
        }
        public void ObjectDump_WritesObjectContents()
        {
#if ACTIVEDEBUG
            var ied = new IEmergencyDiagnostics();
#else
            var ied = new MockEmergencyDiagnostics();
#endif
            try {
                ied.Log("START OD");
                TestObject to = new TestObject();
                to.stringvalue = "arfle barfle gloop";
                Bilge sut = TestHelper.GetBilgeAndClearDown();
                ied.Log("Before Anything Done");
                var mmh = new MockMessageHandler();
                sut.AddHandler(mmh);

                sut.Info.Dump(to, "context");
                ied.Log("FLUSH OD");
                sut.Flush();
                ied.Log("FlushAfter OD");
                mmh.SetMustContainForBody("arfle barfle gloop");
                ied.Log("ASSERT OD");
                mmh.AssertAllConditionsMetForAllMessages(true, true);
            } finally {
                ied.Log("END OD");
                ied.Shutdown();
            }
        }
Esempio n. 4
0
        internal void Prepare(string initString)
        {
            b = new Bilge(tl: System.Diagnostics.TraceLevel.Verbose);
            b.AddHandler(new TCPHandler("127.0.0.1", 9060));

            b.Verbose.Log(initString);
        }
Esempio n. 5
0
 public UseCaseTests()
 {
     Bilge.AddHandler(new TCPHandler("127.0.0.1", 9060), HandlerAddOptions.SingleType);
     Bilge.SetConfigurationResolver((nm, lvl) => {
         return(System.Diagnostics.SourceLevels.Verbose);
     });
 }
Esempio n. 6
0
 public void AddHandlerOnce(IBilgeMessageHandler mh)
 {
     if (!handlerAdded)
     {
         b.AddHandler(mh);
         handlerAdded = true;
     }
 }
Esempio n. 7
0
        public void Assert_False_DoesNothingIfFalse()
        {
            var   mmh = new MockMessageHandler();
            Bilge sut = new Bilge();

            sut.AddHandler(mmh);
            sut.Assert.True(true);
            Assert.Equal(0, mmh.AssertionMessageCount);
        }
Esempio n. 8
0
        public void AddHandler_DoesAddHandler()
        {
            _ = TestHelper.GetBilgeAndClearDown();

            bool worked = Bilge.AddHandler(new MockMessageHandler());
            var  count  = Bilge.GetHandlers().Count();

            Assert.True(worked);
            Assert.Equal(1, count);
        }
Esempio n. 9
0
        public void GetHandlers_FilterReturnsNamed()
        {
            _ = TestHelper.GetBilgeAndClearDown();

            Bilge.AddHandler(new MockMessageHandler("arfle"));
            Bilge.AddHandler(new MockMessageHandler("barfle"));
            var count = Bilge.GetHandlers("arf*").Count();

            Assert.Equal(1, count);
        }
Esempio n. 10
0
        public void VerboseNotLogged_IfNotVerbose()
        {
            MockMessageHandler mmh = new MockMessageHandler();
            Bilge b = TestHelper.GetBilgeAndClearDown(setTrace: false);

            b.ActiveTraceLevel = SourceLevels.Information;
            b.AddHandler(mmh);
            b.Verbose.Log("Msg");
            Assert.Equal <int>(0, mmh.TotalMessagesRecieved);
        }
Esempio n. 11
0
        public void AddHandler_SingleType_AddsDifferentTypes()
        {
            _ = TestHelper.GetBilgeAndClearDown();

            Bilge.AddHandler(new MockMessageHandler(), HandlerAddOptions.SingleType);
            Bilge.AddHandler(new InMemoryHandler(), HandlerAddOptions.SingleType);
            var ct = Bilge.GetHandlers().Count();

            Assert.Equal(2, ct);
        }
Esempio n. 12
0
        public void AddHandler_SingleName_DoesNotAddSecondName()
        {
            _ = TestHelper.GetBilgeAndClearDown();

            Bilge.AddHandler(new MockMessageHandler("arfle"), HandlerAddOptions.SingleName);
            Bilge.AddHandler(new MockMessageHandler("arfle"), HandlerAddOptions.SingleName);
            var ct = Bilge.GetHandlers().Count();

            Assert.Equal(1, ct);
        }
Esempio n. 13
0
        public void AddHandler_SingleName_AddsDifferentNames()
        {
            _ = TestHelper.GetBilgeAndClearDown();

            Bilge.AddHandler(new MockMessageHandler("arfle"), HandlerAddOptions.SingleName);
            Bilge.AddHandler(new MockMessageHandler("barfle"), HandlerAddOptions.SingleName);
            var ct = Bilge.GetHandlers().Count();

            Assert.Equal(2, ct);
        }
Esempio n. 14
0
        public void GetHandlers_DefaultReturnsAll()
        {
            _ = TestHelper.GetBilgeAndClearDown();

            Bilge.AddHandler(new MockMessageHandler());
            Bilge.AddHandler(new MockMessageHandler());
            Bilge.AddHandler(new MockMessageHandler());
            Bilge.AddHandler(new MockMessageHandler());

            Assert.Equal(4, Bilge.GetHandlers().Count());
        }
Esempio n. 15
0
        public void QueuedMessagesNotWrittenIfWriteOnFailSet()
        {
            MockMessageHandler mmh = new MockMessageHandler();
            Bilge b = TestHelper.GetBilgeAndClearDown();

            b.AddHandler(mmh);
            b.WriteOnFail = true;
            WriteASeriesOfMessages(b);
            b.Flush();
            Assert.Equal <int>(0, mmh.TotalMessagesRecieved);
        }
Esempio n. 16
0
        public void AddHandler_DuplicateByNameFailsOnSecond()
        {
            _ = TestHelper.GetBilgeAndClearDown();

            Bilge.AddHandler(new MockMessageHandler());
            Bilge.AddHandler(new MockMessageHandler());

            var ct = Bilge.GetHandlers().Count();

            Assert.Equal(2, Bilge.GetHandlers().Count());
        }
Esempio n. 17
0
        public void Assert_False_FailsIfTrue()
        {
            var   mmh = new MockMessageHandler();
            Bilge sut = new Bilge();

            sut.AddHandler(mmh);
            sut.Assert.True(false);

            sut.Flush();

            Assert.True(mmh.AssertionMessageCount > 0);
        }
Esempio n. 18
0
        public void Bilge_EnterSection_TracesSection()
        {
            var   mmh = new MockMessageHandler();
            Bilge sut = new Bilge(tl: SourceLevels.Verbose);

            sut.AddHandler(mmh);
            mmh.SetMethodNameMustContain("monkeyfish");
            sut.Info.EnterSection("random sectiion", "monkeyfish");
            sut.Flush();

            mmh.AssertAllConditionsMetForAllMessages(true, true);
        }
Esempio n. 19
0
        public void MethodName_MatchesThisMethodName()
        {
            MockMessageHandler mmh = new MockMessageHandler();

            mmh.SetMethodNameMustContain(nameof(MethodName_MatchesThisMethodName));
            Bilge b = TestHelper.GetBilgeAndClearDown();

            b.AddHandler(mmh);
            b.Info.Log("This is a message");
            b.Flush();// (true);
            mmh.AssertAllConditionsMetForAllMessages(true);
        }
        public void BasicAlert_GetsWritten_TraceOff()
        {
            Bilge sut = TestHelper.GetBilgeAndClearDown();

            var mmh = new MockMessageHandler();

            sut.AddHandler(mmh);

            Bilge.Alert.Online("test-appname");
            sut.Flush();

            Assert.Equal(1, mmh.TotalMessagesRecieved);
        }
Esempio n. 21
0
        public void AddHandler_DuplicateAddsTwoHandlers()
        {
            _ = TestHelper.GetBilgeAndClearDown();

            bool worked = Bilge.AddHandler(new MockMessageHandler());

            worked &= Bilge.AddHandler(new MockMessageHandler());

            Assert.True(worked);
            var ct = Bilge.GetHandlers().Count();

            Assert.Equal(2, ct);
        }
Esempio n. 22
0
        public void Bilge_LeaveSection_TracesSection()
        {
            var   mmh = new MockMessageHandler();
            Bilge sut = new Bilge(tl: SourceLevels.Verbose);

            sut.AddHandler(mmh);

            mmh.SetMethodNameMustContain("bannanaball");
            sut.Info.LeaveSection("bannanaball");

            sut.Flush();

            mmh.AssertAllConditionsMetForAllMessages(true, true);
        }
Esempio n. 23
0
        /// [Trait(Traits.Age, Traits.Fresh)]
        //[Trait(Traits.Style, Traits.Unit)]
        public void MessageBatching_Works_Timed()
        {
            const int MESSAGE_BATCHSIZE = 10000;

            Bilge sut = TestHelper.GetBilgeAndClearDown();

            sut.SetMessageBatching(MESSAGE_BATCHSIZE, 250);

            sut.ActiveTraceLevel = SourceLevels.Information;
            var mmh = new MockMessageHandler();

            sut.AddHandler(mmh);

            sut.Info.Log("Dummy Message");

            Stopwatch timeSoFar = new Stopwatch();

            timeSoFar.Start();

            bool writesFound = false;

            while (timeSoFar.Elapsed.TotalMilliseconds < 750)
            {
                // This is not particularly precise because of threading and guarantees so we are using some generous margins for error.
                // With the write time of not less than 250 we shouldnt see any writes for the first 175 MS.  If we do then its a test fail.
                // Similarly if we reach 750 ms and havent seen any writes thats a test fail.

                if (timeSoFar.ElapsedMilliseconds < 175)
                {
                    Assert.Equal(0, mmh.TotalMessagesRecieved);
                }
                else
                {
                    if (mmh.TotalMessagesRecieved > 0)
                    {
                        writesFound = true;
                        break;
                    }
                }
                if (timeSoFar.ElapsedMilliseconds > 350)
                {
                    sut.Flush();
                }
            }

            if (!writesFound)
            {
                throw new InvalidOperationException("The writes never hit the listener");
            }
        }
Esempio n. 24
0
        public void InfoNotLogged_IfNotInfo()
        {
            MockMessageHandler mmh = new MockMessageHandler();
            Bilge b = TestHelper.GetBilgeAndClearDown();

            b.ActiveTraceLevel = SourceLevels.Warning;
            b.AddHandler(mmh);

            b.Info.Log("msg");
            b.Verbose.Log("Msg");

            b.Flush();
            Assert.Equal <int>(0, mmh.TotalMessagesRecieved);
        }
Esempio n. 25
0
        public void MessageBatching_Works_Default1()
        {
            Bilge sut = TestHelper.GetBilgeAndClearDown();

            sut.ActiveTraceLevel = SourceLevels.Information;
            var mmh = new MockMessageHandler();

            sut.AddHandler(mmh);

            sut.Info.Log("Dummy Message");
            sut.Flush();
            sut.Info.Log("Dummy Message");
            sut.Flush();
            Assert.Equal(1, mmh.LastMessageBatchSize);
        }
Esempio n. 26
0
        public void Enter_WritesMethodName()
        {
            Bilge sut = TestHelper.GetBilgeAndClearDown();
            var   mmh = new MockMessageHandler();

            sut.AddHandler(mmh);
            sut.Info.E();

            sut.Flush();

            mmh.SetMustContainForBody(nameof(Enter_WritesMethodName));

            // E generates more than one message, therefore we have to check that one of the messages had the name in it.
            mmh.AssertAllConditionsMetForAllMessages(true, true);
        }
Esempio n. 27
0
        public void ProcessId_IsCorrectProcessId()
        {
            int testProcId = Process.GetCurrentProcess().Id;

            MockMessageHandler mmh = new MockMessageHandler();

            mmh.AssertProcessId(testProcId);
            mmh.AssertManagedThreadId(Thread.CurrentThread.ManagedThreadId);
            Bilge sut = TestHelper.GetBilgeAndClearDown();

            sut.AddHandler(mmh);
            sut.Info.Log("Message Written");
            sut.Flush();

            mmh.AssertAllConditionsMetForAllMessages(true);
        }
Esempio n. 28
0
        public void DirectWrite_IsPossible()
        {
            Bilge sut = TestHelper.GetBilgeAndClearDown();

            sut.DisableMessageBatching();
            sut.ActiveTraceLevel = SourceLevels.Verbose;

            var mmh = new MockMessageHandler();

            sut.AddHandler(mmh);

            sut.Direct.Write("DirectMessage", "DirectFurther");
            sut.Flush();

            Assert.Equal(1, mmh.TotalMessagesRecieved);
        }
Esempio n. 29
0
        public void Context_FromConstructorReachesMessage()
        {
            MockMessageHandler mmh     = new MockMessageHandler();
            string             context = "xxCtxtxx";

            mmh.AssertContextIs(context);
            Bilge sut = TestHelper.GetBilgeAndClearDown(context);

            sut.AddHandler(mmh);

            sut.Info.Log("Message should have context");
            sut.Flush();
            Thread.Sleep(1);

            mmh.AssertAllConditionsMetForAllMessages(true);
        }
Esempio n. 30
0
        public void Exit_WritesMethodName()
        {
            var mmh = new MockMessageHandler();

            mmh.SetMethodNameMustContain(nameof(Exit_WritesMethodName));
            Bilge sut = TestHelper.GetBilgeAndClearDown();

            sut.ActiveTraceLevel = SourceLevels.Verbose;
            sut.AddHandler(mmh);
            sut.Info.X();

            sut.Flush();

            // X generates more than one message, therefore we have to check that one of the messages had the name in it.
            mmh.AssertAllConditionsMetForAllMessages(true, true);
        }