Skip to content

Commit 4bf1b1d

Browse files
committed
rename function name and revert getTemplateFile()
1 parent 9533fc0 commit 4bf1b1d

File tree

6 files changed

+58
-61
lines changed

6 files changed

+58
-61
lines changed

packages/core/src/shared/sam/sync.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ import { IamConnection } from '../../auth/connection'
4141
import { CloudFormationTemplateRegistry } from '../fs/templateRegistry'
4242
import { TreeNode } from '../treeview/resourceTreeDataProvider'
4343
import { getSpawnEnv } from '../env/resolveEnv'
44-
import { getProjectRoot, getProjectRootUri, getSamCliPathAndVersion, getSource, getTemplateFile } from './utils'
44+
import { getProjectRoot, getProjectRootUri, getSamCliPathAndVersion, getSource } from './utils'
4545
import { runInTerminal } from './processTerminal'
4646

4747
const localize = nls.loadMessageBundle()
@@ -598,7 +598,7 @@ export async function prepareSyncParams(
598598
const projectRoot = vscode.Uri.joinPath(config.location, '..')
599599
const templateUri = params.templatePath
600600
? vscode.Uri.file(path.resolve(projectRoot.fsPath, params.templatePath))
601-
: await getTemplateFile(projectRoot)
601+
: undefined
602602
const template = templateUri
603603
? {
604604
uri: templateUri,

packages/core/src/shared/sam/utils.ts

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import { TreeNode, isTreeNode } from '../treeview/resourceTreeDataProvider'
1010
import * as CloudFormation from '../cloudformation/cloudformation'
1111
import { TemplateItem } from './sync'
1212
import { RuntimeFamily, getFamily } from '../../lambda/models/samLambdaRuntime'
13-
import fs from '../fs/fs'
1413
import { telemetry } from '../telemetry'
1514
import { ToolkitError } from '../errors'
1615
import { SamCliSettings } from './cli/samCliSettings'
@@ -25,23 +24,6 @@ import { parse } from 'semver'
2524
export const getProjectRoot = (template: TemplateItem | undefined) =>
2625
template ? getProjectRootUri(template.uri) : undefined
2726

28-
/**
29-
* @description look for template in project root
30-
* @param projectRoot The URI of the root project folder
31-
* @returns The URI of the template
32-
* */
33-
export const getTemplateFile = async (projectRoot: vscode.Uri): Promise<vscode.Uri | undefined> => {
34-
const templateNames = ['template.yaml', 'template.yml']
35-
36-
for (const templateName of templateNames) {
37-
const templatePath = vscode.Uri.file(path.join(projectRoot.fsPath, templateName))
38-
if (await fs.exists(templatePath.fsPath)) {
39-
return templatePath
40-
}
41-
}
42-
43-
return undefined
44-
}
4527
/**
4628
* @description determines the root directory of the project given uri of the template file
4729
* @param template The template.yaml uri

packages/core/src/test/awsService/appBuilder/wizards/deployTypeWizard.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ describe('DeployTypeWizard', function () {
4545
const choices = await deployTypeWizard.run()
4646
// Then
4747
assert(!choices)
48-
prompterTester.assertHandlerCall('Select deployment command', 1)
48+
prompterTester.assertCall('Select deployment command', 1)
4949
})
5050

5151
it('deploy is selected', async function () {
@@ -80,7 +80,7 @@ describe('DeployTypeWizard', function () {
8080
const choices = await deployTypeWizard.run()
8181
// Then
8282
assert.strictEqual(choices?.choice, 'deploy')
83-
prompterTester.assertAllHandlerCall(1)
83+
prompterTester.assertCallAll(prompterTester.getHandlers(), 1)
8484
})
8585

8686
it('sync is selected', async function () {
@@ -109,6 +109,6 @@ describe('DeployTypeWizard', function () {
109109
const choices = await deployTypeWizard.run()
110110
// Then
111111
assert.strictEqual(choices?.choice, 'sync')
112-
prompterTester.assertAllHandlerCall(1)
112+
prompterTester.assertCallAll(prompterTester.getHandlers(), 1)
113113
})
114114
})

packages/core/src/test/shared/sam/deploy.test.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ describe('DeployWizard', async function () {
143143
assert.strictEqual(parameters.region, 'us-west-2')
144144
assert.strictEqual(parameters.stackName, 'stack1')
145145
assert.strictEqual(parameters.bucketSource, 0)
146-
prompterTester.assertAllHandlerCall(1)
146+
prompterTester.assertCallAll(prompterTester.getHandlers(), 1)
147147
})
148148

149149
it('happy path with valid samconfig.toml', async () => {
@@ -195,7 +195,7 @@ describe('DeployWizard', async function () {
195195
assert(!parameters.region)
196196
assert(!parameters.stackName)
197197
assert(!parameters.bucketSource)
198-
prompterTester.assertAllHandlerCall(1)
198+
prompterTester.assertCallAll(prompterTester.getHandlers(), 1)
199199
})
200200
})
201201

@@ -333,7 +333,7 @@ describe('DeployWizard', async function () {
333333
assert.strictEqual(parameters.region, 'us-west-2')
334334
assert(!parameters.stackName)
335335
assert(!parameters.bucketSource)
336-
prompterTester.assertAllHandlerCall(1)
336+
prompterTester.assertCallAll(prompterTester.getHandlers(), 1)
337337
})
338338
})
339339

@@ -415,7 +415,7 @@ describe('DeployWizard', async function () {
415415
assert.strictEqual(parameters.stackName, 'stack2')
416416
assert.strictEqual(parameters.bucketSource, 0)
417417
assert(!parameters.bucketName)
418-
prompterTester.assertAllHandlerCall(1)
418+
prompterTester.assertCallAll(prompterTester.getHandlers(), 1)
419419
})
420420

421421
it('happy path with valid samconfig.toml', async () => {
@@ -467,7 +467,7 @@ describe('DeployWizard', async function () {
467467
assert(!parameters.region)
468468
assert(!parameters.stackName)
469469
assert(!parameters.bucketSource)
470-
prompterTester.assertAllHandlerCall(1)
470+
prompterTester.assertCallAll(prompterTester.getHandlers(), 1)
471471
})
472472
})
473473

@@ -549,7 +549,7 @@ describe('DeployWizard', async function () {
549549
assert.strictEqual(parameters.stackName, 'stack3')
550550
assert.strictEqual(parameters.bucketSource, 1)
551551
assert.strictEqual(parameters.bucketName, 'stack-3-bucket')
552-
prompterTester.assertAllHandlerCall(1)
552+
prompterTester.assertCallAll(prompterTester.getHandlers(), 1)
553553
})
554554

555555
it('happy path with samconfig.toml', async () => {
@@ -602,7 +602,7 @@ describe('DeployWizard', async function () {
602602
assert(!parameters.region)
603603
assert(!parameters.stackName)
604604
assert(!parameters.bucketSource)
605-
prompterTester.assertAllHandlerCall(1)
605+
prompterTester.assertCallAll(prompterTester.getHandlers(), 1)
606606
})
607607
})
608608
})

packages/core/src/test/shared/sam/sync.test.ts

Lines changed: 30 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -999,7 +999,7 @@ describe('SyncWizard', async () => {
999999
assert.strictEqual(parameters.bucketName, 'stack-1-bucket')
10001000
assert.strictEqual(parameters.skipDependencyLayer, true)
10011001
assert.strictEqual(parameters.syncFlags, '["--dependency-layer","--use-container","--save-params"]')
1002-
prompterTester.assertAllHandlerCall(1)
1002+
prompterTester.assertCallAll(prompterTester.getHandlers(), 1)
10031003
})
10041004

10051005
it('happy path with valid samconfig.toml', async () => {
@@ -1042,7 +1042,7 @@ describe('SyncWizard', async () => {
10421042
assert(!parameters.bucketName)
10431043
assert.strictEqual(parameters.skipDependencyLayer, true)
10441044
assert(!parameters.syncFlags)
1045-
prompterTester.assertAllHandlerCall(1)
1045+
prompterTester.assertCallAll(prompterTester.getHandlers(), 1)
10461046
})
10471047
})
10481048

@@ -1122,7 +1122,7 @@ describe('SyncWizard', async () => {
11221122
assert.strictEqual(parameters.deployType, 'infra')
11231123
assert.strictEqual(parameters.skipDependencyLayer, true)
11241124
assert.strictEqual(parameters.syncFlags, '["--save-params"]')
1125-
prompterTester.assertAllHandlerCall(1)
1125+
prompterTester.assertCallAll(prompterTester.getHandlers(), 1)
11261126
})
11271127

11281128
it('happy path with valid samconfig.toml', async () => {
@@ -1165,7 +1165,7 @@ describe('SyncWizard', async () => {
11651165
assert(!parameters.stackName)
11661166
assert(!parameters.bucketSource)
11671167
assert.strictEqual(parameters.skipDependencyLayer, true)
1168-
prompterTester.assertAllHandlerCall(1)
1168+
prompterTester.assertCallAll(prompterTester.getHandlers(), 1)
11691169
})
11701170
})
11711171

@@ -1248,7 +1248,7 @@ describe('SyncWizard', async () => {
12481248
assert.strictEqual(parameters.deployType, 'infra')
12491249
assert.strictEqual(parameters.skipDependencyLayer, true)
12501250
assert.strictEqual(parameters.syncFlags, '["--dependency-layer","--use-container"]')
1251-
prompterTester.assertAllHandlerCall(1)
1251+
prompterTester.assertCallAll(prompterTester.getHandlers(), 1)
12521252
})
12531253

12541254
it('happy path with valid samconfig.toml', async () => {
@@ -1298,7 +1298,7 @@ describe('SyncWizard', async () => {
12981298
assert(!parameters.stackName)
12991299
assert(!parameters.bucketSource)
13001300
assert.strictEqual(parameters.skipDependencyLayer, true)
1301-
prompterTester.assertAllHandlerCall(1)
1301+
prompterTester.assertCallAll(prompterTester.getHandlers(), 1)
13021302
})
13031303
})
13041304

@@ -1317,6 +1317,13 @@ describe('SyncWizard', async () => {
13171317
// generate samconfig.toml in temporary test folder
13181318
const samconfigFile = vscode.Uri.file(await testFolder.write('samconfig.toml', samconfigCompleteData))
13191319
const prompterTester = PrompterTester.init()
1320+
.handleQuickPick('Select a SAM/CloudFormation Template', async (quickPick) => {
1321+
// Need sometime to wait for the template to search for template file
1322+
await quickPick.untilReady()
1323+
assert.strictEqual(quickPick.items.length, 1)
1324+
assert.strictEqual(quickPick.items[0].label, templateFile.fsPath)
1325+
quickPick.acceptItem(quickPick.items[0])
1326+
})
13201327
.handleQuickPick('Specify parameters for deploy', async (picker) => {
13211328
// Need time to check samconfig.toml file and generate options
13221329
await picker.untilReady()
@@ -1340,7 +1347,7 @@ describe('SyncWizard', async () => {
13401347
assert.strictEqual(parameters.bucketName, 'aws-sam-cli-managed-default-samclisourcebucket-lftqponsaxsr')
13411348
assert.strictEqual(parameters.skipDependencyLayer, true)
13421349
assert(!parameters.syncFlags)
1343-
prompterTester.assertAllHandlerCall(1)
1350+
prompterTester.assertCallAll(prompterTester.getHandlers(), 1)
13441351
})
13451352

13461353
it('happy path with empty samconfig.toml', async () => {
@@ -1357,6 +1364,13 @@ describe('SyncWizard', async () => {
13571364
*/
13581365

13591366
const prompterTester = PrompterTester.init()
1367+
.handleQuickPick('Select a SAM/CloudFormation Template', async (quickPick) => {
1368+
// Need sometime to wait for the template to search for template file
1369+
await quickPick.untilReady()
1370+
assert.strictEqual(quickPick.items.length, 1)
1371+
assert.strictEqual(quickPick.items[0].label, templateFile.fsPath)
1372+
quickPick.acceptItem(quickPick.items[0])
1373+
})
13601374
.handleQuickPick('Specify parameters for deploy', async (picker) => {
13611375
// Need time to check samconfig.toml file and generate options
13621376
await picker.untilReady()
@@ -1398,16 +1412,16 @@ describe('SyncWizard', async () => {
13981412

13991413
const parameters = await (await getSyncWizard('infra', samconfigFile, false, false)).run()
14001414
assert(parameters)
1401-
assert.strictEqual(parameters.template.uri.path, templateFile.path)
1402-
assert.strictEqual(parameters.projectRoot.path, projectRoot.path)
1415+
assert.strictEqual(parameters.template.uri.fsPath, templateFile.fsPath)
1416+
assert.strictEqual(parameters.projectRoot.fsPath, projectRoot.fsPath)
14031417
assert.strictEqual(parameters.paramsSource, ParamsSource.Flags)
14041418
assert.strictEqual(parameters.region, 'us-west-2')
14051419
assert.strictEqual(parameters.stackName, 'stack2')
14061420
assert.strictEqual(parameters.bucketName, 'stack-2-bucket')
14071421
assert.strictEqual(parameters.deployType, 'infra')
14081422
assert.strictEqual(parameters.skipDependencyLayer, true)
14091423
assert.strictEqual(parameters.syncFlags, '["--dependency-layer","--use-container","--watch"]')
1410-
prompterTester.assertAllHandlerCall(1)
1424+
prompterTester.assertCallAll(prompterTester.getHandlers(), 1)
14111425
})
14121426
})
14131427

@@ -1483,7 +1497,7 @@ describe('SyncWizard', async () => {
14831497
assert.strictEqual(parameters.deployType, 'infra')
14841498
assert.strictEqual(parameters.skipDependencyLayer, true)
14851499
assert.strictEqual(parameters.syncFlags, '["--dependency-layer","--use-container"]')
1486-
prompterTester.assertAllHandlerCall(1)
1500+
prompterTester.assertCallAll(prompterTester.getHandlers(), 1)
14871501
})
14881502

14891503
it('happy path with valid samconfig.toml', async () => {
@@ -1534,7 +1548,7 @@ describe('SyncWizard', async () => {
15341548
assert(!parameters.bucketSource)
15351549
assert(!parameters.syncFlags)
15361550
assert.strictEqual(parameters.skipDependencyLayer, true)
1537-
prompterTester.assertAllHandlerCall(1)
1551+
prompterTester.assertCallAll(prompterTester.getHandlers(), 1)
15381552
})
15391553
})
15401554
})
@@ -1714,7 +1728,7 @@ describe('SAM Sync', () => {
17141728
syncedResources: 'CodeOnly',
17151729
source: undefined,
17161730
})
1717-
prompterTester.assertAllHandlerCall(1)
1731+
prompterTester.assertCallAll(prompterTester.getHandlers(), 1)
17181732
})
17191733

