Example #1
0
        public async Task LoadRss_RequestFailedException_Apache403()
        {
            var dataProvider = new RssDataProvider();
            IEnumerable <RssSchema> rssItems = null;
            var config = new RssDataConfig()
            {
                Url = new Uri("http://www.brunswickcps.org/apps/news/news_rss.jsp?id=0")
            };

            rssItems = await dataProvider.LoadDataAsync(config);

            Assert.IsNotNull(rssItems);
            Assert.AreNotEqual(rssItems.Count(), 0);

            config = new RssDataConfig()
            {
                Url = new Uri("http://www.vicoteka.mk/tvitoteka/feed/")
            };
            rssItems = await dataProvider.LoadDataAsync(config);

            Assert.IsNotNull(rssItems);
            Assert.AreNotEqual(rssItems.Count(), 0);

            config = new RssDataConfig()
            {
                Url = new Uri("http://www.vicoteka.mk/vicovi/vic-na-denot/feed")
            };
            rssItems = await dataProvider.LoadDataAsync(config);

            Assert.IsNotNull(rssItems);
            Assert.AreNotEqual(rssItems.Count(), 0);
        }
Example #2
0
        public async Task LoadMoreDataInvalidOperationRss()
        {
            var config = new RssDataConfig()
            {
                Url = new Uri("http://blogs.msdn.com/b/windows_app_studio_news/rss.aspx")
            };

            var dataProvider = new RssDataProvider();
            InvalidOperationException exception = await ExceptionsAssert.ThrowsAsync <InvalidOperationException>(async() => await dataProvider.LoadMoreDataAsync());
        }
Example #3
0
        public async Task TestMaxRecords_Min()
        {
            var config = new RssDataConfig()
            {
                Url = new Uri("http://blogs.msdn.com/b/windows_app_studio_news/rss.aspx")
            };
            var maxRecords   = 1;
            var dataProvider = new RssDataProvider();
            IEnumerable <RssSchema> rssItems = await dataProvider.LoadDataAsync(config, maxRecords);

            Assert.AreEqual(maxRecords, rssItems.Count());
        }
Example #4
0
        public async Task TestNullUrlConfig()
        {
            var config = new RssDataConfig
            {
                Url = null
            };

            var dataProvider = new RssDataProvider();

            ConfigParameterNullException exception = await ExceptionsAssert.ThrowsAsync<ConfigParameterNullException>(async () => await dataProvider.LoadDataAsync(config));
            Assert.IsTrue(exception.Message.Contains("Url"));
        }
Example #5
0
        public async Task TestMaxRecords_Min()
        {
            var config = new RssDataConfig()
            {
                Url = new Uri("http://blogs.msdn.com/b/windows_app_studio_news/rss.aspx")
            };
            var maxRecords = 1;
            var dataProvider = new RssDataProvider();
            IEnumerable<RssSchema> rssItems = await dataProvider.LoadDataAsync(config, maxRecords);

            Assert.AreEqual(maxRecords, rssItems.Count());
        }
Example #6
0
        public async Task LoadRss_Encoding_ISO88591()
        {
            var config = new RssDataConfig()
            {
                Url = new Uri("http://feeds.folha.uol.com.br/colunas/jaimespitzcovsky/rss091.xml")
            };

            var dataProvider = new RssDataProvider();
            IEnumerable <RssSchema> rssItems = await dataProvider.LoadDataAsync(config);

            Assert.IsNotNull(rssItems);
            Assert.AreNotEqual(rssItems.Count(), 0);
        }
Example #7
0
        public async Task LoadRss()
        {
            var config = new RssDataConfig()
            {
                Url = new Uri("http://blogs.msdn.com/b/windows_app_studio_news/rss.aspx")
            };

            var dataProvider = new RssDataProvider();
            IEnumerable<RssSchema> rssItems = await dataProvider.LoadDataAsync(config);

            Assert.IsNotNull(rssItems);
            Assert.AreNotEqual(rssItems.Count(), 0);
        }
Example #8
0
        public async Task LoadRss()
        {
            var config = new RssDataConfig()
            {
                Url = new Uri("http://blogs.msdn.com/b/windows_app_studio_news/rss.aspx")
            };

            var dataProvider = new RssDataProvider();
            IEnumerable <RssSchema> rssItems = await dataProvider.LoadDataAsync(config);

            Assert.IsNotNull(rssItems);
            Assert.AreNotEqual(rssItems.Count(), 0);
        }
