/// <summary> /// Registers few hardcoded news feeds to work with. /// </summary> /// <param name="memoryCache"></param> public ApiController(IMemoryCache memoryCache) { _cache = memoryCache; _cache_expiration_time = 60; _newsProvider = new NewsProvider.NewsProvider(); _newsProvider.AddRssSource("https://www.nt.se/nyheter/norrkoping/rss/"); _newsProvider.AddRssSource("https://feeds.expressen.se/nyheter/"); _newsProvider.AddRssSource("https://www.svd.se/?service=rss"); }
public void FetchNews() { NewsProvider.NewsProvider provider = new NewsProvider.NewsProvider(); var news = provider.GetAllNews(); Assert.IsInstanceOfType(news, typeof(IEnumerable <NewsItem>)); Assert.IsFalse(news.Any()); // No sources at the momenth. var sources = provider.GetSources(); Assert.IsFalse(sources.Any()); provider.AddRssSource(""); news = provider.GetAllNews(); Assert.IsFalse(news.Any()); // No sources here also because no valid source added. sources = provider.GetSources(); Assert.IsFalse(sources.Any()); provider.AddRssSource("http://not.existing.url"); news = provider.GetAllNews(); Assert.IsFalse(news.Any()); // No sources here also because no valid source added. sources = provider.GetSources(); Assert.IsFalse(sources.Any()); provider.AddRssSource("http://www.svd.se"); news = provider.GetAllNews(); Assert.IsFalse(news.Any()); // No sources here also because no valid source added. sources = provider.GetSources(); Assert.IsFalse(sources.Any()); // Expressen does not have categories. provider.AddRssSource("https://feeds.expressen.se/nyheter/"); news = provider.GetAllNews(); Assert.IsTrue(news.Any()); // One source should exist. sources = provider.GetSources(); Assert.IsTrue(sources.Any()); Assert.AreEqual(1, sources.Count()); var categories = provider.GetCategories(); Assert.IsFalse(categories.Any()); // NT.se should have categories. provider.AddRssSource("https://www.nt.se/nyheter/norrkoping/rss/"); news = provider.GetAllNews(); Assert.IsTrue(news.Any()); // Two sources should exist. sources = provider.GetSources(); Assert.IsTrue(sources.Any()); Assert.AreEqual(2, sources.Count()); categories = provider.GetCategories(); Assert.IsTrue(categories.Any()); }