Skip to content

Commit ddd08d8

Browse files
Move tests into dedicated subfolder (#17913)
* Move tests and fix coverage report issue * Clean up debugging console logs * Correct folder name to unit
1 parent b981673 commit ddd08d8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+203
-204
lines changed

coverconfig.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"enabled": true,
3-
"relativeSourcePath": "../src",
4-
"relativeCoverageDir": "../../coverage",
3+
"relativeSourcePath": "../../src",
4+
"relativeCoverageDir": "../../../coverage",
55
"ignorePatterns": ["**/node_modules/**", "**/libs/**", "**/lib/**", "**/htmlcontent/**/*.js", "**/*.bundle.js"],
66
"includePid": false,
77
"reports": ["json"],

gulpfile.js

+6-6
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ gulp.task('ext:lint', () => {
2121
return gulp.src([
2222
config.paths.project.root + '/src/**/*.ts',
2323
'!' + config.paths.project.root + '/src/views/htmlcontent/**/*',
24-
config.paths.project.root + '/test/**/*.ts'
24+
config.paths.project.root + '/test/unit/**/*.ts'
2525
])
2626
.pipe(gulpESLintNew())
2727
.pipe(gulpESLintNew.format()) // Output lint results to the console.
@@ -188,7 +188,7 @@ gulp.task('ext:copy-dependencies', (done) => {
188188
// Compile tests
189189
gulp.task('ext:compile-tests', (done) => {
190190
return gulp.src([
191-
config.paths.project.root + '/test/**/*.ts',
191+
config.paths.project.root + '/test/unit/**/*.ts',
192192
config.paths.project.root + '/typings/**/*.ts'])
193193
.pipe(srcmap.init())
194194
.pipe(tsProject())
@@ -198,8 +198,8 @@ gulp.task('ext:compile-tests', (done) => {
198198
process.exit(1);
199199
}
200200
})
201-
.pipe(srcmap.write('.', { includeContent: false, sourceRoot: '../test' }))
202-
.pipe(gulp.dest('out/test/'));
201+
.pipe(srcmap.write('.', { includeContent: false, sourceRoot: '../test/unit' }))
202+
.pipe(gulp.dest('out/test/unit/'));
203203

204204
});
205205

@@ -236,7 +236,7 @@ gulp.task('ext:test', async () => {
236236
}
237237
process.env.JUNIT_REPORT_PATH = workspace + '/test-reports/test-results-ext.xml';
238238
var args = ['--verbose', '--disable-gpu', '--disable-telemetry', '--disable-updates', '-n'];
239-
let extensionTestsPath = `${workspace}/out/test`;
239+
let extensionTestsPath = `${workspace}/out/test/unit`;
240240
let vscodePath = await vscodeTest.downloadAndUnzipVSCode();
241241
await vscodeTest.runTests({
242242
vscodeExecutablePath: vscodePath,
@@ -261,7 +261,7 @@ gulp.task('watch-src', function () {
261261
});
262262

263263
gulp.task('watch-tests', function () {
264-
return gulp.watch('./test/**/*.ts', gulp.series('ext:compile-tests'))
264+
return gulp.watch('./test/unit/**/*.ts', gulp.series('ext:compile-tests'))
265265
});
266266

267267
// Do a full build first so we have the latest compiled files before we start watching for more changes

test/adapter.test.ts test/unit/adapter.test.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55

66
import * as vscode from 'vscode';
77
import * as TypeMoq from 'typemoq';
8-
import CodeAdapter from '../src/prompts/adapter';
9-
import VscodeWrapper from '../src/controllers/vscodeWrapper';
10-
import { IQuestion } from '../src/prompts/question';
8+
import CodeAdapter from '../../src/prompts/adapter';
9+
import VscodeWrapper from '../../src/controllers/vscodeWrapper';
10+
import { IQuestion } from '../../src/prompts/question';
1111

1212
suite('Code Adapter Tests', () => {
1313

test/azureController.test.ts test/unit/azureController.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* Licensed under the MIT License. See License.txt in the project root for license information.
44
*--------------------------------------------------------------------------------------------*/
55

6-
import { AzureController } from '../src/azure/azureController';
6+
import { AzureController } from '../../src/azure/azureController';
77
import * as assert from 'assert';
88

99
suite('Azure Controller Tests', () => {

test/azureResourceService.test.ts test/unit/azureResourceService.test.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55

66
import * as assert from 'assert';
77
import * as TypeMoq from 'typemoq';
8-
import { AzureAuthType, IAccount } from '../src/models/contracts/azure';
8+
import { AzureAuthType, IAccount } from '../../src/models/contracts/azure';
99
import { SubscriptionClient, Subscription, Subscriptions, Location } from '@azure/arm-subscriptions';
1010
import { PagedAsyncIterableIterator } from '@azure/core-paging';
1111
import { ResourceGroup, ResourceGroups, ResourceManagementClient } from '@azure/arm-resources';
12-
import { AzureResourceController } from '../src/azure/azureResourceController';
13-
import { AzureAccountService } from '../src/services/azureAccountService';
14-
import { TokenCredentialWrapper } from '../src/azure/credentialWrapper';
15-
import allSettings from '../src/azure/providerSettings';
12+
import { AzureResourceController } from '../../src/azure/azureResourceController';
13+
import { AzureAccountService } from '../../src/services/azureAccountService';
14+
import { TokenCredentialWrapper } from '../../src/azure/credentialWrapper';
15+
import allSettings from '../../src/azure/providerSettings';
1616
import { IAzureAccountSession } from 'vscode-mssql';
1717

1818
export interface ITestContext {

test/checkbox.test.ts test/unit/checkbox.test.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55

66
import * as TypeMoq from 'typemoq';
77
import * as figures from 'figures';
8-
import VscodeWrapper from '../src/controllers/vscodeWrapper';
9-
import CheckboxPrompt from '../src/prompts/checkbox';
8+
import VscodeWrapper from '../../src/controllers/vscodeWrapper';
9+
import CheckboxPrompt from '../../src/prompts/checkbox';
1010

1111
// @cssuh 10/22 - commented this test because it was throwing some random undefined errors
1212
suite('Test Checkbox prompt', () => {

test/config.test.ts test/unit/config.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
import * as assert from 'assert';
77

8-
import Config from '../src/configurations/config';
8+
import Config from '../../src/configurations/config';
99

1010
suite('Config Tests', () => {
1111

test/confirm.test.ts test/unit/confirm.test.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
*--------------------------------------------------------------------------------------------*/
55

66
import * as TypeMoq from 'typemoq';
7-
import VscodeWrapper from '../src/controllers/vscodeWrapper';
8-
import * as LocalizedConstants from '../src/constants/localizedConstants';
9-
import ConfirmPrompt from '../src/prompts/confirm';
7+
import VscodeWrapper from '../../src/controllers/vscodeWrapper';
8+
import * as LocalizedConstants from '../../src/constants/localizedConstants';
9+
import ConfirmPrompt from '../../src/prompts/confirm';
1010

1111
// @cssuh 10/22 - commented this test because it was throwing some random undefined errors
1212
suite.skip('Test Confirm Prompt', () => {

test/connectionCredentials.test.ts test/unit/connectionCredentials.test.ts

+10-10
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,18 @@
55

66
import * as TypeMoq from 'typemoq';
77
import * as vscode from 'vscode';
8-
import * as utils from '../src/models/utils';
9-
import * as Constants from '../src/constants/constants';
10-
import * as LocalizedConstants from '../src/constants/localizedConstants';
8+
import * as utils from '../../src/models/utils';
9+
import * as Constants from '../../src/constants/constants';
10+
import * as LocalizedConstants from '../../src/constants/localizedConstants';
1111
import * as stubs from './stubs';
12-
import * as interfaces from '../src/models/interfaces';
13-
import { ConnectionProfile } from '../src/models/connectionProfile';
14-
import { ConnectionStore } from '../src/models/connectionStore';
15-
import { ConnectionCredentials } from '../src/models/connectionCredentials';
16-
import { IPrompter, IQuestion } from '../src/prompts/question';
12+
import * as interfaces from '../../src/models/interfaces';
13+
import { ConnectionProfile } from '../../src/models/connectionProfile';
14+
import { ConnectionStore } from '../../src/models/connectionStore';
15+
import { ConnectionCredentials } from '../../src/models/connectionCredentials';
16+
import { IPrompter, IQuestion } from '../../src/prompts/question';
1717
import { TestPrompter } from './stubs';
18-
import { IConnectionProfile } from '../src/models/interfaces';
19-
import VscodeWrapper from '../src/controllers/vscodeWrapper';
18+
import { IConnectionProfile } from '../../src/models/interfaces';
19+
import VscodeWrapper from '../../src/controllers/vscodeWrapper';
2020

2121
import * as assert from 'assert';
2222
import { IConnectionInfo } from 'vscode-mssql';

test/connectionProfile.test.ts test/unit/connectionProfile.test.ts

+13-13
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,19 @@ import * as assert from 'assert';
77
import * as TypeMoq from 'typemoq';
88
import * as vscode from 'vscode';
99
import { IConnectionInfo } from 'vscode-mssql';
10-
import { AccountStore } from '../src/azure/accountStore';
11-
import { AzureController } from '../src/azure/azureController';
12-
import { MsalAzureController } from '../src/azure/msal/msalAzureController';
13-
import * as LocalizedConstants from '../src/constants/localizedConstants';
14-
import ConnectionManager from '../src/controllers/connectionManager';
15-
import VscodeWrapper from '../src/controllers/vscodeWrapper';
16-
import { ConnectionCredentials } from '../src/models/connectionCredentials';
17-
import { ConnectionProfile } from '../src/models/connectionProfile';
18-
import { ConnectionStore } from '../src/models/connectionStore';
19-
import { AuthenticationTypes, IConnectionProfile } from '../src/models/interfaces';
20-
import { Logger } from '../src/models/logger';
21-
import { INameValueChoice, IPrompter, IQuestion } from '../src/prompts/question';
22-
import { ConnectionUI } from '../src/views/connectionUI';
10+
import { AccountStore } from '../../src/azure/accountStore';
11+
import { AzureController } from '../../src/azure/azureController';
12+
import { MsalAzureController } from '../../src/azure/msal/msalAzureController';
13+
import * as LocalizedConstants from '../../src/constants/localizedConstants';
14+
import ConnectionManager from '../../src/controllers/connectionManager';
15+
import VscodeWrapper from '../../src/controllers/vscodeWrapper';
16+
import { ConnectionCredentials } from '../../src/models/connectionCredentials';
17+
import { ConnectionProfile } from '../../src/models/connectionProfile';
18+
import { ConnectionStore } from '../../src/models/connectionStore';
19+
import { AuthenticationTypes, IConnectionProfile } from '../../src/models/interfaces';
20+
import { Logger } from '../../src/models/logger';
21+
import { INameValueChoice, IPrompter, IQuestion } from '../../src/prompts/question';
22+
import { ConnectionUI } from '../../src/views/connectionUI';
2323
import { TestPrompter } from './stubs';
2424

2525
function createTestCredentials(): IConnectionInfo {

test/connectionUI.test.ts test/unit/connectionUI.test.ts

+11-11
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@
55

66
import * as vscode from 'vscode';
77
import * as TypeMoq from 'typemoq';
8-
import { ConnectionUI } from '../src/views/connectionUI';
9-
import VscodeWrapper from '../src/controllers/vscodeWrapper';
10-
import { IPrompter } from '../src/prompts/question';
11-
import { ConnectionStore } from '../src/models/connectionStore';
12-
import ConnectionManager from '../src/controllers/connectionManager';
13-
import { IConnectionCredentialsQuickPickItem, CredentialsQuickPickItemType } from '../src/models/interfaces';
14-
import { ConnectionProfile } from '../src/models/connectionProfile';
15-
import { ConnectionCredentials } from '../src/models/connectionCredentials';
16-
import * as LocalizedConstants from '../src/constants/localizedConstants';
17-
import { AccountStore } from '../src/azure/accountStore';
18-
import { Logger } from '../src/models/logger';
8+
import { ConnectionUI } from '../../src/views/connectionUI';
9+
import VscodeWrapper from '../../src/controllers/vscodeWrapper';
10+
import { IPrompter } from '../../src/prompts/question';
11+
import { ConnectionStore } from '../../src/models/connectionStore';
12+
import ConnectionManager from '../../src/controllers/connectionManager';
13+
import { IConnectionCredentialsQuickPickItem, CredentialsQuickPickItemType } from '../../src/models/interfaces';
14+
import { ConnectionProfile } from '../../src/models/connectionProfile';
15+
import { ConnectionCredentials } from '../../src/models/connectionCredentials';
16+
import * as LocalizedConstants from '../../src/constants/localizedConstants';
17+
import { AccountStore } from '../../src/azure/accountStore';
18+
import { Logger } from '../../src/models/logger';
1919

2020
suite('Connection UI tests', () => {
2121

test/credentialStore.test.ts test/unit/credentialStore.test.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55

66
import * as vscode from 'vscode';
77
import * as TypeMoq from 'typemoq';
8-
import * as Contracts from '../src/models/contracts';
9-
import SqlToolsServiceClient from '../src/languageservice/serviceclient';
10-
import { CredentialStore } from '../src/credentialstore/credentialstore';
11-
import { ICredentialStore } from '../src/credentialstore/icredentialstore';
8+
import * as Contracts from '../../src/models/contracts';
9+
import SqlToolsServiceClient from '../../src/languageservice/serviceclient';
10+
import { CredentialStore } from '../../src/credentialstore/credentialstore';
11+
import { ICredentialStore } from '../../src/credentialstore/icredentialstore';
1212

1313
suite('Credential Store Tests', () => {
1414

test/download.test.ts test/unit/download.test.ts

+9-9
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@
55

66
import * as assert from 'assert';
77
import * as TypeMoq from 'typemoq';
8-
import { IConfig, IStatusView, IHttpClient, IDecompressProvider } from '../src/languageservice/interfaces';
9-
import ServiceDownloadProvider from '../src/languageservice/serviceDownloadProvider';
10-
import HttpClient from '../src/languageservice/httpClient';
11-
import DecompressProvider from '../src/languageservice/decompressProvider';
12-
import Config from '../src/configurations/config';
13-
import { Runtime } from '../src/models/platform';
8+
import { IConfig, IStatusView, IHttpClient, IDecompressProvider } from '../../src/languageservice/interfaces';
9+
import ServiceDownloadProvider from '../../src/languageservice/serviceDownloadProvider';
10+
import HttpClient from '../../src/languageservice/httpClient';
11+
import DecompressProvider from '../../src/languageservice/decompressProvider';
12+
import Config from '../../src/configurations/config';
13+
import { Runtime } from '../../src/models/platform';
1414
import * as path from 'path';
15-
import { ILogger } from '../src/models/interfaces';
16-
import { Logger } from '../src/models/logger';
15+
import { ILogger } from '../../src/models/interfaces';
16+
import { Logger } from '../../src/models/logger';
1717
import * as fs from 'fs/promises';
1818

1919
interface IFixture {
@@ -77,7 +77,7 @@ suite('ServiceDownloadProvider Tests', () => {
7777
test('getInstallDirectory should add the platform to the path given the path with the platform template key', async () => {
7878
let expectedPathFromConfig = '../service/{#version#}/{#platform#}';
7979
let expectedVersionFromConfig = '0.0.4';
80-
let expected = path.join(__dirname, '../../service/0.0.4/OSX');
80+
let expected = path.join(__dirname, '../../../service/0.0.4/OSX');
8181
config.setup(x => x.getSqlToolsInstallDirectory()).returns(() => expectedPathFromConfig);
8282
config.setup(x => x.getSqlToolsPackageVersion()).returns(() => expectedVersionFromConfig);
8383
let downloadProvider = new ServiceDownloadProvider(config.object, undefined, testStatusView.object,

test/expand.test.ts test/unit/expand.test.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55

66
import * as vscode from 'vscode';
77
import * as TypeMoq from 'typemoq';
8-
import VscodeWrapper from '../src/controllers/vscodeWrapper';
9-
import ExpandPrompt from '../src/prompts/expand';
8+
import VscodeWrapper from '../../src/controllers/vscodeWrapper';
9+
import ExpandPrompt from '../../src/prompts/expand';
1010

1111
suite('Test Expand Prompt', () => {
1212

test/extConfig.test.ts test/unit/extConfig.test.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55

66
import * as assert from 'assert';
77
import * as TypeMoq from 'typemoq';
8-
import { IConfig } from '../src/languageservice/interfaces';
8+
import { IConfig } from '../../src/languageservice/interfaces';
99
import { WorkspaceConfiguration, workspace } from 'vscode';
10-
import * as Constants from '../src/constants/constants';
11-
import ExtConfig from '../src/configurations/extConfig';
12-
import Config from '../src/configurations/config';
10+
import * as Constants from '../../src/constants/constants';
11+
import ExtConfig from '../../src/configurations/extConfig';
12+
import Config from '../../src/configurations/config';
1313

1414
suite('ExtConfig Tests', () => {
1515
let config: TypeMoq.IMock<IConfig>;

test/firewallService.test.ts test/unit/firewallService.test.ts

+8-8
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,18 @@
55

66
import * as vscode from 'vscode';
77
import * as TypeMoq from 'typemoq';
8-
import SqlToolsServiceClient from '../src/languageservice/serviceclient';
9-
import { FirewallService } from '../src/firewall/firewallService';
10-
import { AccountService } from '../src/azure/accountService';
8+
import SqlToolsServiceClient from '../../src/languageservice/serviceclient';
9+
import { FirewallService } from '../../src/firewall/firewallService';
10+
import { AccountService } from '../../src/azure/accountService';
1111
import {
1212
HandleFirewallRuleRequest, IHandleFirewallRuleResponse,
1313
CreateFirewallRuleRequest, ICreateFirewallRuleResponse
14-
} from '../src/models/contracts/firewall/firewallRequest';
15-
import VscodeWrapper from '../src/controllers/vscodeWrapper';
14+
} from '../../src/models/contracts/firewall/firewallRequest';
15+
import VscodeWrapper from '../../src/controllers/vscodeWrapper';
1616
import { assert } from 'chai';
17-
import { IAzureSession, IAzureResourceFilter } from '../src/models/interfaces';
18-
import { AzureAuthType, IAccount, ITenant, IToken, IAzureAccountProperties } from '../src/models/contracts/azure';
19-
import allSettings from '../src/azure/providerSettings';
17+
import { IAzureSession, IAzureResourceFilter } from '../../src/models/interfaces';
18+
import { AzureAuthType, IAccount, ITenant, IToken, IAzureAccountProperties } from '../../src/models/contracts/azure';
19+
import allSettings from '../../src/azure/providerSettings';
2020

2121

2222
suite('Firewall Service Tests', () => {

test/index.ts test/unit/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ testRunner.configure(
3333
},
3434
// Coverage configuration options
3535
{
36-
coverConfig: '../../coverconfig.json'
36+
coverConfig: '../../../coverconfig.json'
3737
});
3838

3939
module.exports = testRunner;

test/initialization.test.ts test/unit/initialization.test.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
import * as assert from 'assert';
77
import * as vscode from 'vscode';
88

9-
import * as Extension from '../src/extension';
10-
import ConnectionManager from '../src/controllers/connectionManager';
11-
import MainController from '../src/controllers/mainController';
9+
import * as Extension from '../../src/extension';
10+
import ConnectionManager from '../../src/controllers/connectionManager';
11+
import MainController from '../../src/controllers/mainController';
1212

1313
function ensureExtensionIsActive(): Promise<any> {
1414
return new Promise((resolve, reject) => {

test/input.test.ts test/unit/input.test.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
*--------------------------------------------------------------------------------------------*/
55

66
import * as TypeMoq from 'typemoq';
7-
import VscodeWrapper from '../src/controllers/vscodeWrapper';
8-
import InputPrompt from '../src/prompts/input';
7+
import VscodeWrapper from '../../src/controllers/vscodeWrapper';
8+
import InputPrompt from '../../src/prompts/input';
99

1010

1111
suite('Input Prompt Tests', () => {

test/istanbultestrunner.ts test/unit/istanbultestrunner.ts

-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@ class CoverageRunner {
4848
if (!options.relativeSourcePath) {
4949
return endRunCallback('Error - relativeSourcePath must be defined for code coverage to work');
5050
}
51-
5251
}
5352

5453
public setupCoverage(): void {

test/languageService.test.ts test/unit/languageService.test.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33
* Licensed under the MIT License. See License.txt in the project root for license information.
44
*--------------------------------------------------------------------------------------------*/
55

6-
import DecompressProvider from '../src/languageservice/decompressProvider';
7-
import { IPackage, IStatusView } from '../src/languageservice/interfaces';
8-
import { ILogger } from '../src/models/interfaces';
6+
import DecompressProvider from '../../src/languageservice/decompressProvider';
7+
import { IPackage, IStatusView } from '../../src/languageservice/interfaces';
8+
import { ILogger } from '../../src/models/interfaces';
99
import { assert } from 'chai';
10-
import HttpClient, { IDownloadProgress } from '../src/languageservice/httpClient';
10+
import HttpClient, { IDownloadProgress } from '../../src/languageservice/httpClient';
1111

1212
suite('Language Service Tests', () => {
1313

test/list.test.ts test/unit/list.test.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
*--------------------------------------------------------------------------------------------*/
55

66
import * as TypeMoq from 'typemoq';
7-
import ListPrompt from '../src/prompts/list';
8-
import VscodeWrapper from '../src/controllers/vscodeWrapper';
7+
import ListPrompt from '../../src/prompts/list';
8+
import VscodeWrapper from '../../src/controllers/vscodeWrapper';
99

1010

1111
suite('List Prompt Tests', () => {

0 commit comments

Comments
 (0)