private static async Task EnsureCreated_can_create_physical_database_and_schema_test(bool async) { using (var testDatabase = await SqlCeTestStore.CreateScratchAsync(createDatabase: false)) { await RunDatabaseCreationTest(testDatabase, async); } }
private static async Task EnsureCreated_can_create_schema_in_existing_database_test(bool async) { using (var testDatabase = await SqlCeTestStore.CreateScratchAsync()) { await RunDatabaseCreationTest(testDatabase, async); } }
private static async Task EnsuredDeleted_noop_when_database_doesnt_exist_test(bool async) { using (var testDatabase = await SqlCeTestStore.CreateScratchAsync(createDatabase: false)) { using (var context = new BloggingContext(testDatabase)) { var creator = context.GetService <IRelationalDatabaseCreator>(); Assert.False(async ? await creator.ExistsAsync() : creator.Exists()); if (async) { Assert.False(await creator.EnsureDeletedAsync()); } else { Assert.False(creator.EnsureDeleted()); } Assert.Equal(ConnectionState.Closed, context.Database.GetDbConnection().State); Assert.False(async ? await creator.ExistsAsync() : creator.Exists()); Assert.Equal(ConnectionState.Closed, context.Database.GetDbConnection().State); } } }
private static async Task Exists_returns_true_when_database_exists_test(bool async) { using (var testDatabase = await SqlCeTestStore.CreateScratchAsync(createDatabase: true)) { using (var context = new BloggingContext(testDatabase)) { var creator = context.GetService <IRelationalDatabaseCreator>(); Assert.True(async ? await creator.ExistsAsync() : creator.Exists()); Assert.Equal(ConnectionState.Closed, context.Database.GetDbConnection().State); } } }
private static async Task EnsuredCreated_is_noop_when_database_exists_and_has_schema_test(bool async) { using (var testDatabase = await SqlCeTestStore.CreateScratchAsync(createDatabase: false)) { using (var context = new BloggingContext(testDatabase)) { context.Database.EnsureCreated(); if (async) { Assert.False(await context.Database.EnsureCreatedAsync()); } else { Assert.False(context.Database.EnsureCreated()); } Assert.Equal(ConnectionState.Closed, context.Database.GetDbConnection().State); } } }
private static async Task EnsureDeleted_will_delete_database_test(bool async, bool openConnection) { using (var testDatabase = await SqlCeTestStore.CreateScratchAsync(createDatabase: true)) { if (!openConnection) { testDatabase.Connection.Close(); } using (var context = new BloggingContext(testDatabase)) { var creator = context.GetService <IRelationalDatabaseCreator>(); Assert.True(async ? await creator.ExistsAsync() : creator.Exists()); if (openConnection) { Assert.Throws <IOException>(() => context.Database.EnsureDeleted()); } else { if (async) { Assert.True(await context.Database.EnsureDeletedAsync()); } else { Assert.True(context.Database.EnsureDeleted()); } Assert.Equal(ConnectionState.Closed, context.Database.GetDbConnection().State); Assert.False(async ? await creator.ExistsAsync() : creator.Exists()); Assert.Equal(ConnectionState.Closed, context.Database.GetDbConnection().State); } } } }