public void IntegrationTest() { var databasePrefix = "OldDatabaseDeleterTests.IntegrationTest-" + Guid.NewGuid().ToString("N").Substring(0, 8); UniqueDbConnectionProvider uniqueDbProvider1 = null; UniqueDbConnectionProvider uniqueDbProvider2 = null; "Given two databases created 7 seconds apart" ._(() => { uniqueDbProvider1 = new UniqueDbConnectionProvider(new UniqueDbConnectionProviderOptions( TestingConstants.SqlServerInstance, databasePrefix)); uniqueDbProvider1.CreateDatabase(); Thread.Sleep(7000); uniqueDbProvider2 = new UniqueDbConnectionProvider(new UniqueDbConnectionProviderOptions( TestingConstants.SqlServerInstance, databasePrefix)); uniqueDbProvider2.CreateDatabase(); OldDatabaseDeleter.GetOldDatabasesFromUniqueDb(uniqueDbProvider1, TimeSpan.FromSeconds(0)) .Count.Should() .Be(2); }); "When we delete databases older than 7 seconds, we should delete the first of the two" ._(() => { OldDatabaseDeleter.DeleteOldDatabases(uniqueDbProvider1, TimeSpan.FromSeconds(7)); OldDatabaseDeleter.GetOldDatabasesFromUniqueDb(uniqueDbProvider2, TimeSpan.FromSeconds(0)) .Count.Should() .Be(1); }); "Now let's delete all the datbases to clean up" ._(() => { uniqueDbProvider2.AndAutoDeleteDbOlderThan(TimeSpan.FromSeconds(0)); OldDatabaseDeleter.GetOldDatabasesFromUniqueDb(uniqueDbProvider1, TimeSpan.FromSeconds(0)) .Count.Should() .Be(0); }); }
public static UniqueDbConnectionProvider AndAutoDeleteDbOlderThan( this UniqueDbConnectionProvider uniqueDbConnectionProvider, TimeSpan olderThan) { OldDatabaseDeleter.DeleteOldDatabases(uniqueDbConnectionProvider, olderThan); return(uniqueDbConnectionProvider); }
public static UniqueDbConnectionProvider AndAutoDeleteDbOlderThan5Minutes( this UniqueDbConnectionProvider uniqueDbConnectionProvider) { OldDatabaseDeleter.DeleteOldDatabases(uniqueDbConnectionProvider, TimeSpan.FromMinutes(5)); return(uniqueDbConnectionProvider); }
public void DeleteOlderDatabases() { OldDatabaseDeleter.DeleteOldDatabases(_scp, TimeSpan.FromMinutes(3)); }