コード例 #1
0
        public static async Task Run([TimerTrigger("%RefreshGifsFunctionCron%")] TimerInfo myTimer, ILogger log)
        {
            var connectionString = Environment.GetEnvironmentVariable("TrendingGiphyBotConnectionString");
            var trendingEndpoint = Environment.GetEnvironmentVariable("GiphyTrendingEndpoint");
            var logWrapper       = new LoggerWrapper(log);

            using (var giphyWrapper = new GiphyWrapper())
                using (var context = new TrendingGiphyBotContext(connectionString))
                {
                    var refreshGifsHelper = new RefreshGifsHelper(logWrapper, giphyWrapper, context);
                    await refreshGifsHelper.RunAsync(trendingEndpoint);
                }
        }
コード例 #2
0
        public async Task RunAsync()
        {
            const string trendingEndpoint = "some endpoint";
            var          gifObjects       = new List <GifObject> {
                new GifObject {
                    Id = "some ID", Url = "some url"
                }
            };
            var trendingResponse = new GiphyTrendingResponse {
                Data = gifObjects
            };
            const int count = 123;

            _GiphyWrapper.Setup(s => s.GetTrendingGifsAsync(trendingEndpoint)).ReturnsAsync(trendingResponse);
            _Context.Setup(s => s.InsertNewTrendingGifs(trendingResponse.Data)).ReturnsAsync(count);
            _Log.Setup(s => s.LogInformation($"Inserted {count} URL caches."));
            var   task = _RefreshGifsHelper.RunAsync(trendingEndpoint);
            await task;

            _Log.VerifyAll();
            _GiphyWrapper.VerifyAll();
            _Context.VerifyAll();
            Assert.That(task.IsCompletedSuccessfully, Is.True);
        }