More Layering (#9139)

* move handling generated files to the serilization classes

* remove unneeded methods

* add more folders to strictire compile, add more strict compile options

* update ci

* wip

* add more layering and fix issues

* add more strictness

* remove unnecessary assertion

* add missing checks

* fix indentation

* wip

* remove jsdoc

* fix layering

* fix compile

* fix compile errors

* wip

* wip

* finish layering

* fix css

* more layering

* rip

* reworking results serializer

* move some files around

* move capabilities to platform wip

* implement capabilities register provider

* fix capabilities service

* fix usage of the regist4ry

* add contribution

* wip

* wip

* wip

* remove no longer good parts

* fix strict-nulls

* fix issues with startup

* another try

* fix startup

* fix imports

* fix tests

* fix tests

* fix more tests

* fix tests

* fix more tests

* fix broken test

* fix tabbing

* fix naming

* wip

* finished layering

* fix imports

* fix valid layers

* fix layers
This commit is contained in:
Anthony Dresser
2020-02-15 01:54:23 -06:00
committed by GitHub
parent 873c6a39fe
commit 506c6a5e5f
338 changed files with 815 additions and 724 deletions

View File

@@ -5,14 +5,13 @@
import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile';
import { ConnectionProfileGroup } from 'sql/platform/connection/common/connectionProfileGroup';
import { ObjectExplorerService, NodeExpandInfoWithProviderId } from 'sql/workbench/services/objectExplorer/browser/objectExplorerService';
import { ObjectExplorerService, NodeExpandInfoWithProviderId, IServerTreeView } from 'sql/workbench/services/objectExplorer/browser/objectExplorerService';
import { NodeType } from 'sql/workbench/services/objectExplorer/common/nodeType';
import { TreeNode, TreeItemCollapsibleState } from 'sql/workbench/contrib/objectExplorer/common/treeNode';
import { TreeNode, TreeItemCollapsibleState } from 'sql/workbench/services/objectExplorer/common/treeNode';
import * as azdata from 'azdata';
import * as TypeMoq from 'typemoq';
import * as assert from 'assert';
import { ServerTreeView } from 'sql/workbench/contrib/objectExplorer/browser/serverTreeView';
import { ConnectionOptionSpecialType, ServiceOptionType } from 'sql/workbench/api/common/sqlExtHostTypes';
import { Event } from 'vs/base/common/event';
import { mssqlProviderName } from 'sql/platform/connection/common/constants';
@@ -38,7 +37,7 @@ suite('SQL Object Explorer Service tests', () => {
let sessionId = '1234';
let failedSessionId = '12345';
let numberOfSuccessfulSessions: number = 0;
let serverTreeView: TypeMoq.Mock<ServerTreeView>;
let serverTreeView: TypeMoq.Mock<IServerTreeView>;
setup(() => {
@@ -295,7 +294,7 @@ suite('SQL Object Explorer Service tests', () => {
isExpanded: element => undefined,
onSelectionOrFocusChange: Event.None,
refreshElement: (element) => Promise.resolve() as Thenable<void>
} as ServerTreeView);
} as IServerTreeView);
});
test('create new session should create session successfully', async () => {
@@ -425,7 +424,7 @@ suite('SQL Object Explorer Service tests', () => {
});
test('getSelectedProfileAndDatabase returns the profile if it is selected', () => {
const serverTreeView = TypeMoq.Mock.ofInstance({ getSelection: () => undefined, onSelectionOrFocusChange: Event.None } as ServerTreeView);
const serverTreeView = TypeMoq.Mock.ofInstance({ getSelection: () => undefined, onSelectionOrFocusChange: Event.None } as IServerTreeView);
serverTreeView.setup(x => x.getSelection()).returns(() => [connection]);
objectExplorerService.registerServerTreeView(serverTreeView.object);
@@ -435,7 +434,7 @@ suite('SQL Object Explorer Service tests', () => {
});
test('getSelectedProfileAndDatabase returns the profile but no database if children of a server are selected', () => {
const serverTreeView = TypeMoq.Mock.ofInstance({ getSelection: () => undefined, onSelectionOrFocusChange: Event.None } as ServerTreeView);
const serverTreeView = TypeMoq.Mock.ofInstance({ getSelection: () => undefined, onSelectionOrFocusChange: Event.None } as IServerTreeView);
const databaseNode = new TreeNode(NodeType.Folder, 'Folder1', false, 'testServerName\\Folder1', '', '', undefined, undefined, undefined, undefined);
databaseNode.connection = connection;
serverTreeView.setup(x => x.getSelection()).returns(() => [databaseNode]);
@@ -447,7 +446,7 @@ suite('SQL Object Explorer Service tests', () => {
});
test('getSelectedProfileAndDatabase returns the profile and database if children of a database node are selected', () => {
const serverTreeView = TypeMoq.Mock.ofInstance({ getSelection: () => undefined, onSelectionOrFocusChange: Event.None } as ServerTreeView);
const serverTreeView = TypeMoq.Mock.ofInstance({ getSelection: () => undefined, onSelectionOrFocusChange: Event.None } as IServerTreeView);
const databaseMetadata = {
metadataType: 0,
metadataTypeName: 'Database',
@@ -469,7 +468,7 @@ suite('SQL Object Explorer Service tests', () => {
});
test('getSelectedProfileAndDatabase returns undefined when there is no selection', () => {
const serverTreeView = TypeMoq.Mock.ofInstance({ getSelection: () => undefined, onSelectionOrFocusChange: Event.None } as ServerTreeView);
const serverTreeView = TypeMoq.Mock.ofInstance({ getSelection: () => undefined, onSelectionOrFocusChange: Event.None } as IServerTreeView);
serverTreeView.setup(x => x.getSelection()).returns(() => []);
objectExplorerService.registerServerTreeView(serverTreeView.object);

View File

@@ -3,12 +3,11 @@
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { TreeNode } from 'sql/workbench/contrib/objectExplorer/common/treeNode';
import { TreeNode } from 'sql/workbench/services/objectExplorer/common/treeNode';
import { ConnectionProfile } from 'sql/platform/connection/common/connectionProfile';
import { IConnectionProfile } from 'sql/platform/connection/common/interfaces';
import { Event } from 'vs/base/common/event';
import { ServerTreeView } from 'sql/workbench/contrib/objectExplorer/browser/serverTreeView';
import { ObjectExplorerNodeEventArgs, IObjectExplorerService, NodeExpandInfoWithProviderId } from 'sql/workbench/services/objectExplorer/browser/objectExplorerService';
import { ObjectExplorerNodeEventArgs, IObjectExplorerService, NodeExpandInfoWithProviderId, IServerTreeView } from 'sql/workbench/services/objectExplorer/browser/objectExplorerService';
import * as azdata from 'azdata';
import * as TypeMoq from 'typemoq';
@@ -16,7 +15,7 @@ export type ObjectExplorerServiceMockOptions = {
/**
* Return value for getServerTreeView
*/
serverTreeView?: ServerTreeView;
serverTreeView?: IServerTreeView;
/**
* Return value for getTreeNode
*/
@@ -60,7 +59,7 @@ export class TestObjectExplorerService implements IObjectExplorerService {
public updateObjectExplorerNodes(connection: IConnectionProfile): Promise<void> { return Promise.resolve(); }
public deleteObjectExplorerNode(connection: IConnectionProfile): Thenable<void> { return Promise.resolve(); }
public deleteObjectExplorerNode(connection: IConnectionProfile): Promise<void> { return Promise.resolve(); }
public onNodeExpanded(expandResponse: NodeExpandInfoWithProviderId) { }
@@ -86,13 +85,13 @@ export class TestObjectExplorerService implements IObjectExplorerService {
public refreshTreeNode(session: azdata.ObjectExplorerSession, parentTree: TreeNode): Thenable<TreeNode[]> { return Promise.resolve(undefined); }
public registerServerTreeView(view: ServerTreeView): void { }
public registerServerTreeView(view: IServerTreeView): void { }
public getSelectedProfileAndDatabase(): { profile: ConnectionProfile, databaseName: string } { return undefined; }
public isFocused(): boolean { return true; }
public getServerTreeView(): ServerTreeView { return undefined; }
public getServerTreeView(): IServerTreeView { return undefined; }
public findNodes(connectionId: string, type: string, schema: string, name: string, database: string, parentObjectNames?: string[]): Thenable<azdata.NodeInfo[]> { return Promise.resolve(undefined); }