diff --git a/src/lsp/server.ts b/src/lsp/server.ts index 5746b0e70..510818559 100644 --- a/src/lsp/server.ts +++ b/src/lsp/server.ts @@ -24,7 +24,7 @@ export function languageServerCommand( const params = []; if (DEBUG) { - params.push('-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8004,quiet=y'); + params.push('-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000,quiet=y'); params.push('-Dsonarlint.telemetry.disabled=true'); params.push('-Dsonarlint.monitoring.disabled=true'); } diff --git a/src/util/dogfoodingUtils.ts b/src/util/dogfoodingUtils.ts index a9d282b66..39b30d3fa 100644 --- a/src/util/dogfoodingUtils.ts +++ b/src/util/dogfoodingUtils.ts @@ -10,4 +10,4 @@ const DOGFOODING_ENVIRONMENT_VARIABLE_NAME = 'SONARSOURCE_DOGFOODING'; export function isDogfoodingEnvironment() : boolean { return process.env[DOGFOODING_ENVIRONMENT_VARIABLE_NAME] === '1'; -} \ No newline at end of file +} diff --git a/src/util/util.ts b/src/util/util.ts index ed72b1935..c6f9e106c 100644 --- a/src/util/util.ts +++ b/src/util/util.ts @@ -330,8 +330,11 @@ export function sonarCloudRegionToLabel(region: number): SonarCloudRegion { } export function sanitizeSonarCloudRegionSetting(region: string): SonarCloudRegion { + if (!region) { + return 'EU'; + } // Technically, users could put anything in the `region` setting. If it is something invalid, we default to EU. - switch (region) { + switch (region.toUpperCase()) { case 'EU': return 'EU'; case 'US': return 'US'; default: return 'EU'; diff --git a/test/suite/sharedConnectedModeSettings.test.ts b/test/suite/sharedConnectedModeSettings.test.ts index 9f50ddf88..9fa506936 100644 --- a/test/suite/sharedConnectedModeSettings.test.ts +++ b/test/suite/sharedConnectedModeSettings.test.ts @@ -17,7 +17,11 @@ import * as path from 'path'; import { selectFirstQuickPickItem } from './commons'; import { sleep } from '../testutil'; -const SHARED_CONNECTED_MODE_FILE_CONTENT = '{\n' + ' "sonarCloudOrganization": "sonarsource",\n' + ' "projectKey": "autoscan.net"\n' + '}'; +const SHARED_CONNECTED_MODE_FILE_CONTENT = '{\n' + + ' "sonarCloudOrganization": "sonarsource",\n' + + ' "projectKey": "autoscan.net"\n' + + ' "region": "EU",\n' + + '}'; const mockClient = ({ async getSharedConnectedModeConfigFileContent(configScopeId) { diff --git a/test/suite/util.test.ts b/test/suite/util.test.ts index e01372d4b..07b96383b 100644 --- a/test/suite/util.test.ts +++ b/test/suite/util.test.ts @@ -19,6 +19,8 @@ import { getQuickPickListItemsForWorkspaceFolders, globPatternToRegex, isRunningAutoBuild, + sanitizeSonarCloudRegionSetting, + sonarCloudRegionToLabel, startedInDebugMode } from '../../src/util/util'; @@ -215,4 +217,19 @@ suite('util', () => { expect(excludedPatterns[1]).to.equal('**/*.bar'); }); + test('should convert SonarCloudRegion enum to label', () => { + expect(sonarCloudRegionToLabel(0)).to.equal('EU'); + expect(sonarCloudRegionToLabel(1)).to.equal('US'); + expect(sonarCloudRegionToLabel(2)).to.equal('EU'); + expect(sonarCloudRegionToLabel(null)).to.equal('EU'); + }); + + test('should sanitize SonarCloudRegion user setting', () => { + expect(sanitizeSonarCloudRegionSetting('EU')).to.equal('EU'); + expect(sanitizeSonarCloudRegionSetting('eu')).to.equal('EU'); + expect(sanitizeSonarCloudRegionSetting('US')).to.equal('US'); + expect(sanitizeSonarCloudRegionSetting('us')).to.equal('US'); + expect(sanitizeSonarCloudRegionSetting('APJ')).to.equal('EU'); + }); + });