コード例 #1
0
 public static async Task <IDbStoreProvider> WithBackupRestore(
     this IDbStoreProvider dbStoreProvider,
     string backupPath,
     IDataBackupRestore dataBackupRestore)
 {
     return(await DbStoreProviderWithBackupRestore.CreateAsync(dbStoreProvider, backupPath, dataBackupRestore));
 }
コード例 #2
0
        public static async Task <IDbStoreProvider> CreateAsync(
            IDbStoreProvider dbStoreProvider,
            string backupPath,
            IDataBackupRestore dataBackupRestore)
        {
            DbStoreProviderWithBackupRestore provider = new DbStoreProviderWithBackupRestore(dbStoreProvider, backupPath, dataBackupRestore);
            await provider.RestoreAsync();

            return(provider);
        }
コード例 #3
0
 DbStoreProviderWithBackupRestore(
     IDbStoreProvider dbStoreProvider,
     string backupPath,
     IDataBackupRestore dataBackupRestore)
     : base(dbStoreProvider)
 {
     this.backupPath        = Preconditions.CheckNonWhiteSpace(backupPath, nameof(backupPath));
     this.dataBackupRestore = Preconditions.CheckNotNull(dataBackupRestore, nameof(dataBackupRestore));
     this.dbStores          = new ConcurrentDictionary <string, byte>();
     this.events            = new Events(this.Log);
 }
コード例 #4
0
        public async Task CreateInvalidInputTestAsync()
        {
            // Invalid DbStoreProvider.
            IDataBackupRestore dataBackupRestore = Mock.Of <IDataBackupRestore>();
            await Assert.ThrowsAsync <ArgumentNullException>(() => DbStoreProviderWithBackupRestore.CreateAsync(null, this.backupFolder, dataBackupRestore));

            // Invalid backup path.
            IDbStoreProvider dbStoreProvider = Mock.Of <IDbStoreProvider>();
            await Assert.ThrowsAsync <ArgumentException>(() => DbStoreProviderWithBackupRestore.CreateAsync(dbStoreProvider, null, dataBackupRestore));

            await Assert.ThrowsAsync <ArgumentException>(() => DbStoreProviderWithBackupRestore.CreateAsync(dbStoreProvider, " ", dataBackupRestore));

            // Invalid dataBackupRestore.
            await Assert.ThrowsAsync <ArgumentNullException>(() => DbStoreProviderWithBackupRestore.CreateAsync(dbStoreProvider, this.backupFolder, null));
        }