mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-17 02:51:36 -05:00
Fix object explorer session fails (#5256)
* only start session if response successful * added return type * fixed OE tests * format doc
This commit is contained in:
@@ -227,7 +227,13 @@ export class ObjectExplorerService implements IObjectExplorerService {
|
|||||||
* Gets called when session is created
|
* Gets called when session is created
|
||||||
*/
|
*/
|
||||||
public onSessionCreated(handle: number, session: azdata.ObjectExplorerSession): void {
|
public onSessionCreated(handle: number, session: azdata.ObjectExplorerSession): void {
|
||||||
this.handleSessionCreated(session);
|
if (session && session.success) {
|
||||||
|
this.handleSessionCreated(session);
|
||||||
|
} else {
|
||||||
|
let errorMessage = session && session.errorMessage ? session.errorMessage :
|
||||||
|
nls.localize('OeSessionFailedError', 'Failed to create Object Explorer session');
|
||||||
|
error(errorMessage);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private async handleSessionCreated(session: azdata.ObjectExplorerSession): Promise<void> {
|
private async handleSessionCreated(session: azdata.ObjectExplorerSession): Promise<void> {
|
||||||
@@ -237,7 +243,7 @@ export class ObjectExplorerService implements IObjectExplorerService {
|
|||||||
if (this._sessions[session.sessionId]) {
|
if (this._sessions[session.sessionId]) {
|
||||||
connection = this._sessions[session.sessionId].connection;
|
connection = this._sessions[session.sessionId].connection;
|
||||||
|
|
||||||
if (session && session.success && session.rootNode) {
|
if (session.success && session.rootNode) {
|
||||||
let server = this.toTreeNode(session.rootNode, null);
|
let server = this.toTreeNode(session.rootNode, null);
|
||||||
server.connection = connection;
|
server.connection = connection;
|
||||||
server.session = session;
|
server.session = session;
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ suite('SQL Object Explorer Service tests', () => {
|
|||||||
let objectExplorerExpandInfoRefresh: NodeExpandInfoWithProviderId;
|
let objectExplorerExpandInfoRefresh: NodeExpandInfoWithProviderId;
|
||||||
let sessionId = '1234';
|
let sessionId = '1234';
|
||||||
let failedSessionId = '12345';
|
let failedSessionId = '12345';
|
||||||
let numberOfFailedSession: number = 0;
|
let numberOfSuccessfulSessions: number = 0;
|
||||||
let serverTreeView: TypeMoq.Mock<ServerTreeView>;
|
let serverTreeView: TypeMoq.Mock<ServerTreeView>;
|
||||||
const providerId = 'MSSQL';
|
const providerId = 'MSSQL';
|
||||||
|
|
||||||
@@ -286,8 +286,8 @@ suite('SQL Object Explorer Service tests', () => {
|
|||||||
sqlOEProvider.setup(x => x.closeSession(TypeMoq.It.isAny())).returns(() => Promise.resolve(objectExplorerCloseSessionResponse));
|
sqlOEProvider.setup(x => x.closeSession(TypeMoq.It.isAny())).returns(() => Promise.resolve(objectExplorerCloseSessionResponse));
|
||||||
|
|
||||||
objectExplorerService.onUpdateObjectExplorerNodes(args => {
|
objectExplorerService.onUpdateObjectExplorerNodes(args => {
|
||||||
if (args && args.errorMessage !== undefined) {
|
if (args && args.errorMessage === undefined) {
|
||||||
numberOfFailedSession++;
|
numberOfSuccessfulSessions++;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -320,11 +320,11 @@ suite('SQL Object Explorer Service tests', () => {
|
|||||||
objectExplorerService.createNewSession('MSSQL', connectionToFail).then(session => {
|
objectExplorerService.createNewSession('MSSQL', connectionToFail).then(session => {
|
||||||
assert.equal(session !== null || session !== undefined, true);
|
assert.equal(session !== null || session !== undefined, true);
|
||||||
assert.equal(session.sessionId, failedSessionId);
|
assert.equal(session.sessionId, failedSessionId);
|
||||||
let currentNumberOfFailedSession = numberOfFailedSession;
|
let currentNumberOfSuccessfulSessions = numberOfSuccessfulSessions;
|
||||||
objectExplorerService.onSessionCreated(1, objectExplorerFailedSession);
|
objectExplorerService.onSessionCreated(1, objectExplorerFailedSession);
|
||||||
let node = objectExplorerService.getObjectExplorerNode(connection);
|
let node = objectExplorerService.getObjectExplorerNode(connection);
|
||||||
assert.equal(node, undefined);
|
assert.equal(node, undefined);
|
||||||
assert.equal(currentNumberOfFailedSession + 1, numberOfFailedSession);
|
assert.equal(currentNumberOfSuccessfulSessions, numberOfSuccessfulSessions);
|
||||||
done();
|
done();
|
||||||
}, err => {
|
}, err => {
|
||||||
// Must call done here so test indicates it's finished if errors occur
|
// Must call done here so test indicates it's finished if errors occur
|
||||||
|
|||||||
Reference in New Issue
Block a user