CMS - error check (#5796)

* cms connections dont save

* added value to enum

* remove refresh and update provider name for cms

* removed ownerUri from saved connection and contributed to array

* removed owneruri

* ownerUri not needed any more

* removed AAD from cms

* initial review

* changed comments

* add back saveProfile option for connectionProfile

* review fixes and other UI improvements

* fixed auth

* added cms integration tests

* added constants

* removed utils from apiwrapper

* changed connection type name

* review comments

* clearer code and addressed reviews

* added more error checks

* add back functions in apiwrapper
This commit is contained in:
Aditya Bist
2019-05-31 14:27:27 -07:00
committed by GitHub
parent b10bd70d67
commit 1bb9d142f1
5 changed files with 21 additions and 18 deletions

View File

@@ -4,16 +4,8 @@
*--------------------------------------------------------------------------------------------*/
'use strict';
import * as nls from 'vscode-nls';
import * as vscode from 'vscode';
import * as azdata from 'azdata';
import * as mssql from '../../mssql/src/api/mssqlapis';
import * as Utils from './cmsResource/utils';
import { ICmsResourceNodeInfo } from './cmsResource/tree/baseTreeNodes';
const localize = nls.loadMessageBundle();
const cmsProvider: string = 'MSSQL-CMS';
const mssqlProvider: string = 'MSSQL';
/**
* Wrapper class to act as a facade over VSCode and Data APIs and allow us to test / mock callbacks into
@@ -24,9 +16,6 @@ const mssqlProvider: string = 'MSSQL';
*/
export class ApiWrapper {
private _cmsService: mssql.CmsService;
private _registeredCmsServers: ICmsResourceNodeInfo[];
// Data APIs
public registerConnectionProvider(provider: azdata.ConnectionProvider): vscode.Disposable {
return azdata.dataprotocol.registerConnectionProvider(provider);

View File

@@ -74,11 +74,17 @@ export function addRegisteredServerCommand(appContext: AppContext, tree: CmsReso
return;
}
let relativePath = node instanceof CmsResourceTreeNode ? '' : node.relativePath;
let serverName = node instanceof CmsResourceTreeNode ? node.connection.options.server : null;
let serverName = node instanceof CmsResourceTreeNode ? node.connection.options.registeredServerName === ''
? node.connection.options.server : node.connection.options.registeredServerName : null;
await appContext.cmsUtils.addRegisteredServer(relativePath, node.ownerUri, serverName).then((result) => {
if (result) {
tree.notifyNodeChanged(node);
}
}, (error) => {
// error out
let errorText = localize('cms.errors.addRegisterServerFail', 'Could not add the Registered Server {0}', error);
appContext.apiWrapper.showErrorMessage(errorText);
return;
});
});
}

View File

@@ -75,8 +75,11 @@ export class CmsResourceTreeNode extends CmsResourceTreeNodeBase {
} else {
return [CmsResourceMessageTreeNode.create(CmsResourceTreeNode.noResourcesLabel, undefined)];
}
}
}, (error) => {
let errorText = localize('cms.errors.expandCmsFail', 'The Central Management Server {0} could not be found or is offline', this.name);
this.appContext.apiWrapper.showErrorMessage(errorText);
return [];
});
} catch {
return [];

View File

@@ -34,7 +34,7 @@ export class CmsResourceTreeProvider implements TreeDataProvider<TreeNode>, ICms
try {
// Call to collect all locally saved CMS servers
// to determine whether the system has been initialized.
let cmsConfig = this._appContext.apiWrapper.getConfiguration();
let cmsConfig = this._appContext.cmsUtils.getConfiguration();
let cachedServers = cmsConfig.servers ? cmsConfig.servers : [];
if (cachedServers && cachedServers.length > 0) {
let servers = [];
@@ -68,7 +68,7 @@ export class CmsResourceTreeProvider implements TreeDataProvider<TreeNode>, ICms
server.ownerUri = undefined,
server.connection.options.password = '';
});
await this._appContext.apiWrapper.setConfiguration(toSaveCmsServers);
await this._appContext.cmsUtils.setConfiguration(toSaveCmsServers);
return registeredCmsServers.map((server) => {
return new CmsResourceTreeNode(
server.name,

View File

@@ -92,7 +92,9 @@ export class CmsUtils {
}
return provider.createCmsServer(name, description, connection, ownerUri).then((result) => {
if (result) {
return result;
return Promise.resolve(result);
} else {
return Promise.reject(null);
}
});
}
@@ -155,9 +157,12 @@ export class CmsUtils {
} else {
let registeredServerName = connection.options.registeredServerName === '' ? connection.options.server : connection.options.registeredServerName;
let result = await provider.addRegisteredServer(ownerUri, relativePath, registeredServerName, connection.options.registeredServerDescription, connection);
return result;
if (result) {
return Promise.resolve(result);
} else {
return Promise.reject(registeredServerName);
}
}
}
});
}