Example #9
0
        public async Task TestNullUrlConfig()
        {
            var config = new RssDataConfig
            {
                Url = null
            };

            var dataProvider = new RssDataProvider();

            ConfigParameterNullException exception = await ExceptionsAssert.ThrowsAsync <ConfigParameterNullException>(async() => await dataProvider.LoadDataAsync(config));

            Assert.IsTrue(exception.Message.Contains("Url"));
        }
Example #10
0
        public async Task LoadRss_CatalanSpecialCharacters()
        {
            var config = new RssDataConfig()
            {
                Url = new Uri("http://www.hacesfalta.org/oportunidades/presencial/buscador/rss.aspx?c=oportunidadesPresenciales_hf&&idPais=60&enfamilia=0&engrupo=0")
            };

            var dataProvider = new RssDataProvider();
            IEnumerable <RssSchema> rssItems = await dataProvider.LoadDataAsync(config);

            Assert.IsNotNull(rssItems);
            Assert.AreNotEqual(rssItems.Count(), 0);
            Assert.IsFalse(rssItems.Any(x => x.Content.Contains("Ã")));
        }
Example #11
0
        public async Task LoadRss_GreekSpecialCharacters()
        {
            var config = new RssDataConfig()
            {
                Url = new Uri("https://www.tuc.gr/754.html?&tx_mmforum_pi1%5Bfid%5D=27")
            };

            var dataProvider = new RssDataProvider();
            IEnumerable <RssSchema> rssItems = await dataProvider.LoadDataAsync(config);

            Assert.IsNotNull(rssItems);
            Assert.AreNotEqual(rssItems.Count(), 0);
            Assert.IsFalse(rssItems.Any(x => x.Title.Contains("Î")));
        }
Example #12
0
        public async Task LoadRss_GermanSpecialCharacters()
        {
            var config = new RssDataConfig()
            {
                Url = new Uri("http://www.inforadio.de/nachrichten/index.xml/feed=rss.xml")
            };

            var dataProvider = new RssDataProvider();
            IEnumerable <RssSchema> rssItems = await dataProvider.LoadDataAsync(config);

            Assert.IsNotNull(rssItems);
            Assert.AreNotEqual(rssItems.Count(), 0);
            Assert.IsFalse(rssItems.Any(x => x.Content.Contains("Ã")));
        }
Example #13
0
        public async Task LoadPaginationRss()
        {
            var config = new RssDataConfig()
            {
                Url = new Uri("http://blogs.msdn.com/b/windows_app_studio_news/rss.aspx")
            };

            var dataProvider = new RssDataProvider();
            await dataProvider.LoadDataAsync(config, 2);

            Assert.IsTrue(dataProvider.HasMoreItems);

            IEnumerable <RssSchema> result = await dataProvider.LoadMoreDataAsync();

            Assert.IsNotNull(result);
            Assert.IsTrue(result.Any());
        }
Example #14
0
        public async void GetItems()
        {
            string rssQuery        = "http://www.blogger.com/feeds/6781693/posts/default";
            int    maxRecordsParam = 20;

            var rssDataProvider = new RssDataProvider();
            var config          = new RssDataConfig {
                Url = new Uri(rssQuery, UriKind.Absolute)
            };

            var items = await rssDataProvider.LoadDataAsync(config, maxRecordsParam);

            foreach (var item in items)
            {
                Items.Add(item);
            }
        }
Example #15
0
        public async Task LoadPaginationRss()
        {

            var config = new RssDataConfig()
            {
                Url = new Uri("http://blogs.msdn.com/b/windows_app_studio_news/rss.aspx")
            };

            var dataProvider = new RssDataProvider();
            await dataProvider.LoadDataAsync(config, 2);

            Assert.IsTrue(dataProvider.HasMoreItems);

            IEnumerable<RssSchema> result = await dataProvider.LoadMoreDataAsync();

            Assert.IsNotNull(result);
            Assert.IsTrue(result.Any());
        }
Example #16
0
        private async void Request()
        {
            try
            {
                IsBusy              = true;
                HasErrors           = false;
                NoItems             = false;
                DataProviderRawData = string.Empty;
                Items.Clear();
                var rssDataProvider = new RssDataProvider();
                var config          = new RssDataConfig {
                    Url = new Uri(RssQuery, UriKind.Absolute)
                };

                var rawParser = new RawParser();
                var rawData   = await rssDataProvider.LoadDataAsync(config, MaxRecordsParam, rawParser);

                DataProviderRawData = rawData.FirstOrDefault()?.Raw;

                var items = await rssDataProvider.LoadDataAsync(config, MaxRecordsParam);

                NoItems = !items.Any();

                foreach (var item in items)
                {
                    Items.Add(item);
                }
            }
            catch (Exception ex)
            {
                DataProviderRawData += ex.Message;
                DataProviderRawData += ex.StackTrace;
                HasErrors            = true;
            }
            finally
            {
                IsBusy = false;
            }
        }
