public async Task TestGetBackupMetadataAsync_OneFullBackup_AndTwoIncrementalBackup_Present()
        {
            //arrange
            Guid     partitionId = Guid.NewGuid();
            DateTime now         = DateTime.UtcNow;

            BackupMetadata backupMetadata         = new BackupMetadata(partitionId, now, BackupOption.Full);
            BackupMetadata incrementalMetadata    = new BackupMetadata(partitionId, now.AddHours(1), BackupOption.Incremental);
            BackupMetadata incrementalMetadataTwo = new BackupMetadata(partitionId, now.AddHours(2), BackupOption.Incremental);

            var mockBackupStoreObject = new Moq.Mock <ICentralBackupStore>();

            mockBackupStoreObject
            .Setup(store => store.RetrieveScheduledBackupAsync(It.IsAny <Guid>()))
            .Returns(Task.FromResult(incrementalMetadata));

            mockBackupStoreObject
            .Setup(store => store.GetBackupMetadataAsync(null, It.IsAny <Guid>()))
            .Returns(Task.FromResult <IEnumerable <BackupMetadata> >(new[] { backupMetadata, incrementalMetadata, incrementalMetadataTwo }));

            var mockServiceObject = new Moq.Mock <IBackupRestoreServiceOperations>();

            mockServiceObject.Setup(service => service.CentralBackupStore).Returns(mockBackupStoreObject.Object);
            mockServiceObject.Setup(service => service.Context).Returns(Mocks.MockStatefulServiceContextFactory.Default);

            //act
            var result = await BackupRestoreServiceOperations.GetBackupMetadataAsync(mockServiceObject.Object, incrementalMetadataTwo);

            //assert
            Assert.AreEqual(3, result.Count);
            Assert.AreEqual(backupMetadata, result[0]);
            Assert.AreEqual(incrementalMetadata, result[1]);
            Assert.AreEqual(incrementalMetadataTwo, result[2]);
        }
        public async Task TestGetBackupMetadataAsync_OneFullBackup_Present()
        {
            //arrange
            Guid           partitionId    = Guid.NewGuid();
            DateTime       now            = DateTime.UtcNow;
            BackupMetadata backupMetadata = new BackupMetadata(partitionId, now, BackupOption.Full);

            var mockBackupStoreObject = new Moq.Mock <ICentralBackupStore>();
            var mockServiceObject     = new Moq.Mock <IBackupRestoreServiceOperations>();

            mockServiceObject.Setup(service => service.CentralBackupStore).Returns(mockBackupStoreObject.Object);
            mockServiceObject.Setup(service => service.Context).Returns(Mocks.MockStatefulServiceContextFactory.Default);

            //act
            var result = await BackupRestoreServiceOperations.GetBackupMetadataAsync(mockServiceObject.Object, backupMetadata);

            //assert
            Assert.AreEqual(1, result.Count);
            Assert.AreEqual(backupMetadata, result[0]);
        }
コード例 #3
0
 /// <inheritdoc />
 Task <List <BackupMetadata> > IBackupRestoreService.ListAllBackups()
 {
     return(BackupRestoreServiceOperations.ListAllBackups(this));
 }
コード例 #4
0
 /// <inheritdoc />
 Task IBackupRestoreService.BeginRestoreBackup(BackupMetadata backupMetadata, DataLossMode dataLossMode)
 {
     return(BackupRestoreServiceOperations.BeginRestoreBackup(this, backupMetadata, dataLossMode));
 }
コード例 #5
0
 /// <inheritdoc />
 Task IBackupRestoreService.BeginCreateBackup(BackupOption backupOption)
 {
     return(BackupRestoreServiceOperations.BeginCreateBackup(this, backupOption));
 }
コード例 #6
0
 /// <inheritdoc />
 protected sealed override Task <bool> OnDataLossAsync(RestoreContext restoreCtx, CancellationToken cancellationToken)
 {
     //after data loss, we'll restore a backup here:
     return(BackupRestoreServiceOperations.OnDataLossAsync(this, restoreCtx, cancellationToken));
 }