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"); }
/// [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(); } }
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); }
public UseCaseTests() { Bilge.AddHandler(new TCPHandler("127.0.0.1", 9060), HandlerAddOptions.SingleType); Bilge.SetConfigurationResolver((nm, lvl) => { return(System.Diagnostics.SourceLevels.Verbose); }); }
public void AddHandlerOnce(IBilgeMessageHandler mh) { if (!handlerAdded) { b.AddHandler(mh); handlerAdded = true; } }
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); }
public void AddHandler_DoesAddHandler() { _ = TestHelper.GetBilgeAndClearDown(); bool worked = Bilge.AddHandler(new MockMessageHandler()); var count = Bilge.GetHandlers().Count(); Assert.True(worked); Assert.Equal(1, count); }
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); }
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); }
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); }
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); }
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); }
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()); }
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); }
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()); }
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); }
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); }
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); }
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); }
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); }
/// [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"); } }
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); }
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); }
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); }
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); }
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); }
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); }
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); }