17201734
it('[entry: template file] specify flag should instantiate correct process in terminal', async () => {
@@ -1790,7 +1804,7 @@ describe('SAM Sync', () => {
17901804
syncedResources: 'AllResources',
17911805
source: 'template',
17921806
})
1793-
prompterTester.assertAllHandlerCall(1)
1807+
prompterTester.assertCallAll(prompterTester.getHandlers(), 1)
17941808
})
17951809

17961810
it('[entry: appBuilder] use samconfig should instantiate correct process in terminal', async () => {
@@ -1846,7 +1860,7 @@ describe('SAM Sync', () => {
18461860
syncedResources: 'AllResources',
18471861
source: 'appBuilderDeploy',
18481862
})
1849-
prompterTester.assertAllHandlerCall(1)
1863+
prompterTester.assertCallAll(prompterTester.getHandlers(), 1)
18501864
})
18511865
})
18521866

@@ -1934,7 +1948,7 @@ describe('SAM Sync', () => {
19341948
assert(error instanceof ToolkitError)
19351949
assert.strictEqual(error.message, 'Failed to sync SAM application')
19361950
}
1937-
prompterTester.assertAllHandlerCall(1)
1951+
prompterTester.assertCallAll(prompterTester.getHandlers(), 1)
19381952
})
19391953
})
19401954
})

