コード例 #1
0
        public async Task GetContainers()
        {
            _Log.Setup(s => s.LogInformation("Getting job configs."));
            const int nowHour             = 1;
            var       currentValidMinutes = new List <int> {
                10, 15, 20, 30, 60
            };
            var pendingJobConfig = new PendingJobConfig {
                ChannelId = 123, Histories = new List <PendingHistory>(), RandomSearchString = "cats"
            };
            var containers = new List <PendingJobConfig> {
                pendingJobConfig
            };

            _Context.Setup(s => s.GetJobConfigsToRun(nowHour, currentValidMinutes)).ReturnsAsync(containers);
            _Log.Setup(s => s.LogInformation($"Got {containers.Count} containers."));
            var jobConfigs = await _GifPostingHelper.GetContainers(nowHour, currentValidMinutes);

            _Log.VerifyAll();
            _Context.VerifyAll();
            foreach (var container in containers)
            {
                Assert.That(jobConfigs, Contains.Item(container));
            }
        }
コード例 #2
0
        public async Task BuildHistoryContainers_RandomGifAlreadySeen()
        {
            const string alreadySeenGifId       = "already seen";
            const string anotherSeenGifId       = "another seen";
            const string randomGifAlreadySeenId = "random gif already seen";
            var          histories = new List <PendingHistory>
            {
                new PendingHistory {
                    GifId = alreadySeenGifId
                },
                new PendingHistory {
                    GifId = anotherSeenGifId
                },
                new PendingHistory {
                    GifId = randomGifAlreadySeenId
                }
            };
            var pendingJobConfig = new PendingJobConfig {
                Histories = histories, RandomSearchString = "apex legends"
            };
            var containers = new List <PendingJobConfig> {
                pendingJobConfig
            };

            _Log.Setup(s => s.LogInformation($"Building {containers.Count} histories."));
            var urlCaches = new List <UrlCache> {
                new UrlCache {
                    Id = alreadySeenGifId
                }, new UrlCache {
                    Id = anotherSeenGifId
                }
            };

            _Context.Setup(s => s.GetUrlCachesAsync()).ReturnsAsync(urlCaches);
            const string giphyRandomEndpoint = "giphy random endpoint";
            var          giphyRandomResponse = new GiphyRandomResponse {
                Data = new GifObject {
                    Id = randomGifAlreadySeenId
                }
            };

            _GiphyWrapper.Setup(s => s.GetRandomGifAsync(giphyRandomEndpoint, pendingJobConfig.RandomSearchString)).ReturnsAsync(giphyRandomResponse);
            _Log.Setup(s => s.LogInformation("Built 0 histories."));
            var result = await _GifPostingHelper.BuildHistoryContainers(containers, giphyRandomEndpoint);

            _Log.VerifyAll();
            _Context.VerifyAll();
            _GiphyWrapper.VerifyAll();
            Assert.That(result.Count, Is.EqualTo(0));
            Assert.That(result.Count(s => s.GifId == alreadySeenGifId), Is.EqualTo(0));
            Assert.That(result.Count(s => s.GifId == anotherSeenGifId), Is.EqualTo(0));
            Assert.That(result.Count(s => s.GifId == randomGifAlreadySeenId), Is.EqualTo(0));
        }