Example #17
0
        public async Task LoadRss_OrderByPublishDate()
        {
            var config = new RssDataConfig()
            {
                Url            = new Uri("http://blogs.msdn.com/b/windows_app_studio_news/rss.aspx"),
                OrderBy        = nameof(RssSchema.PublishDate),
                OrderDirection = SortDirection.Ascending
            };

            var dataProvider = new RssDataProvider();
            IEnumerable <RssSchema> rssItems = await dataProvider.LoadDataAsync(config, 5);

            Assert.AreEqual(rssItems.OrderBy(x => x.PublishDate).Select(x => x.PublishDate).FirstOrDefault(), rssItems.ToList()[0].PublishDate, "LoadDataAsync: Rss sorting (ascending) is not working");
            Assert.AreEqual(rssItems.OrderBy(x => x.PublishDate).Select(x => x.PublishDate).LastOrDefault(), rssItems.ToList()[rssItems.Count() - 1].PublishDate, "LoadDataAsync: Rss sorting (ascending) is not working");

            rssItems = await dataProvider.LoadMoreDataAsync();

            Assert.AreEqual(rssItems.OrderBy(x => x.PublishDate).Select(x => x.PublishDate).FirstOrDefault(), rssItems.ToList()[0].PublishDate, "LoadMoreDataAsync: Rss sorting (ascending) is not working");
            Assert.AreEqual(rssItems.OrderBy(x => x.PublishDate).Select(x => x.PublishDate).LastOrDefault(), rssItems.ToList()[rssItems.Count() - 1].PublishDate, "LoadMoreDataAsync: Rss sorting (ascending) is not working");

            config = new RssDataConfig()
            {
                Url            = new Uri("http://blogs.msdn.com/b/windows_app_studio_news/rss.aspx"),
                OrderBy        = nameof(RssSchema.PublishDate),
                OrderDirection = SortDirection.Descending
            };

            dataProvider = new RssDataProvider();
            rssItems     = await dataProvider.LoadDataAsync(config, 5);

            Assert.AreEqual(rssItems.OrderByDescending(x => x.PublishDate).Select(x => x.PublishDate).FirstOrDefault(), rssItems.ToList()[0].PublishDate, "LoadDataAsync: Rss sorting (ascending) is not working");
            Assert.AreEqual(rssItems.OrderByDescending(x => x.PublishDate).Select(x => x.PublishDate).LastOrDefault(), rssItems.ToList()[rssItems.Count() - 1].PublishDate, "LoadDataAsync: Rss sorting (ascending) is not working");

            rssItems = await dataProvider.LoadMoreDataAsync();

            Assert.AreEqual(rssItems.OrderByDescending(x => x.PublishDate).Select(x => x.PublishDate).FirstOrDefault(), rssItems.ToList()[0].PublishDate, "LoadMoreDataAsync: Rss sorting (descending) is not working");
            Assert.AreEqual(rssItems.OrderByDescending(x => x.PublishDate).Select(x => x.PublishDate).LastOrDefault(), rssItems.ToList()[rssItems.Count() - 1].PublishDate, "LoadMoreDataAsync: Rss sorting (descending) is not working");
        }
Example #18
0
        public async void GetItems()
        {
            string rssQuery = "http://www.blogger.com/feeds/6781693/posts/default";
            int maxRecordsParam = 20;
            string orderBy = "PublishDate";
            SortDirection sortDirection = SortDirection.Descending;

            _rssDataProvider = new RssDataProvider();
            this.Items = new ObservableCollection<object>();

            var config = new RssDataConfig
            {
                Url = new Uri(rssQuery, UriKind.Absolute),
                OrderBy = orderBy,
                SortDirection = sortDirection
            };

            var items = await _rssDataProvider.LoadDataAsync(config, maxRecordsParam);
            foreach (var item in items)
            {
                Items.Add(item);
            }
        }
Example #19
0
        public async void GetItems()
        {
            string        rssQuery        = "http://www.blogger.com/feeds/6781693/posts/default";
            int           maxRecordsParam = 20;
            string        orderBy         = "PublishDate";
            SortDirection sortDirection   = SortDirection.Descending;

            _rssDataProvider = new RssDataProvider();
            this.Items       = new ObservableCollection <object>();

            var config = new RssDataConfig
            {
                Url           = new Uri(rssQuery, UriKind.Absolute),
                OrderBy       = orderBy,
                SortDirection = sortDirection
            };

            var items = await _rssDataProvider.LoadDataAsync(config, maxRecordsParam);

            foreach (var item in items)
            {
                Items.Add(item);
            }
        }