packages/core/src/test/shared/wizards/prompterTester.ts

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ export class PrompterTester {
1212
private inputBoxHanlder: Map<string, (input: TestInputBox) => void> = new Map()
1313
private testWindow: TestWindow
1414
private callLog = Array<string>()
15-
private handlerCallHistory = new Map<string, number>()
15+
private callLogCount = new Map<string, number>()
1616

1717
private constructor(testWindow?: TestWindow) {
1818
this.testWindow = testWindow || getTestWindow()
@@ -24,13 +24,13 @@ export class PrompterTester {
2424

2525
handleQuickPick(titlePattern: string, handler: (input: TestQuickPick) => void): PrompterTester {
2626
this.quickPickHandlers.set(titlePattern, handler)
27-
this.handlerCallHistory.set(titlePattern, 0)
27+
this.callLogCount.set(titlePattern, 0)
2828
return this
2929
}
3030

3131
handleInputBox(titlePattern: string, handler: (input: TestInputBox) => void): PrompterTester {
3232
this.inputBoxHanlder.set(titlePattern, handler)
33-
this.handlerCallHistory.set(titlePattern, 0)
33+
this.callLogCount.set(titlePattern, 0)
3434
return this
3535
}
3636

@@ -46,22 +46,22 @@ export class PrompterTester {
4646

4747
private record(title: string): void {
4848
this.callLog.push(title)
49-
this.handlerCallHistory.set(title, (this.handlerCallHistory.get(title) ?? 0) + 1)
49+
this.callLogCount.set(title, (this.callLogCount.get(title) ?? 0) + 1)
5050
}
5151

5252
/**
53-
* Asserts that a specific handler has been called the expected number of times.
53+
* Asserts that a specific prompter handler has been called the expected number of times.
5454
*
55-
* @param title - The title or identifier of the handler to check.
56-
* @param expectedCall - The expected number of times the handler should have been called.
55+
* @param title - The title prompter to check.
56+
* @param expectedCall - The expected number of times the prompted handler should have been called.
5757
* @throws AssertionError if the actual number of calls doesn't match the expected number.
5858
*/
59-
assertHandlerCall(title: string, expectedCall: number) {
60-
assert.strictEqual(this.handlerCallHistory.get(title), expectedCall, title)
59+
assertCall(title: string, expectedCall: number) {
60+
assert.strictEqual(this.callLogCount.get(title), expectedCall, title)
6161
}
6262

6363
/**
64-
* Asserts that a specific handler was called in the expected order.
64+
* Asserts that a specific prompter handler was called in the expected order.
6565
*
6666
* @param title - The title or identifier of the handler to check.
6767
* @param expectedOrder - The expected position in the call order (one-based index).
@@ -72,14 +72,14 @@ export class PrompterTester {
7272
}
7373

7474
/**
75-
* Asserts that all handler was called in the expected number of times.
75+
* Asserts that all specified prompter handlers were called in the expected number of times.
7676
*
7777
* @param expectedCall - The expected number of times the handler should have been called.
7878
* @throws AssertionError if the actual number of calls doesn't match the expected number.
7979
*/
80-
assertAllHandlerCall(expectedOrder: number) {
81-
this.getAllRegisteredHandlers().every((handler) => {
82-
this.assertHandlerCall(handler, expectedOrder)
80+
assertCallAll(titles: string[], expectedOrder: number) {
81+
titles.every((handler) => {
82+
this.assertCall(handler, expectedOrder)
8383
})
8484
}
8585

@@ -89,7 +89,7 @@ export class PrompterTester {
8989
* @returns An array of strings containing all handler titles, including both
9090
* quick pick handlers and input box handlers.
9191
*/
92-
getAllRegisteredHandlers(): string[] {
92+
getHandlers(): string[] {
9393
return [...this.quickPickHandlers.keys(), ...this.inputBoxHanlder.keys()]
9494
}
9595

@@ -106,5 +106,6 @@ export class PrompterTester {
106106

107107
private handleUnknownPrompter(input: any) {
108108
input.dispose()
109+
throw assert.fail(`Unexpected prompter titled: "${input.title}"`)
109110
}
110111
}

0 commit comments

Comments
 (0)