mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-07 01:25:38 -05:00
Don't throw if cleanup drop fails (#11405)
This commit is contained in:
@@ -64,7 +64,7 @@ suite('Dacpac integration test suite', () => {
|
||||
|
||||
assert(extractResult.success === true && extractResult.errorMessage === '', `Extract dacpac should succeed. Expected: there should be no error. Actual Error message: "${extractResult.errorMessage}"`);
|
||||
} finally {
|
||||
await utils.deleteDB(server, databaseName, ownerUri);
|
||||
await utils.tryDeleteDB(server, databaseName, ownerUri);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -109,7 +109,7 @@ suite('Dacpac integration test suite', () => {
|
||||
await utils.assertFileGenerationResult(packageFilePath, retryCount);
|
||||
assert(exportResult.success === true && exportResult.errorMessage === '', `Expected: Export bacpac should succeed and there should be no error. Actual Error message: "${exportResult.errorMessage}"`);
|
||||
} finally {
|
||||
await utils.deleteDB(server, databaseName, ownerUri);
|
||||
await utils.tryDeleteDB(server, databaseName, ownerUri);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
import 'mocha';
|
||||
import * as azdata from 'azdata';
|
||||
import { getBdcServer, TestServerProfile, getAzureServer, getStandaloneServer } from './testConfig';
|
||||
import { connectToServer, createDB, deleteDB, DefaultConnectTimeoutInMs, asyncTimeout } from './utils';
|
||||
import { connectToServer, createDB, DefaultConnectTimeoutInMs, asyncTimeout, tryDeleteDB } from './utils';
|
||||
import * as assert from 'assert';
|
||||
|
||||
suite('Object Explorer integration suite', () => {
|
||||
@@ -129,7 +129,7 @@ async function verifyDBContextMenu(server: TestServerProfile, timeoutinMS: numbe
|
||||
return assert(expectedActions.length === actions.length && expectedString === actualString, `Expected actions: "${expectedString}", Actual actions: "${actualString}"`);
|
||||
}
|
||||
finally {
|
||||
await deleteDB(server, dbName, ownerUri);
|
||||
await tryDeleteDB(server, dbName, ownerUri);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -156,8 +156,8 @@ suite('Schema compare integration test suite', () => {
|
||||
await fs.promises.unlink(filepath);
|
||||
}
|
||||
finally {
|
||||
await utils.deleteDB(server, sourceDB, ownerUri);
|
||||
await utils.deleteDB(server, targetDB, ownerUri);
|
||||
await utils.tryDeleteDB(server, sourceDB, ownerUri);
|
||||
await utils.tryDeleteDB(server, targetDB, ownerUri);
|
||||
}
|
||||
});
|
||||
test('Schema compare dacpac to database comparison, script generation, and scmp', async function () {
|
||||
@@ -224,7 +224,7 @@ suite('Schema compare integration test suite', () => {
|
||||
assert(openScmpResult.targetEndpointInfo.databaseName === target.databaseName, `Expected: target database to be ${target.databaseName}, Actual: ${openScmpResult.targetEndpointInfo.databaseName}`);
|
||||
}
|
||||
finally {
|
||||
await utils.deleteDB(server, targetDB, ownerUri);
|
||||
await utils.tryDeleteDB(server, targetDB, ownerUri);
|
||||
}
|
||||
});
|
||||
test('Schema compare dacpac to dacpac comparison with include exclude', async function () {
|
||||
|
||||
@@ -109,6 +109,12 @@ export async function createDB(dbName: string, ownerUri: string): Promise<void>
|
||||
assert(dbCreatedResult.columnInfo[0].columnName !== 'ErrorMessage', 'DB creation threw error');
|
||||
}
|
||||
|
||||
/**
|
||||
* Attempts to delete a database, throwing an exception if it fails.
|
||||
* @param server The server information
|
||||
* @param dbName The name of the DB to delete
|
||||
* @param ownerUri The ownerUri of the connection used to run the query
|
||||
*/
|
||||
export async function deleteDB(server: TestServerProfile, dbName: string, ownerUri: string): Promise<void> {
|
||||
let query = `BEGIN TRY
|
||||
ALTER DATABASE ${dbName}
|
||||
@@ -123,7 +129,23 @@ export async function deleteDB(server: TestServerProfile, dbName: string, ownerU
|
||||
|
||||
ownerUri = await ensureServerConnected(server, ownerUri);
|
||||
let dbDeleteResult = await runQuery(query, ownerUri);
|
||||
assert(dbDeleteResult.columnInfo[0].columnName !== 'ErrorMessage', 'DB deletion threw error');
|
||||
assert(dbDeleteResult.columnInfo[0].columnName !== 'ErrorMessage', `Error deleting db ${dbName} : ${dbDeleteResult.rows[0][0]}`);
|
||||
}
|
||||
|
||||
/**
|
||||
* Attempts to delete a database, returning true if successful and false if not.
|
||||
* @param server The server information
|
||||
* @param dbName The name of the DB to delete
|
||||
* @param ownerUri The ownerUri of the connection used to run the query
|
||||
*/
|
||||
export async function tryDeleteDB(server: TestServerProfile, dbName: string, ownerUri: string): Promise<boolean> {
|
||||
try {
|
||||
deleteDB(server, dbName, ownerUri);
|
||||
return true;
|
||||
} catch (err) {
|
||||
console.warn(err);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
async function ensureServerConnected(server: TestServerProfile, ownerUri: string): Promise<string> {
|
||||
|
||||
Reference in New Issue
Block a user