Esempio n. 1
0
        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);

        }
Esempio n. 2
0
        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) });
        }
Esempio n. 3
0
        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;
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
 public StackFrameFilter(StackFrameFilterGroup stackFrameFilterGroup,
     int order)
 {
     _stackFrameFilterGroup = stackFrameFilterGroup;
     Order = order;
 }
Esempio n. 6
0
 private StackFrameFilter CreateSut(StackFrameFilterGroup filterGroup)
 {
     return new StackFrameFilter(filterGroup,
         1);
 }