Example #20
0
 public MySLO1Section()
 {
     _dataProvider = new RssDataProvider();
 }
Example #21
0
 private void InitializeDataProvider()
 {
     rssDataProvider = new RssDataProvider();
     rawDataProvider = new RssDataProvider();
 }
Example #22
0
        public async Task LoadMoreDataInvalidOperationRss()
        {
            var config = new RssDataConfig()
            {
                Url = new Uri("http://blogs.msdn.com/b/windows_app_studio_news/rss.aspx")
            };

            var dataProvider = new RssDataProvider();
            InvalidOperationException exception = await ExceptionsAssert.ThrowsAsync<InvalidOperationException>(async () => await dataProvider.LoadMoreDataAsync());
        }
Example #23
0
 private void InitializeDataProvider()
 {
     rssDataProvider = new RssDataProvider();
     rawDataProvider = new RssDataProvider();
 }
Example #24
0
 public BandNewsSection()
 {
     _dataProvider = new RssDataProvider();
 }
Example #25
0
 public CardGameProjectSection()
 {
     _dataProvider = new RssDataProvider();
 }
Example #26
0
        public async Task TestNullConfig()
        {
            var dataProvider = new RssDataProvider();

            await ExceptionsAssert.ThrowsAsync<ConfigNullException>(async () => await dataProvider.LoadDataAsync(null));
        }
Example #27
0
        public async Task LoadRss_Encoding_ISO88591()
        {
            var config = new RssDataConfig()
            {
                Url = new Uri("http://feeds.folha.uol.com.br/colunas/jaimespitzcovsky/rss091.xml")
            };

            var dataProvider = new RssDataProvider();
            IEnumerable<RssSchema> rssItems = await dataProvider.LoadDataAsync(config);

            Assert.IsNotNull(rssItems);
            Assert.AreNotEqual(rssItems.Count(), 0);
        }
Example #28
0
        public async Task LoadRss_OrderByPublishDate()
        {
            var config = new RssDataConfig()
            {
                Url = new Uri("http://blogs.msdn.com/b/windows_app_studio_news/rss.aspx"),
                OrderBy = nameof(RssSchema.PublishDate),
                OrderDirection = SortDirection.Ascending
            };

            var dataProvider = new RssDataProvider();
            IEnumerable<RssSchema> rssItems = await dataProvider.LoadDataAsync(config, 5);

            Assert.AreEqual(rssItems.OrderBy(x => x.PublishDate).Select(x => x.PublishDate).FirstOrDefault(), rssItems.ToList()[0].PublishDate, "LoadDataAsync: Rss sorting (ascending) is not working");
            Assert.AreEqual(rssItems.OrderBy(x => x.PublishDate).Select(x => x.PublishDate).LastOrDefault(), rssItems.ToList()[rssItems.Count() - 1].PublishDate, "LoadDataAsync: Rss sorting (ascending) is not working");

            rssItems = await dataProvider.LoadMoreDataAsync();

            Assert.AreEqual(rssItems.OrderBy(x => x.PublishDate).Select(x => x.PublishDate).FirstOrDefault(), rssItems.ToList()[0].PublishDate, "LoadMoreDataAsync: Rss sorting (ascending) is not working");
            Assert.AreEqual(rssItems.OrderBy(x => x.PublishDate).Select(x => x.PublishDate).LastOrDefault(), rssItems.ToList()[rssItems.Count() - 1].PublishDate, "LoadMoreDataAsync: Rss sorting (ascending) is not working");

            config = new RssDataConfig()
            {
                Url = new Uri("http://blogs.msdn.com/b/windows_app_studio_news/rss.aspx"),
                OrderBy = nameof(RssSchema.PublishDate),
                OrderDirection = SortDirection.Descending
            };

            dataProvider = new RssDataProvider();
            rssItems = await dataProvider.LoadDataAsync(config, 5);

            Assert.AreEqual(rssItems.OrderByDescending(x => x.PublishDate).Select(x => x.PublishDate).FirstOrDefault(), rssItems.ToList()[0].PublishDate, "LoadDataAsync: Rss sorting (ascending) is not working");
            Assert.AreEqual(rssItems.OrderByDescending(x => x.PublishDate).Select(x => x.PublishDate).LastOrDefault(), rssItems.ToList()[rssItems.Count() - 1].PublishDate, "LoadDataAsync: Rss sorting (ascending) is not working");

            rssItems = await dataProvider.LoadMoreDataAsync();

            Assert.AreEqual(rssItems.OrderByDescending(x => x.PublishDate).Select(x => x.PublishDate).FirstOrDefault(), rssItems.ToList()[0].PublishDate, "LoadMoreDataAsync: Rss sorting (descending) is not working");
            Assert.AreEqual(rssItems.OrderByDescending(x => x.PublishDate).Select(x => x.PublishDate).LastOrDefault(), rssItems.ToList()[rssItems.Count() - 1].PublishDate, "LoadMoreDataAsync: Rss sorting (descending) is not working");
        }
