public async Task GivenANewSchemaVersion_WhenApplying_ShouldBackCompatible(int schemaVersion) { int oldSchemaVersion = schemaVersion - 1; // Create Sql store at old schema version SqlDataStoreTestsFixture oldSqlStore = new SqlDataStoreTestsFixture(SqlDataStoreTestsFixture.GenerateDatabaseName($"COMPATIBLE_{oldSchemaVersion}_"), new SchemaInformation(oldSchemaVersion, oldSchemaVersion)); await oldSqlStore.InitializeAsync(forceIncrementalSchemaUpgrade : false); var oldProcedures = SqlTestUtils.GetStoredProcedures(oldSqlStore); // Create Sql store at new schema version SqlDataStoreTestsFixture newSqlStore = new SqlDataStoreTestsFixture(SqlDataStoreTestsFixture.GenerateDatabaseName($"COMPATIBLE_{schemaVersion}_"), new SchemaInformation(schemaVersion, schemaVersion)); await newSqlStore.InitializeAsync(forceIncrementalSchemaUpgrade : false); var newProcedures = SqlTestUtils.GetStoredProcedures(newSqlStore); // Validate if stored procedures are compatible StoredProcedureCompatibleValidator.Validate(schemaVersion, newProcedures, oldProcedures); // Dispose if pass await oldSqlStore.DisposeAsync(); await newSqlStore.DisposeAsync(); }
public Task ClearExtendedQueryTagErrorTableAsync() { return(SqlTestUtils.ClearTableAsync(_connectionString, VLatest.ExtendedQueryTagError.TableName)); }