示例#1
0
        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);
        }
示例#2
0
        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);
        }