private void DatabaseExists_returns_false_for_existing_attached_database_when_no_master_nor_database_permission(bool useInitialcatalog) { using (var context = new AttachedContext(SimpleAttachConnectionString <AttachedContext>())) { if (IsSqlAzure(context.Database.Connection.ConnectionString)) { // SQL Azure does not suppot attaching databases return; } // Ensure database is initialized context.Database.Initialize(force: true); } try { using (var context = new AttachedContext( SimpleAttachConnectionStringWithCredentials <AttachedContext>( "EFTestSimpleModelUser", "Password1", useInitialcatalog))) { Assert.False(context.Database.Exists()); } } finally { using (var context = new AttachedContext(SimpleAttachConnectionString <AttachedContext>())) { context.Database.Delete(); } } }
private void DatabaseExists_returns_false_for_non_existing_attached_database_when_no_master_permission(bool useInitialCatalog) { using (var context = new AttachedContext( SimpleAttachConnectionStringWithCredentials <AttachedContext>( "EFTestSimpleModelUser", "Password1", useInitialCatalog))) { Assert.False(context.Database.Exists()); } }
private void AttachableDatabaseTest(Action <AttachedContext> testMethod, bool useInitialCatalog = true) { using (var context = new AttachedContext(SimpleAttachConnectionString <AttachedContext>(useInitialCatalog))) { try { // Execute actual test testMethod(context); } finally { // Ensure database is deleted/detached context.Database.Delete(); } } }
//[Fact] // See issue 1091 public void DatabaseExists_returns_true_for_existing_attached_database_when_no_master_permissions() { var connectionString = SimpleAttachConnectionString <AttachedContext>(); using (var context = new AttachedContext(connectionString)) { context.Database.Delete(); // Ensure database is initialized context.Database.Initialize(force: true); } using (var connection = new SqlConnection(connectionString)) { connection.Open(); using (var command = connection.CreateCommand()) { command.CommandText = @"IF NOT EXISTS (SELECT * FROM sys.sysusers WHERE name= N'EFTestSimpleModelUser') BEGIN CREATE USER [EFTestSimpleModelUser] FOR LOGIN [EFTestSimpleModelUser] END"; command.ExecuteNonQuery(); } } try { using (var context = new AttachedContext( SimpleAttachConnectionStringWithCredentials <AttachedContext>( "EFTestSimpleModelUser", "Password1"))) { Assert.True(context.Database.Exists()); } } finally { using (var context = new AttachedContext(SimpleAttachConnectionString <AttachedContext>())) { context.Database.Delete(); } } }
private void AttachableDatabaseTest(Action <AttachedContext> testMethod, bool useInitialCatalog = true) { using (var context = new AttachedContext(SimpleAttachConnectionString <AttachedContext>(useInitialCatalog))) { // SQL Azure does not support attaching databases if (IsSqlAzure(context.Database.Connection.ConnectionString)) { return; } try { // Execute actual test testMethod(context); } finally { // Ensure database is deleted/detached context.Database.Delete(); } } }
private void DatabaseExists_returns_true_for_existing_attached_database_when_no_master_nor_database_permission(bool useInitialcatalog) { using (var context = new AttachedContext(SimpleAttachConnectionString <AttachedContext>())) { if (DatabaseTestHelpers.IsSqlAzure(context.Database.Connection.ConnectionString)) { // SQL Azure does not suppot attaching databases return; } // Ensure database is initialized context.Database.Initialize(force: true); } // See CodePlex 1554 - Handle User Instance flakiness MutableResolver.AddResolver <Func <IDbExecutionStrategy> >(new ExecutionStrategyResolver <IDbExecutionStrategy>( SqlProviderServices.ProviderInvariantName, null, () => new SqlAzureExecutionStrategy())); try { using (var context = new AttachedContext( SimpleAttachConnectionStringWithCredentials <AttachedContext>( "EFTestSimpleModelUser", "Password1", useInitialcatalog))) { Assert.True(context.Database.Exists(), "context.Database does not exist, actual connection string: " + context.Database.Connection.ConnectionString); } } finally { MutableResolver.ClearResolvers(); using (var context = new AttachedContext(SimpleAttachConnectionString <AttachedContext>())) { context.Database.Delete(); } } }