public static async Task <IDbStoreProvider> WithBackupRestore( this IDbStoreProvider dbStoreProvider, string backupPath, IDataBackupRestore dataBackupRestore) { return(await DbStoreProviderWithBackupRestore.CreateAsync(dbStoreProvider, backupPath, dataBackupRestore)); }
public static async Task <IDbStoreProvider> CreateAsync( IDbStoreProvider dbStoreProvider, string backupPath, IDataBackupRestore dataBackupRestore) { DbStoreProviderWithBackupRestore provider = new DbStoreProviderWithBackupRestore(dbStoreProvider, backupPath, dataBackupRestore); await provider.RestoreAsync(); return(provider); }
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); }
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)); }