public async Task <long> GetTotalSizeAsync(DomainId appId) { var key = GetKey(appId); var counters = await usageTracker.GetAsync(key, SummaryDate, SummaryDate, null); return(counters.GetInt64(CounterTotalSize)); }
public async Task Should_cache_days_usage() { var counters = new Counters(); var dateFrom = date; var dateTo = dateFrom.AddDays(10); A.CallTo(() => inner.GetAsync(key, dateFrom, dateTo, category)) .Returns(counters); var result1 = await sut.GetAsync(key, dateFrom, dateTo, category); var result2 = await sut.GetAsync(key, dateFrom, dateTo, category); Assert.Same(counters, result1); Assert.Same(counters, result2); A.CallTo(() => inner.GetAsync(key, dateFrom, dateTo, category)) .MustHaveHappenedOnceExactly(); }
public Task <Counters> GetAsync(string key, DateTime fromDate, DateTime toDate, string?category) { Guard.NotNull(key, nameof(key)); var cacheKey = string.Join("$", "Usage", nameof(GetAsync), key, fromDate, toDate, category); return(Cache.GetOrCreateAsync(cacheKey, entry => { entry.AbsoluteExpirationRelativeToNow = CacheDuration; return inner.GetAsync(key, fromDate, toDate, category); })); }
public Task <Counters> GetAsync(string key, DateTime fromDate, DateTime toDate, string?category) { Guard.NotNull(key, nameof(key)); var cacheKey = $"{typeof(CachingUsageTracker)}_Usage_{key}_{fromDate}_{toDate}_{category}"; return(cache.GetOrCreateAsync(cacheKey, entry => { entry.AbsoluteExpirationRelativeToNow = CacheDuration; return inner.GetAsync(key, fromDate, toDate, category); })); }
public async Task Should_get_total_size_from_summary_date() { A.CallTo(() => usageTracker.GetAsync($"{appId.Id}_Assets", default, default, null, default))