Example #1
0
        public IActionResult Scan([FromBody] ScanRequest request)
        {
            _logger.LogTrace("Scanning text \"{text}\" for urls", request.Text);

            var urls = _urlExtractor.ExtractUrisFromStrings(request.Text).ToList();

            _logger.LogTrace("Found ${UrlCount} urls", urls.Count);

            return(Ok(new ScanResponse(urls)));
        }
Example #2
0
        public void Extractor_ShouldReturnSomeUrls_ForAllTestData()
        {
            // Arrange
            var testDataFilePaths = Directory.EnumerateFiles("./input-strings");

            foreach (var testDataFilePath in testDataFilePaths)
            {
                var testData = File.ReadAllText(testDataFilePath);

                // Act
                var urls = _sp.ExtractUrisFromStrings(testData).ToList();

                // Assert
                Assert.IsNotEmpty(urls, "TestData should have URLs in it. TestData: {0}", testData);

                // Test data set 4 has 6 URLs in it - check for that
                if (testDataFilePath.EndsWith("4.txt"))
                {
                    Assert.AreEqual(6, urls.Count);
                }
            }
        }