public async Task GetCurrent_WithMissingMetadata_ReturnsExpectedTimestamp() { var primaryHostMock = new Mock <IPrimaryHostStateProvider>(); primaryHostMock.Setup(p => p.IsPrimary).Returns(true); CloudBlockBlob analysisBlob = await GetAnalysisBlobReference(_hostIdProvider); await analysisBlob.DeleteIfExistsAsync(); await analysisBlob.UploadTextAsync(string.Empty); var stateProvider = new BlobChangeAnalysisStateProvider(_configuration, _hostIdProvider, NullLogger <BlobChangeAnalysisStateProvider> .Instance); ChangeAnalysisState result = await stateProvider.GetCurrentAsync(CancellationToken.None); Assert.Equal(DateTimeOffset.MinValue, result.LastAnalysisTime); }
public async Task GetCurrent_ReadsTimestamp() { DateTimeOffset lastAnalysisTestTime = DateTimeOffset.UtcNow; var primaryHostMock = new Mock <IPrimaryHostStateProvider>(); primaryHostMock.Setup(p => p.IsPrimary).Returns(true); CloudBlockBlob analysisBlob = await GetAnalysisBlobReference(_hostIdProvider); await analysisBlob.UploadTextAsync(string.Empty); analysisBlob.Metadata.Add(BlobChangeAnalysisStateProvider.AnalysisTimestampMetadataName, lastAnalysisTestTime.ToString("O")); await analysisBlob.SetMetadataAsync(); var stateProvider = new BlobChangeAnalysisStateProvider(_configuration, _hostIdProvider, NullLogger <BlobChangeAnalysisStateProvider> .Instance); ChangeAnalysisState result = await stateProvider.GetCurrentAsync(CancellationToken.None); Assert.Equal(lastAnalysisTestTime, result.LastAnalysisTime); }