private async Task ExecuteAndValidatePeekTest(string query, string objectName, string objectType, string schemaName = "dbo") { if (!string.IsNullOrEmpty(query)) { SqlTestDb testDb = await SqlTestDb.CreateNewAsync(TestServerType.OnPrem, false, null, query); ValidatePeekTest(testDb.DatabaseName, objectName, objectType, schemaName, true); await testDb.CleanupAsync(); } else { ValidatePeekTest(null, objectName, objectType, schemaName, false); } }
private async Task RunTest(string databaseName, string query, string testDbPrefix, Func <string, ObjectExplorerSession, Task> test) { SqlTestDb testDb = null; string uri = string.Empty; try { testDb = await SqlTestDb.CreateNewAsync(TestServerType.OnPrem, false, null, query, testDbPrefix); if (databaseName == "#testDb#") { databaseName = testDb.DatabaseName; } var session = await CreateSession(databaseName); uri = session.Uri; await test(testDb.DatabaseName, session); } catch (Exception ex) { string msg = ex.BuildRecursiveErrorMessage(); Console.WriteLine($"Failed to run OE test. uri:{uri} error:{msg} {ex.StackTrace}"); Assert.False(true, msg); } finally { if (!string.IsNullOrEmpty(uri)) { CloseSession(uri); } if (testDb != null) { await testDb.CleanupAsync(); } } }