Example #1
0
        private void Bgw_DoWork(object sender, DoWorkEventArgs e)
        {
            var parameters = (SearchCriteria)e.Argument;

            var dateRange = DateRange.Unknown;

            if (parameters.DateRangeToday)
            {
                dateRange = DateRange.Today;
            }
            if (parameters.DateRangeLast4Hours)
            {
                dateRange = DateRange.Last4Hours;
            }
            if (parameters.DateRangeLastHour)
            {
                dateRange = DateRange.LastHour;
            }
            if (parameters.DateRangeJustNow)
            {
                dateRange = DateRange.JustNow;
            }

            engine = new GrepWinEngine(parameters.TargetFolder);
            engine.ReportSearchProgress += Engine_ReportSearchProgress;

            if (parameters.UseDateRange && !parameters.DateRangeToday && !parameters.DateRangeLast4Hours && !parameters.DateRangeLastHour && !parameters.DateRangeJustNow)
            {
                engine.Search(parameters.SearchText, parameters.SearchPattern, parameters.StartTime, parameters.EndTime, parameters.IncludeSubfolders);
            }
            else
            {
                engine.Search(parameters.SearchText, parameters.SearchPattern, dateRange, parameters.IncludeSubfolders);
            }
        }
Example #2
0
        public void When_calling_search_with_test_folder_return_valid_file_data_5()
        {
            string folderToSearch = TestHelper.GetTemplateDataPath("Test Files");

            var expected = new List <SearchResult>
            {
                new SearchResult
                {
                    FullPath     = TestHelper.GetTemplateDataPath(@"Test Files\86d47d79-8be0-4c62-a663-87402b3ac726_Request.xml"),
                    Size         = "4.39 KB",
                    Matches      = 1,
                    DateModified = new DateTime(2017, 08, 14, 13, 19, 04),
                    FileMatch    = true
                },
                new SearchResult
                {
                    FullPath     = TestHelper.GetTemplateDataPath(@"Test Files\e59bf54d-2b9a-4861-8db8-38b760f5413a_Request.xml"),
                    Size         = "4.39 KB",
                    Matches      = 1,
                    DateModified = new DateTime(2017, 08, 14, 14, 25, 39),
                    FileMatch    = true
                }
            };

            IGrepWinEngine gwe = new GrepWinEngine(folderToSearch);

            gwe.Search("<Value>275908</Value>", "", new DateTime(2017, 08, 14, 13, 0, 0), new DateTime(2017, 08, 14, 15, 0, 0));
            var actual = gwe.SearchResults;

            Assert.AreEqual(2, actual.Count);
            Assert.AreEqual(expected[0].FileName, actual[0].FileName);
            Assert.AreEqual((expected[1].DateModified - DateTime.MinValue).Seconds, (actual[1].DateModified - DateTime.MinValue).Seconds);
        }
Example #3
0
        public void When_calling_search_with_test_folder_return_valid_file_data_4_1()
        {
            string folderToSearch = TestHelper.GetTemplateDataPath("Test Files");

            IGrepWinEngine gwe = new GrepWinEngine(folderToSearch);

            gwe.Search("<Value>275908</Value>", "*_Request.xml", new DateTime(2017, 08, 14, 13, 0, 0), new DateTime(2017, 08, 14, 15, 0, 0), true);
            var actual = gwe.SearchResults;

            Assert.AreEqual(3, actual.Count);
        }
Example #4
0
        public void When_calling_search_with_test_folder_return_valid_file_data_3()
        {
            string folderToSearch = TestHelper.GetTemplateDataPath("Test Files");

            IGrepWinEngine gwe = new GrepWinEngine(folderToSearch);

            gwe.Search("<Value>275908</Value>", "*_Response.xml");
            var actual = gwe.SearchResults;

            Assert.AreEqual(0, actual.Count);
        }
Example #5
0
        public void Call_GetAllFileEntries_valid_target_folder_no_filters()
        {
            var criteria = new SearchCriteria
            {
                TargetFolder = _targetFolder
            };

            GrepWinEngine gwe    = new GrepWinEngine();
            var           actual = gwe.GetAllFiles(criteria);

            Assert.AreEqual(12, actual.Count);
        }