Example #29
0
        public async Task LoadRss_CatalanSpecialCharacters()
        {
            var config = new RssDataConfig()
            {
                Url = new Uri("http://www.hacesfalta.org/oportunidades/presencial/buscador/rss.aspx?c=oportunidadesPresenciales_hf&&idPais=60&enfamilia=0&engrupo=0")
            };

            var dataProvider = new RssDataProvider();
            IEnumerable<RssSchema> rssItems = await dataProvider.LoadDataAsync(config);

            Assert.IsNotNull(rssItems);
            Assert.AreNotEqual(rssItems.Count(), 0);
            Assert.IsFalse(rssItems.Any(x => x.Content.Contains("Ã")));
        }
Example #30
0
        public async Task LoadRss_GreekSpecialCharacters()
        {
            var config = new RssDataConfig()
            {
                Url = new Uri("https://www.tuc.gr/754.html?&tx_mmforum_pi1%5Bfid%5D=27")
            };

            var dataProvider = new RssDataProvider();
            IEnumerable<RssSchema> rssItems = await dataProvider.LoadDataAsync(config);

            Assert.IsNotNull(rssItems);
            Assert.AreNotEqual(rssItems.Count(), 0);
            Assert.IsFalse(rssItems.Any(x => x.Title.Contains("Î")));
        }
 public Section5Section()
 {
     _dataProvider = new RssDataProvider();
 }
Example #32
0
 public MyBlogSection()
 {
     _dataProvider = new RssDataProvider();
 }
Example #33
0
        public async Task TestNullParser()
        {
            var dataProvider = new RssDataProvider();

            await ExceptionsAssert.ThrowsAsync<ParserNullException>(async () => await dataProvider.LoadDataAsync<RssSchema>(new RssDataConfig(), 20, null));
        }
Example #34
0
        public async Task LoadRss_RequestFailedException_Apache403()
        {
            var dataProvider = new RssDataProvider();
            IEnumerable<RssSchema> rssItems = null;
            var config = new RssDataConfig()
            {
                Url = new Uri("http://www.brunswickcps.org/apps/news/news_rss.jsp?id=0")
            };
            rssItems = await dataProvider.LoadDataAsync(config);
            Assert.IsNotNull(rssItems);
            Assert.AreNotEqual(rssItems.Count(), 0);

            config = new RssDataConfig()
            {
                Url = new Uri("http://www.vicoteka.mk/tvitoteka/feed/")
            };
            rssItems = await dataProvider.LoadDataAsync(config);
            Assert.IsNotNull(rssItems);
            Assert.AreNotEqual(rssItems.Count(), 0);

            config = new RssDataConfig()
            {
                Url = new Uri("http://www.vicoteka.mk/vicovi/vic-na-denot/feed")
            };
            rssItems = await dataProvider.LoadDataAsync(config);
            Assert.IsNotNull(rssItems);
            Assert.AreNotEqual(rssItems.Count(), 0);
        }
Example #35
0
        public async Task TestNullConfig()
        {
            var dataProvider = new RssDataProvider();

            await ExceptionsAssert.ThrowsAsync <ConfigNullException>(async() => await dataProvider.LoadDataAsync(null));
        }
Example #36
0
        public async Task TestNullParser()
        {
            var dataProvider = new RssDataProvider();

            await ExceptionsAssert.ThrowsAsync <ParserNullException>(async() => await dataProvider.LoadDataAsync <RssSchema>(new RssDataConfig(), 20, null));
        }
Example #37
0
        public async Task LoadRss_GermanSpecialCharacters()
        {
            var config = new RssDataConfig()
            {
                Url = new Uri("http://www.inforadio.de/nachrichten/index.xml/feed=rss.xml")
            };

            var dataProvider = new RssDataProvider();
            IEnumerable<RssSchema> rssItems = await dataProvider.LoadDataAsync(config);

            Assert.IsNotNull(rssItems);
            Assert.AreNotEqual(rssItems.Count(), 0);
            Assert.IsFalse(rssItems.Any(x => x.Content.Contains("Ã")));
        }