public void RetrieveItemFromCachePostExpiration() { // Arrange const int zipCode = 95661; var rawTestData = GenerateTestJSONRawData(); var cacheSettings = GetTestWeatherCacheSettings(1); //var mockIMemoryCache = new Mock<IMemoryCache>(); MemoryCache memoryCache = new MemoryCache(new MemoryCacheOptions()); var weatherDataCache = new WeatherDataCache(cacheSettings, memoryCache); weatherDataCache.SaveDataToCache(zipCode, rawTestData); // Add Delay to force Cache Expiration var mockDelay = new Mock <ITestDelay>(); mockDelay.Setup(f => f.PerformTask()).Callback(() => Thread.Sleep(2000)).Returns("Test"); mockDelay.Object.PerformTask(); // Act var cachedResults = weatherDataCache.RetrieveDataFromCache(zipCode); // Assert Assert.IsTrue(string.IsNullOrWhiteSpace(cachedResults), "Cached Results were NOT Null or Empty!"); Assert.AreNotEqual(rawTestData, cachedResults); }
public void RetrieveItemFromCachePreExpiration() { // Arrange const int zipCode = 95661; var rawTestData = GenerateTestJSONRawData(); var cacheSettings = GetTestWeatherCacheSettings(30); //var mockIMemoryCache = new Mock<IMemoryCache>(); MemoryCache memoryCache = new MemoryCache(new MemoryCacheOptions()); var weatherDataCache = new WeatherDataCache(cacheSettings, memoryCache); weatherDataCache.SaveDataToCache(zipCode, rawTestData); // Act var cachedResults = weatherDataCache.RetrieveDataFromCache(zipCode); // Assert Assert.IsNotNull(cachedResults, "Cached Results were Null!"); Assert.AreEqual(rawTestData, cachedResults); }