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); } }
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); }