Telemetry points for SQL Database Projects extension (#14088)

* Added publish and schema compare telemetry
* Adding telemetry points for add/exclude/delete
* telemetry for validation
* Adding telemetry from project roundtrip updates, editing sqlproj, and db refs
* Changed method for obtaining extension ID during registration
* Fixing test failures, updating ads telemetry package dependency
* replacing action strings with enums
* change database project string actions to enums
* Changed action name to better match dialog
* PR feedback
This commit is contained in:
Benjin Dubishar
2021-01-31 16:38:48 -08:00
committed by GitHub
parent 15fa03876d
commit 1c0259f4c5
19 changed files with 239 additions and 71 deletions

View File

@@ -23,7 +23,6 @@ export function createProjectProvider(projectTypes: IProjectType[]): IProjectPro
const treeDataProvider = new MockTreeDataProvider();
const projectProvider: IProjectProvider = {
supportedProjectTypes: projectTypes,
providerExtensionId: 'testProvider',
RemoveProject: (projectFile: vscode.Uri): Promise<void> => {
return Promise.resolve();
},
@@ -64,7 +63,7 @@ suite('ProjectProviderRegistry Tests', function (): void {
}
]);
should.strictEqual(ProjectProviderRegistry.providers.length, 0, 'there should be no project provider at the beginning of the test');
const disposable1 = ProjectProviderRegistry.registerProvider(provider1);
const disposable1 = ProjectProviderRegistry.registerProvider(provider1, 'test.testProvider');
let providerResult = ProjectProviderRegistry.getProviderByProjectExtension('testproj');
should.equal(providerResult, provider1, 'provider1 should be returned for testproj project type');
// make sure the project type is case-insensitive for getProviderByProjectType method
@@ -73,7 +72,7 @@ suite('ProjectProviderRegistry Tests', function (): void {
providerResult = ProjectProviderRegistry.getProviderByProjectExtension('testproj1');
should.equal(providerResult, provider1, 'provider1 should be returned for testproj1 project type');
should.strictEqual(ProjectProviderRegistry.providers.length, 1, 'there should be only one project provider at this time');
const disposable2 = ProjectProviderRegistry.registerProvider(provider2);
const disposable2 = ProjectProviderRegistry.registerProvider(provider2, 'test.testProvider2');
providerResult = ProjectProviderRegistry.getProviderByProjectExtension('sqlproj');
should.equal(providerResult, provider2, 'provider2 should be returned for sqlproj project type');
should.strictEqual(ProjectProviderRegistry.providers.length, 2, 'there should be 2 project providers at this time');
@@ -107,7 +106,7 @@ suite('ProjectProviderRegistry Tests', function (): void {
}
]);
should.strictEqual(ProjectProviderRegistry.providers.length, 0, 'there should be no project provider at the beginning of the test');
ProjectProviderRegistry.registerProvider(provider);
ProjectProviderRegistry.registerProvider(provider, 'test.testProvider');
should.strictEqual(ProjectProviderRegistry.providers.length, 1, 'there should be only one project provider at this time');
ProjectProviderRegistry.clear();
should.strictEqual(ProjectProviderRegistry.providers.length, 0, 'there should be no project provider after clearing the registry');

View File

@@ -78,7 +78,6 @@ suite('workspaceTreeDataProvider Tests', function (): void {
displayName: 'sql project',
description: ''
}],
providerExtensionId: 'testProvider',
RemoveProject: (projectFile: vscode.Uri): Promise<void> => {
return Promise.resolve();
},