mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-04 09:35:38 -05:00
Inital platform relayering (#6385)
* moving test files and inital refactoring * relayer extension host code * fix imports * make insights work * relayer dashboard * relayer notebooks * moveing more code around * formatting * accept angular as browser * fix serializer * add missing files * remove declarations from extensions * fix build errors * more relayering * change urls to relative to help code relayering * remove layering to prep for merge * fix hygiene errors * fix hygiene errors * fix tests
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { ConnectionDialogService } from 'sql/workbench/services/connection/browser/connectionDialogService';
|
||||
import { ConnectionDialogWidget } from 'sql/workbench/services/connection/browser/connectionDialogWidget';
|
||||
import { ConnectionManagementService } from 'sql/platform/connection/common/connectionManagementService';
|
||||
import { ConnectionType, IConnectableInput, IConnectionResult, INewConnectionParams } from 'sql/platform/connection/common/connectionManagement';
|
||||
import { TestErrorMessageService } from 'sql/platform/errorMessage/test/common/testErrorMessageService';
|
||||
|
||||
import * as TypeMoq from 'typemoq';
|
||||
import { TestStorageService } from 'vs/workbench/test/workbenchTestServices';
|
||||
import { MockContextKeyService } from 'vs/platform/keybinding/test/common/mockKeybindingService';
|
||||
|
||||
suite('ConnectionDialogService tests', () => {
|
||||
|
||||
let connectionDialogService: ConnectionDialogService;
|
||||
let mockConnectionManagementService: TypeMoq.Mock<ConnectionManagementService>;
|
||||
let mockConnectionDialog: TypeMoq.Mock<ConnectionDialogWidget>;
|
||||
|
||||
setup(() => {
|
||||
let errorMessageService = getMockErrorMessageService();
|
||||
connectionDialogService = new ConnectionDialogService(undefined, undefined, undefined, errorMessageService.object,
|
||||
undefined, undefined, undefined);
|
||||
mockConnectionManagementService = TypeMoq.Mock.ofType(ConnectionManagementService, TypeMoq.MockBehavior.Strict, {}, {}, new TestStorageService());
|
||||
(connectionDialogService as any)._connectionManagementService = mockConnectionManagementService.object;
|
||||
mockConnectionDialog = TypeMoq.Mock.ofType(ConnectionDialogWidget, TypeMoq.MockBehavior.Strict,
|
||||
undefined,
|
||||
undefined,
|
||||
undefined,
|
||||
undefined,
|
||||
undefined,
|
||||
undefined,
|
||||
undefined,
|
||||
undefined,
|
||||
new MockContextKeyService()
|
||||
);
|
||||
mockConnectionDialog.setup(c => c.resetConnection());
|
||||
(connectionDialogService as any)._connectionDialog = mockConnectionDialog.object;
|
||||
});
|
||||
|
||||
function getMockErrorMessageService(): TypeMoq.Mock<TestErrorMessageService> {
|
||||
let mockMessageService = TypeMoq.Mock.ofType(TestErrorMessageService);
|
||||
mockMessageService.setup(x => x.showDialog(TypeMoq.It.isAny(), TypeMoq.It.isAny(), TypeMoq.It.isAny()));
|
||||
return mockMessageService;
|
||||
}
|
||||
|
||||
function testHandleDefaultOnConnectUri(isEditor: boolean): Thenable<void> {
|
||||
let testUri = 'test_uri';
|
||||
let connectionParams = <INewConnectionParams>{
|
||||
connectionType: isEditor ? ConnectionType.editor : ConnectionType.default,
|
||||
input: <IConnectableInput>{
|
||||
uri: testUri,
|
||||
onConnectStart: undefined,
|
||||
onConnectSuccess: undefined,
|
||||
onConnectReject: undefined,
|
||||
onDisconnect: undefined,
|
||||
onConnectCanceled: undefined
|
||||
},
|
||||
runQueryOnCompletion: undefined,
|
||||
querySelection: undefined
|
||||
};
|
||||
mockConnectionManagementService.setup(x => x.connectAndSaveProfile(undefined, TypeMoq.It.is(_ => true), TypeMoq.It.isAny(), TypeMoq.It.isAny())).returns(
|
||||
() => Promise.resolve(<IConnectionResult>{ connected: true, errorMessage: undefined, errorCode: undefined }));
|
||||
|
||||
// If I call handleDefaultOnConnect with the given parameters
|
||||
let thenable: Thenable<void> = (connectionDialogService as any).handleDefaultOnConnect(connectionParams, undefined);
|
||||
return thenable.then(() => {
|
||||
// Then the Connection Management Service's connect method was called with the expected URI
|
||||
let expectedUri = isEditor ? testUri : undefined;
|
||||
mockConnectionManagementService.verify(
|
||||
x => x.connectAndSaveProfile(undefined, TypeMoq.It.is(uri => uri === expectedUri), TypeMoq.It.isAny(), TypeMoq.It.isAny()),
|
||||
TypeMoq.Times.once());
|
||||
});
|
||||
}
|
||||
|
||||
test('handleDefaultOnConnect uses params URI for editor connections', done => {
|
||||
testHandleDefaultOnConnectUri(true).then(() => done(), err => {
|
||||
done(err);
|
||||
});
|
||||
});
|
||||
|
||||
test('handleDefaultOnConnect uses undefined URI for non-editor connections', done => {
|
||||
testHandleDefaultOnConnectUri(false).then(() => done(), err => {
|
||||
done(err);
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user