Example #1
0
        public List<string> DownloadJournals(JournalTocsFetchMode action = JournalTocsFetchMode.Update)
        {
            _logger.Info("Downloading journals...");

            var result = new List<string>();

            using (var webClient = _webClientFactory.Create())
            {
                webClient.Encoding = _encoding;
                var fetch = true;

                do
                {
                    _logger.Info($"\t...downloading batch #{_resumptionToken + 1}...");

                    var batch = webClient.DownloadString($"{_settings.RequestUrl}&action={action.ToString().ToLowerInvariant()}&resumptionToken={_resumptionToken}");

                    if (!batch.Contains(EndOfBatchesNotice) || !batch.Contains(Notice))
                    {
                        result.Add(batch.Replace("&", "&amp;"));
                        _resumptionToken++;
                    }
                    else
                        fetch = false;

                } while (fetch);

                _logger.Info("Finised downloading journals.");

                return result;
            }
        }
Example #2
0
        public void DownloadJournals_uses_the_given_Action_to_fetch_journals(JournalTocsFetchMode action)
        {
            var sut = CreateClient();

            _webClient.Setup(x => x.DownloadString(It.IsAny<string>())).Returns(GetJournalTocsNoMoreItemsNotice());

            sut.DownloadJournals(action);

            _webClient.Verify(x => x.DownloadString($"{_settings.RequestUrl}&action={action.ToString().ToLowerInvariant()}&resumptionToken=0"), Times.Once);
        }
Example #3
0
        public void DownloadJournals_uses_the_given_Action_to_fetch_journals(JournalTocsFetchMode action)
        {
            var sut = CreateClient();

            _webClient.Setup(x => x.DownloadString(It.IsAny <string>())).Returns(GetJournalTocsNoMoreItemsNotice());

            sut.DownloadJournals(action);

            _webClient.Verify(x => x.DownloadString($"{_settings.AllJournalsRequestUrl}&action={action.ToString().ToLowerInvariant()}&resumptionToken=0"), Times.Once);
        }
Example #4
0
        public List <string> DownloadJournals(JournalTocsFetchMode action = JournalTocsFetchMode.Update)
        {
            _logger.Info("Downloading journals...");

            var result = new List <string>();

            using (var webClient = _webClientFactory.Create())
            {
                webClient.Encoding = _encoding;
                var fetch = true;

                do
                {
                    _logger.Info($"\t...downloading batch #{_resumptionToken + 1}...");

                    var batch = webClient.DownloadString($"{_settings.AllJournalsRequestUrl}&action={action.ToString().ToLowerInvariant()}&resumptionToken={_resumptionToken}");

                    if (!batch.Contains(EndOfBatchesNotice) || !batch.Contains(Notice))
                    {
                        result.Add(batch.Replace("&", "&amp;"));
                        _resumptionToken++;
                    }
                    else
                    {
                        fetch = false;
                    }
                } while (fetch);

                _logger.Info("Finised downloading journals.");

                return(result);
            }
        }