@@ -7,97 +7,73 @@ import assert from 'assert'
77import { DevSettings } from 'aws-core-vscode/shared'
88import sinon from 'sinon'
99import { defaultAmazonQLspConfig , ExtendedAmazonQLSPConfig , getAmazonQLspConfig } from '../../../../src/lsp/config'
10- import { defaultAmazonQWorkspaceLspConfig , getAmazonQWorkspaceLspConfig , LspConfig } from 'aws-core-vscode/amazonq'
1110
12- for ( const [ name , config , defaultConfig , setEnv , resetEnv ] of [
13- [
14- 'getAmazonQLspConfig' ,
15- getAmazonQLspConfig ,
16- defaultAmazonQLspConfig ,
17- ( envConfig : ExtendedAmazonQLSPConfig ) => {
18- process . env . __AMAZONQLSP_MANIFEST_URL = envConfig . manifestUrl
19- process . env . __AMAZONQLSP_SUPPORTED_VERSIONS = envConfig . supportedVersions
20- process . env . __AMAZONQLSP_ID = envConfig . id
21- process . env . __AMAZONQLSP_PATH = envConfig . path
22- process . env . __AMAZONQLSP_UI = envConfig . ui
23- } ,
24- ( ) => {
25- delete process . env . __AMAZONQLSP_MANIFEST_URL
26- delete process . env . __AMAZONQLSP_SUPPORTED_VERSIONS
27- delete process . env . __AMAZONQLSP_ID
28- delete process . env . __AMAZONQLSP_PATH
29- delete process . env . __AMAZONQLSP_UI
30- } ,
31- ] ,
32- [
33- 'getAmazonQWorkspaceLspConfig' ,
34- getAmazonQWorkspaceLspConfig ,
35- defaultAmazonQWorkspaceLspConfig ,
36- ( envConfig : LspConfig ) => {
37- process . env . __AMAZONQWORKSPACELSP_MANIFEST_URL = envConfig . manifestUrl
38- process . env . __AMAZONQWORKSPACELSP_SUPPORTED_VERSIONS = envConfig . supportedVersions
39- process . env . __AMAZONQWORKSPACELSP_ID = envConfig . id
40- process . env . __AMAZONQWORKSPACELSP_PATH = envConfig . path
41- } ,
42- ( ) => {
43- delete process . env . __AMAZONQWORKSPACELSP_MANIFEST_URL
44- delete process . env . __AMAZONQWORKSPACELSP_SUPPORTED_VERSIONS
45- delete process . env . __AMAZONQWORKSPACELSP_ID
46- delete process . env . __AMAZONQWORKSPACELSP_PATH
47- } ,
48- ] ,
49- ] as const ) {
50- describe ( name , ( ) => {
51- let sandbox : sinon . SinonSandbox
52- let serviceConfigStub : sinon . SinonStub
53- const settingConfig : LspConfig = {
54- manifestUrl : 'https://custom.url/manifest.json' ,
55- supportedVersions : '4.0.0' ,
56- id : 'AmazonQSetting' ,
57- suppressPromptPrefix : config ( ) . suppressPromptPrefix ,
58- path : '/custom/path' ,
59- ...( name === 'getAmazonQLspConfig' && { ui : '/chat/client/location' } ) ,
60- }
11+ describe ( 'getAmazonQLspConfig' , ( ) => {
12+ let sandbox : sinon . SinonSandbox
13+ let serviceConfigStub : sinon . SinonStub
14+ const settingConfig : ExtendedAmazonQLSPConfig = {
15+ manifestUrl : 'https://custom.url/manifest.json' ,
16+ supportedVersions : '4.0.0' ,
17+ id : 'AmazonQSetting' ,
18+ suppressPromptPrefix : getAmazonQLspConfig ( ) . suppressPromptPrefix ,
19+ path : '/custom/path' ,
20+ ui : '/chat/client/location' ,
21+ }
6122
62- beforeEach ( ( ) => {
63- sandbox = sinon . createSandbox ( )
23+ beforeEach ( ( ) => {
24+ sandbox = sinon . createSandbox ( )
6425
65- serviceConfigStub = sandbox . stub ( )
66- sandbox . stub ( DevSettings , 'instance' ) . get ( ( ) => ( {
67- getServiceConfig : serviceConfigStub ,
68- } ) )
69- } )
26+ serviceConfigStub = sandbox . stub ( )
27+ sandbox . stub ( DevSettings , 'instance' ) . get ( ( ) => ( {
28+ getServiceConfig : serviceConfigStub ,
29+ } ) )
30+ } )
7031
71- afterEach ( ( ) => {
72- sandbox . restore ( )
73- resetEnv ( )
74- } )
32+ afterEach ( ( ) => {
33+ sandbox . restore ( )
34+ resetEnv ( )
35+ } )
7536
76- it ( 'uses default config' , ( ) => {
77- serviceConfigStub . returns ( { } )
78- assert . deepStrictEqual ( config ( ) , defaultConfig )
79- } )
37+ it ( 'uses default config' , ( ) => {
38+ serviceConfigStub . returns ( { } )
39+ assert . deepStrictEqual ( getAmazonQLspConfig ( ) , defaultAmazonQLspConfig )
40+ } )
8041
81- it ( 'overrides path' , ( ) => {
82- const path = '/custom/path/to/lsp'
83- serviceConfigStub . returns ( { path } )
42+ it ( 'overrides path' , ( ) => {
43+ const path = '/custom/path/to/lsp'
44+ serviceConfigStub . returns ( { path } )
8445
85- assert . deepStrictEqual ( config ( ) , {
86- ...defaultConfig ,
87- path,
88- } )
46+ assert . deepStrictEqual ( getAmazonQLspConfig ( ) , {
47+ ...defaultAmazonQLspConfig ,
48+ path,
8949 } )
50+ } )
9051
91- it ( 'overrides default settings' , ( ) => {
92- serviceConfigStub . returns ( settingConfig )
52+ it ( 'overrides default settings' , ( ) => {
53+ serviceConfigStub . returns ( settingConfig )
9354
94- assert . deepStrictEqual ( config ( ) , settingConfig )
95- } )
55+ assert . deepStrictEqual ( getAmazonQLspConfig ( ) , settingConfig )
56+ } )
9657
97- it ( 'environment variable takes precedence over settings' , ( ) => {
98- setEnv ( settingConfig )
99- serviceConfigStub . returns ( { } )
100- assert . deepStrictEqual ( config ( ) , settingConfig )
101- } )
58+ it ( 'environment variable takes precedence over settings' , ( ) => {
59+ setEnv ( settingConfig )
60+ serviceConfigStub . returns ( { } )
61+ assert . deepStrictEqual ( getAmazonQLspConfig ( ) , settingConfig )
10262 } )
103- }
63+
64+ function setEnv ( envConfig : ExtendedAmazonQLSPConfig ) {
65+ process . env . __AMAZONQLSP_MANIFEST_URL = envConfig . manifestUrl
66+ process . env . __AMAZONQLSP_SUPPORTED_VERSIONS = envConfig . supportedVersions
67+ process . env . __AMAZONQLSP_ID = envConfig . id
68+ process . env . __AMAZONQLSP_PATH = envConfig . path
69+ process . env . __AMAZONQLSP_UI = envConfig . ui
70+ }
71+
72+ function resetEnv ( ) {
73+ delete process . env . __AMAZONQLSP_MANIFEST_URL
74+ delete process . env . __AMAZONQLSP_SUPPORTED_VERSIONS
75+ delete process . env . __AMAZONQLSP_ID
76+ delete process . env . __AMAZONQLSP_PATH
77+ delete process . env . __AMAZONQLSP_UI
78+ }
79+ } )
0 commit comments