Archived
Added multiple location option to package management dialog (#9790)
* Added multiple location option to package management dialog
This commit is contained in:
+31
-30
@@ -7,7 +7,6 @@ import * as azdata from 'azdata';
|
||||
import * as should from 'should';
|
||||
import 'mocha';
|
||||
import * as TypeMoq from 'typemoq';
|
||||
import * as constants from '../../common/constants';
|
||||
import { SqlRPackageManageProvider } from '../../packageManagement/sqlRPackageManageProvider';
|
||||
import { createContext, TestContext } from './utils';
|
||||
import * as nbExtensionApis from '../../typings/notebookServices';
|
||||
@@ -40,10 +39,10 @@ describe('SQL R Package Manager', () => {
|
||||
|
||||
let connection = new azdata.connection.ConnectionProfile();
|
||||
testContext.apiWrapper.setup(x => x.getCurrentConnection()).returns(() => { return Promise.resolve(connection); });
|
||||
testContext.serverConfigManager.setup(x => x.getRPackages(TypeMoq.It.isAny())).returns(() => Promise.resolve(packages));
|
||||
testContext.serverConfigManager.setup(x => x.getRPackages(TypeMoq.It.isAny(), TypeMoq.It.isAny())).returns(() => Promise.resolve(packages));
|
||||
|
||||
let provider = createProvider(testContext);
|
||||
let actual = await provider.listPackages();
|
||||
let actual = await provider.listPackages(connection.databaseName);
|
||||
let expected = [
|
||||
{
|
||||
'name': 'a-name',
|
||||
@@ -63,10 +62,10 @@ describe('SQL R Package Manager', () => {
|
||||
let connection = new azdata.connection.ConnectionProfile();
|
||||
let packages: nbExtensionApis.IPackageDetails[];
|
||||
testContext.apiWrapper.setup(x => x.getCurrentConnection()).returns(() => { return Promise.resolve(connection); });
|
||||
testContext.serverConfigManager.setup(x => x.getRPackages(TypeMoq.It.isAny())).returns(() => Promise.resolve(packages));
|
||||
testContext.serverConfigManager.setup(x => x.getRPackages(TypeMoq.It.isAny(), TypeMoq.It.isAny())).returns(() => Promise.resolve(packages));
|
||||
|
||||
let provider = createProvider(testContext);
|
||||
let actual = await provider.listPackages();
|
||||
let actual = await provider.listPackages(connection.databaseName);
|
||||
let expected: nbExtensionApis.IPackageDetails[] = [];
|
||||
should.deepEqual(actual, expected);
|
||||
});
|
||||
@@ -76,10 +75,10 @@ describe('SQL R Package Manager', () => {
|
||||
|
||||
let connection = new azdata.connection.ConnectionProfile();
|
||||
testContext.apiWrapper.setup(x => x.getCurrentConnection()).returns(() => { return Promise.resolve(connection); });
|
||||
testContext.serverConfigManager.setup(x => x.getRPackages(TypeMoq.It.isAny())).returns(() => Promise.resolve([]));
|
||||
testContext.serverConfigManager.setup(x => x.getRPackages(TypeMoq.It.isAny(), TypeMoq.It.isAny())).returns(() => Promise.resolve([]));
|
||||
|
||||
let provider = createProvider(testContext);
|
||||
let actual = await provider.listPackages();
|
||||
let actual = await provider.listPackages(connection.databaseName);
|
||||
let expected: nbExtensionApis.IPackageDetails[] = [];
|
||||
should.deepEqual(actual, expected);
|
||||
});
|
||||
@@ -118,7 +117,7 @@ describe('SQL R Package Manager', () => {
|
||||
});
|
||||
|
||||
let provider = createProvider(testContext);
|
||||
await provider.installPackages(packages, false);
|
||||
await provider.installPackages(packages, false, connection.databaseName);
|
||||
|
||||
should.deepEqual(packagesUpdated, true);
|
||||
});
|
||||
@@ -157,7 +156,7 @@ describe('SQL R Package Manager', () => {
|
||||
});
|
||||
|
||||
let provider = createProvider(testContext);
|
||||
await provider.uninstallPackages(packages);
|
||||
await provider.uninstallPackages(packages, connection.databaseName);
|
||||
|
||||
should.deepEqual(packagesUpdated, true);
|
||||
});
|
||||
@@ -179,7 +178,7 @@ describe('SQL R Package Manager', () => {
|
||||
|
||||
|
||||
let provider = createProvider(testContext);
|
||||
await provider.installPackages(packages, false);
|
||||
await provider.installPackages(packages, false, connection.databaseName);
|
||||
|
||||
should.deepEqual(packagesUpdated, false);
|
||||
});
|
||||
@@ -201,7 +200,7 @@ describe('SQL R Package Manager', () => {
|
||||
|
||||
|
||||
let provider = createProvider(testContext);
|
||||
await provider.uninstallPackages(packages);
|
||||
await provider.uninstallPackages(packages, connection.databaseName);
|
||||
|
||||
should.deepEqual(packagesUpdated, false);
|
||||
});
|
||||
@@ -271,42 +270,44 @@ describe('SQL R Package Manager', () => {
|
||||
should.deepEqual(actual, packagePreview);
|
||||
});
|
||||
|
||||
it('getLocationTitle Should default string for no connection', async function (): Promise<void> {
|
||||
it('getLocations Should return empty array for no connection', async function (): Promise<void> {
|
||||
let testContext = createContext();
|
||||
let connection: azdata.connection.ConnectionProfile;
|
||||
testContext.apiWrapper.setup(x => x.getCurrentConnection()).returns(() => { return Promise.resolve(connection); });
|
||||
|
||||
let provider = createProvider(testContext);
|
||||
let actual = await provider.getLocationTitle();
|
||||
let actual = await provider.getLocations();
|
||||
|
||||
should.deepEqual(actual, constants.noConnectionError);
|
||||
should.deepEqual(actual, []);
|
||||
});
|
||||
|
||||
it('getLocationTitle Should return connection title string for valid connection', async function (): Promise<void> {
|
||||
it('getLocations Should return database names for valid connection', async function (): Promise<void> {
|
||||
let testContext = createContext();
|
||||
|
||||
let connection = new azdata.connection.ConnectionProfile();
|
||||
connection.serverName = 'serverName';
|
||||
connection.databaseName = 'databaseName';
|
||||
const databaseNames = [
|
||||
'db1',
|
||||
'db2'
|
||||
];
|
||||
const expected = [
|
||||
{
|
||||
displayName: 'db1',
|
||||
name: 'db1'
|
||||
},
|
||||
{
|
||||
displayName: 'db2',
|
||||
name: 'db2'
|
||||
}
|
||||
];
|
||||
testContext.apiWrapper.setup(x => x.getCurrentConnection()).returns(() => { return Promise.resolve(connection); });
|
||||
testContext.apiWrapper.setup(x => x.listDatabases(connection.connectionId)).returns(() => { return Promise.resolve(databaseNames); });
|
||||
|
||||
let provider = createProvider(testContext);
|
||||
let actual = await provider.getLocationTitle();
|
||||
let actual = await provider.getLocations();
|
||||
|
||||
should.deepEqual(actual, `${connection.serverName} ${connection.databaseName}`);
|
||||
});
|
||||
|
||||
it('getLocationTitle Should return server name as connection title if there is not database name', async function (): Promise<void> {
|
||||
let testContext = createContext();
|
||||
|
||||
let connection = new azdata.connection.ConnectionProfile();
|
||||
connection.serverName = 'serverName';
|
||||
testContext.apiWrapper.setup(x => x.getCurrentConnection()).returns(() => { return Promise.resolve(connection); });
|
||||
|
||||
let provider = createProvider(testContext);
|
||||
let actual = await provider.getLocationTitle();
|
||||
|
||||
should.deepEqual(actual, `${connection.serverName} `);
|
||||
should.deepEqual(actual, expected);
|
||||
});
|
||||
|
||||
function createProvider(testContext: TestContext): SqlRPackageManageProvider {
|
||||
|
||||
Reference in New Issue
Block a user