internal static void InitiateTempDatabase(bool enforceRestart, bool mustRenew) { if (!IsTddExecutionMode()) { return; } IsDatabaseBeingCreated = true; try { SqlConnection.ClearAllPools(); AutomatedTask.DeleteExecutionStatusHistory(); if (enforceRestart) { TempDatabaseInitiated = null; } if (TempDatabaseInitiated.HasValue) { return; } var generator = new TestDatabaseGenerator(isTempDatabaseOptional: true, mustRenew: mustRenew); TempDatabaseInitiated = generator.Process(); Database.Refresh(); SqlConnection.ClearAllPools(); // new Action(() => Database.Find<IEmailQueueItem>()).Invoke(retries: 20, waitBeforeRetries: TimeSpan.FromSeconds(1)); } finally { IsDatabaseBeingCreated = false; } }
internal static void InitiateTempDatabase(bool enforceRestart, bool mustRenew) { if (!IsTddExecutionMode()) { return; } IsDatabaseBeingCreated = true; try { SqlConnection.ClearAllPools(); AutomatedTask.DeleteExecutionStatusHistory(); if (enforceRestart) { TempDatabaseInitiated = null; } if (TempDatabaseInitiated.HasValue) { return; } var generator = new TestDatabaseGenerator(isTempDatabaseOptional: true, mustRenew: mustRenew); TempDatabaseInitiated = generator.Process(); Database.Refresh(); SqlConnection.ClearAllPools(); } finally { IsDatabaseBeingCreated = false; } }
static string CreateSnapshotName(string name) { var schemaHash = new TestDatabaseGenerator(false, false).GetCurrentDatabaseCreationHash(); return("{0}_{1}".FormatWith(name, schemaHash).Except(Path.GetInvalidFileNameChars()).ToString("")); }
private void RenewDatabase() { TestDatabaseGenerator.RenewDatabase(); }