public void If_FilterOutBelowAppCode_ThenNoStackFramesABoveAppCodeLeft() { // ARRANGE var filterGroup = new StackFrameFilterGroup(); filterGroup.Definitions.Add(new StackFrameFilterDefinition() { FilterType = StackFrameFilterType.NotLowerThanApplicationCode, Order = 1 }); var errorEvent = ErrorEventGenerator.GenerateErrorWithOneException(); // ACT var filter = CreateSut(filterGroup); var filteredErrorEvent = filter.FilterContents(errorEvent); var stackFrames = filteredErrorEvent.Exceptions[0].StackFrames; // ASSERT Assert.AreEqual(2, stackFrames.Count); Assert.AreEqual("System.ServiceModel.Etc", stackFrames[0].Path); Assert.AreEqual(1, stackFrames[0].Depth); Assert.AreEqual("Logari.ErrorGenerator.Program.RunJob()", stackFrames[1].Path); Assert.AreEqual(2, stackFrames[1].Depth); }
public static void MockNotHigherThanApplicationCodeStackFrameFilter() { var stackFrameFilter = new StackFrameFilterDefinition(); stackFrameFilter.FilterType = StackFrameFilterType.NotHigherThanApplicationCode; stackFrameFilter.Order = 1; var group = new StackFrameFilterGroup(); group.Definitions.Add(stackFrameFilter); ContentFilterFactoryMock = new Mock<IContentFilterFactory>(); ContentFilterFactoryMock.Setup(x => x.GenerateFilters()) .Returns(new List<IContentFilter>() { new StackFrameFilter(group, 1) }); }
private StackFrameFilter GenerateStackFrameFilter(XDocument doc) { var stackFrameFiltersElement = doc.Descendants().FirstOrDefault(x => x.Name.LocalName == "stackFrameFilters"); if (stackFrameFiltersElement != null) { var filterGroup = new StackFrameFilterGroup(); filterGroup.Definitions = new List<StackFrameFilterDefinition>(); foreach (var filterElement in stackFrameFiltersElement.Elements()) { filterGroup.Definitions.Add(GenerateDefinition(filterElement)); } return new StackFrameFilter(filterGroup, 1); } return null; }
public void If_FilterOutUsingRegex_ThenNoStackFramesThatMatchRegexLeft() { // ARRANGE var filterGroup = new StackFrameFilterGroup(); filterGroup.Definitions.Add(new StackFrameFilterDefinition() { FilterType = StackFrameFilterType.RegexPattern, Order = 1, RegexFilterPattern = "^System." }); var errorEvent = ErrorEventGenerator.GenerateErrorWithOneException(); // ACT var filter = CreateSut(filterGroup); var filteredErrorEvent = filter.FilterContents(errorEvent); var stackFrames = filteredErrorEvent.Exceptions[0].StackFrames; // ASSERT Assert.AreEqual(1, stackFrames.Count); Assert.AreEqual("Logari.ErrorGenerator.Program.RunJob()", stackFrames[0].Path); Assert.AreEqual(1, stackFrames[0].Depth); }
public StackFrameFilter(StackFrameFilterGroup stackFrameFilterGroup, int order) { _stackFrameFilterGroup = stackFrameFilterGroup; Order = order; }
private StackFrameFilter CreateSut(StackFrameFilterGroup filterGroup) { return new StackFrameFilter(filterGroup, 1); }