Example #6
0
        public void Call_GetAllFileEntries_valid_target_folder_searchpattern_match()
        {
            var criteria = new SearchCriteria
            {
                TargetFolder  = _targetFolder,
                SearchPattern = "c*_Request.xml"
            };

            GrepWinEngine gwe    = new GrepWinEngine();
            var           actual = gwe.GetAllFiles(criteria);

            Assert.AreEqual(2, actual.Count);
        }
Example #7
0
        public void Call_GetAllFileEntries_valid_target_folder_specify_searchpattern_startdate_and_enddate_match()
        {
            var criteria = new SearchCriteria
            {
                TargetFolder = _targetFolder,
                UseDateRange = true,
                StartTime    = new DateTime(2017, 08, 14, 13, 00, 00),
                EndTime      = new DateTime(2017, 08, 14, 15, 00, 00)
            };

            GrepWinEngine gwe    = new GrepWinEngine();
            var           actual = gwe.GetAllFiles(criteria);

            Assert.AreEqual(4, actual.Count);
        }
Example #8
0
        public void Call_GetAllFileEntries_valid_target_folder_specify_searchpattern_date_range_today_match_include_subfolders()
        {
            var criteria = new SearchCriteria
            {
                TargetFolder      = _targetFolder,
                UseDateRange      = true,
                DateRangeToday    = true,
                IncludeSubfolders = true
            };

            GrepWinEngine gwe    = new GrepWinEngine();
            var           actual = gwe.GetAllFiles(criteria);

            Assert.AreEqual(2, actual.Count);
        }
Example #9
0
        public void Call_GetAllFileEntries_valid_target_folder_no_filters()
        {
            string targetFolder = TestHelper.GetTemplateDataPath("Test Files");

            var criteria = new SearchCriteria
            {
                TargetFolder = targetFolder,
            };

            GrepWinEngine gwe = new GrepWinEngine(targetFolder);

            gwe.GetAllFileEntries(criteria);
            var actual = gwe.SearchResults;

            Assert.AreEqual(12, actual.Count);
        }
Example #10
0
        public void When_calling_search_with_test_folder_return_valid_file_data()
        {
            string targerFolder = TestHelper.GetTemplateDataPath("Test Files");

            var expected = new List <SearchResult>
            {
                new SearchResult
                {
                    FullPath     = TestHelper.GetTemplateDataPath(@"Test Files\22be1002-871c-4ccc-a799-864c60f55e28_Response.xml"),
                    Size         = "4.50 KB",
                    Matches      = 1,
                    DateModified = new DateTime(2017, 08, 14, 20, 55, 26),
                    FileMatch    = true
                },
                new SearchResult
                {
                    FullPath     = TestHelper.GetTemplateDataPath(@"Test Files\86d47d79-8be0-4c62-a663-87402b3ac726_Response.xml"),
                    Size         = "4.50 KB",
                    Matches      = 1,
                    DateModified = new DateTime(2017, 08, 14, 21, 01, 36),
                    FileMatch    = true
                },
                new SearchResult
                {
                    FullPath     = TestHelper.GetTemplateDataPath(@"Test Files\e59bf54d-2b9a-4861-8db8-38b760f5413a_Response.xml"),
                    Size         = "4.50 KB",
                    Matches      = 1,
                    DateModified = new DateTime(2017, 08, 14, 21, 02, 09),
                    FileMatch    = true
                }
            };

            IGrepWinEngine gwe = new GrepWinEngine(targerFolder);

            gwe.Search("<GLA>", "*_Response.xml");
            var actual = gwe.SearchResults;

            Assert.AreEqual(3, actual.Count);
            Assert.AreEqual(expected[0].FileName, actual[0].FileName);
            Assert.AreEqual((expected[1].DateModified - DateTime.MinValue).Seconds, (actual[1].DateModified - DateTime.MinValue).Seconds);
            Assert.AreEqual(expected[2].Matches, actual[2].Matches);
        }