/// <summary> /// Creates a new <see cref="ICacheFetchRequest"/> with a valid start date but no End. To hydrate end you should use a <see cref="ICacheFetchRequestProvider"/> /// </summary> /// <returns></returns> public virtual ICacheFetchRequest CreateInitialRequest() { var lp = CacheProgress.LoadProgress; // Figure out when to start loading from DateTime startDate; if (CacheProgress.CacheFillProgress.HasValue) { startDate = CacheProgress.CacheFillProgress.Value; } else if (lp.OriginDate.HasValue) { startDate = lp.OriginDate.Value; } else { throw new Exception("Don't know when to begin loading the cache from. Neither CacheProgress or LoadProgress has a relevant date."); } var initialFetchRequest = new CacheFetchRequest(CacheProgress.Repository) { CacheProgress = CacheProgress, ChunkPeriod = CacheProgress.ChunkPeriod, PermissionWindow = this.PermissionWindow, Start = startDate }; return(initialFetchRequest); }
public void FailedCacheFetchRequest_SavesPreviousFailure() { var previousFailure = GetFailureMock(); var cacheProgress = Mock.Of <ICacheProgress>(c => c.PermissionWindow == Mock.Of <IPermissionWindow>()); var request = new CacheFetchRequest(previousFailure.Object, cacheProgress); request.RequestFailed(new Exception()); previousFailure.Verify(); }
public void FailedCacheFetchRequest_ResolveCalled() { var previousFailure = GetFailureMock(); var cacheProgress = Mock.Of <ICacheProgress>(c => c.PermissionWindow == Mock.Of <IPermissionWindow>()); var request = new CacheFetchRequest(previousFailure.Object, cacheProgress); request.RequestSucceeded(); previousFailure.Verify(); }