Пример #1
0
        public void GivenAnExceptionInFetchSearchResultsAndProcess_WhenMainLogicCompletes_ThenShouldOutPutTheResultIntoLog()
        {
            //Arrange
            var transportType          = "https://";
            var exceptionString        = "Test Exception";
            var mockedGetDataClass     = new Mock <IGetDataClass>();
            var mockedILogOutToFile    = new Mock <ILogOutToFile>();
            var mockedIWebClientHelper = new Mock <IWebClientHelper>();

            var currentTime   = DateTime.Now;
            var test          = ConfigurationManager.AppSettings["NumberOfPages"];
            var writeLocation = string.Format("{0}\\LogFiles\\{1}{2}", "C:\\Temp", currentTime.Year, currentTime.DayOfYear);

            var fileTestPre = File.ReadLines(writeLocation + "\\Exception Log.txt").Where(m => m.Contains("Test Exception"));
            var preCount    = fileTestPre.Count();

            mockedGetDataClass.Setup(m => m.fetchSearchResultsandProcess(CheckUrl(transportType + TestSearchEngine), TestKeyWords, CheckUrl(transportType + TestSearchWord))).Throws(new TestException(exceptionString));
            var testController = new ControllerForSearch(mockedGetDataClass.Object, mockedIWebClientHelper.Object, new LogOutToFile());

            //Act
            var testResult = testController.MainLogic(TestKeyWords, TestSearchEngine, TestSearchWord);

            //Assert
            testResult.Should().Be(string.Format("An Exception Has occured While Operating, Exception was : {0} please see the log for more detail", exceptionString));

            //TODO Cleanup test data.
            var fileTestPost = File.ReadLines(writeLocation + "\\Exception Log.txt").Where(m => m.Contains("Test Exception"));
            var postCount    = fileTestPost.Count();

            postCount.Should().Be(preCount + 1);
        }
Пример #2
0
        public void GivenAnSuccessFulRun_WhenMainLogicCompletes_ThenShouldOutPutTheResultIntoLog()
        {
            //Arrange
            var transportType          = "https://";
            var exceptionString        = "Test Exception";
            var testOutput             = string.Format("The count of {0}, in search engine {1} is : {2}", "https://" + TestSearchWord, "https://" + TestSearchEngine, TestCount);
            var mockedGetDataClass     = new Mock <IGetDataClass>();
            var mockedILogOutToFile    = new Mock <ILogOutToFile>();
            var mockedIWebClientHelper = new Mock <IWebClientHelper>();

            var currentTime   = DateTime.Now;
            var test          = ConfigurationManager.AppSettings["NumberOfPages"];
            var writeLocation = string.Format("{0}\\LogFiles\\{1}{2}", "C:\\Temp", currentTime.Year, currentTime.DayOfYear);

            var fileTestPre = File.ReadLines(writeLocation + "\\Output Log.txt").Where(m => m.Contains(testOutput));
            var preCount    = fileTestPre.Count();

            mockedGetDataClass.Setup(m => m.fetchSearchResultsandProcess(CheckUrl(transportType + TestSearchEngine), TestKeyWords, CheckUrl(transportType + TestSearchWord))).Returns(TestCount);
            var testController = new ControllerForSearch(mockedGetDataClass.Object, mockedIWebClientHelper.Object, new LogOutToFile());

            //Act
            var testResult = testController.MainLogic(TestKeyWords, TestSearchEngine, TestSearchWord);

            //Assert
            testResult.Should().Be(testOutput);

            //TODO Cleanup test data.
            var fileTestPost = File.ReadLines(writeLocation + "\\Output Log.txt").Where(m => m.Contains(testOutput));
            var postCount    = fileTestPost.Count();

            postCount.Should().Be(preCount + 1);
        }
Пример #3
0
        public void GivenAValidKeyWordSearchEngineAndUrlWithOutHttpOrHttps_WhenMainLogicIsCalled_ThenShouldReturnTheCountOfTheSearchInTheCorrectFormat()
        {
            //Arrange
            var testOutput             = string.Format("The count of {0}, in search engine {1} is : {2}", "https://" + TestSearchWord, "https://" + TestSearchEngine, TestCount);
            var mockedGetDataClass     = new Mock <IGetDataClass>();
            var mockedILogOutToFile    = new Mock <ILogOutToFile>();
            var mockedIWebClientHelper = new Mock <WebClientHelper>();

            mockedGetDataClass.Setup(m => m.fetchSearchResultsandProcess(CheckUrl("https://" + TestSearchEngine), TestKeyWords, CheckUrl("https://" + TestSearchWord))).Returns(TestCount);
            var testController = new ControllerForSearch(mockedGetDataClass.Object, mockedIWebClientHelper.Object, mockedILogOutToFile.Object);

            //Act
            var testResult = testController.MainLogic(TestKeyWords, TestSearchEngine, TestSearchWord);

            //Assert
            testResult.Should().Be(testOutput);
        }