private static async Task Creates_physical_database_but_not_tables_test(bool async) { using (var testDatabase = OracleTestStore.GetOrCreate("CreateTest")) { var creator = OracleDatabaseCreatorTest.GetDatabaseCreator(testDatabase); creator.EnsureDeleted(); if (async) { await creator.CreateAsync(); } else { creator.Create(); } Assert.True(creator.Exists()); if (testDatabase.ConnectionState != ConnectionState.Open) { await testDatabase.OpenConnectionAsync(); } Assert.Equal( 0, (await testDatabase.QueryAsync <string>( "SELECT table_name FROM user_tables")).Count()); } }
private static async Task Returns_true_when_database_exists_and_has_any_tables_test(bool async) { using (var testDatabase = OracleTestStore.GetOrCreate("ExistingTables") .InitializeOracle(null, t => new OracleDatabaseCreatorTest.BloggingContext(t), null)) { var creator = OracleDatabaseCreatorTest.GetDatabaseCreator(testDatabase); Assert.True(async ? await creator.HasTablesAsyncBase() : creator.HasTablesBase()); } }
private static async Task Throws_when_database_does_not_exist_test(bool async) { using (var testDatabase = OracleTestStore.GetOrCreate("NonExistingBlogging")) { var creator = OracleDatabaseCreatorTest.GetDatabaseCreator(testDatabase); if (async) { await Assert.ThrowsAsync <OracleException>(() => creator.DeleteAsync()); } else { Assert.Throws <OracleException>(() => creator.Delete()); } } }
private static async Task Throws_if_database_does_not_exist_test(bool async) { using (var testDatabase = OracleTestStore.GetOrCreate("NonExisting")) { var creator = OracleDatabaseCreatorTest.GetDatabaseCreator(testDatabase); var errorNumber = async ? (await Assert.ThrowsAsync <OracleException>(() => creator.CreateTablesAsync())).Number : Assert.Throws <OracleException>(() => creator.CreateTables()).Number; if (errorNumber != 233) // skip if no-process transient failure { Assert.Equal( 1017, // Login failed error number errorNumber); } } }
private static async Task Throws_when_database_does_not_exist_test(bool async) { using (var testDatabase = OracleTestStore.GetOrCreate("NonExisting")) { var databaseCreator = OracleDatabaseCreatorTest.GetDatabaseCreator(testDatabase); await databaseCreator.ExecutionStrategyFactory.Create().ExecuteAsync( databaseCreator, async creator => { var errorNumber = async ? (await Assert.ThrowsAsync <OracleException>(() => creator.HasTablesAsyncBase())).Number : Assert.Throws <OracleException>(() => creator.HasTablesBase()).Number; if (errorNumber != 233) // skip if no-process transient failure { Assert.Equal( 1017, // Login failed error number errorNumber); } }); } }
public override TestStore GetOrCreate(string storeName) { var oracleTestStore = OracleTestStore.GetOrCreate(Name, "Northwind.sql"); oracleTestStore.ExecuteNonQuery( @"CREATE OR REPLACE PROCEDURE ""Ten Most Expensive Products""(cur OUT sys_refcursor) AS BEGIN OPEN cur FOR SELECT ""ProductName"" AS ""TenMostExpensiveProducts"", ""UnitPrice"" FROM ""Products"" ORDER BY ""UnitPrice"" DESC FETCH NEXT 10 ROWS ONLY; END;"); oracleTestStore.ExecuteNonQuery( @"CREATE OR REPLACE PROCEDURE ""CustOrderHist""(CustomerID IN NCHAR, cur OUT sys_refcursor) AS BEGIN OPEN cur FOR SELECT ""ProductName"", SUM(""Quantity"") AS ""Total"" FROM ""Products"" P, ""Order Details"" OD, ""Orders"" O, ""Customers"" C WHERE C.""CustomerID"" = CustomerID AND C.""CustomerID"" = O.""CustomerID"" AND O.""OrderID"" = OD.""OrderID"" AND OD.""ProductID"" = P.""ProductID"" GROUP BY ""ProductName""; END;"); oracleTestStore.ExecuteNonQuery( @"CREATE OR REPLACE PROCEDURE ""SimpleProcedure"" AS BEGIN NULL; END;"); oracleTestStore.ExecuteNonQuery( @"CREATE OR REPLACE PROCEDURE ""SimpleProcedure2""(""CustomerID"" NCHAR) AS BEGIN NULL; END;"); return(oracleTestStore); }