From dd5602d8e57a9327e8ec03e861f1defaf1af4219 Mon Sep 17 00:00:00 2001 From: Nathan Turinski Date: Mon, 12 Feb 2024 12:24:27 -0800 Subject: [PATCH] Add a test for zip file deploy --- test/nightly/deploy.test.ts | 18 ++++++++++++++++-- test/nightly/testFolder/node-hello-1.zip | Bin 0 -> 24559 bytes 2 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 test/nightly/testFolder/node-hello-1.zip diff --git a/test/nightly/deploy.test.ts b/test/nightly/deploy.test.ts index 5049c984f..20db9e280 100644 --- a/test/nightly/deploy.test.ts +++ b/test/nightly/deploy.test.ts @@ -24,6 +24,7 @@ interface ITestCase { workspaceFolder: string | undefined; runtimePrefix: string; versions: IVersionInfo[]; + zipFile?: string | undefined; } interface IVersionInfo { @@ -55,6 +56,14 @@ suite('Create Web App and deploy', function (this: Mocha.Suite): void { { version: '16', supportedAppOs: 'Both', displayText: '16 LTS' } ] }, + { + runtimePrefix: 'Node', + workspaceFolder: 'testFolder', + zipFile: 'node-hello-1.zip', + versions: [ + { version: '16', supportedAppOs: 'Both', displayText: '16 LTS' } + ] + }, { runtimePrefix: '.NET', workspaceFolder: undefined, @@ -111,7 +120,7 @@ suite('Create Web App and deploy', function (this: Mocha.Suite): void { }); } - async function testCreateWebAppAndDeploy(os: string, promptForOs: boolean, runtime: string, workspacePath: string, expectedVersion: string): Promise { + async function testCreateWebAppAndDeploy(os: string, promptForOs: boolean, runtime: string, workspacePath: string, expectedVersion: string, zipFile?: string): Promise { const resourceName: string = getRandomHexString(); const resourceGroupName = getRandomHexString(); resourceGroupsToDelete.push(resourceGroupName); @@ -132,8 +141,13 @@ suite('Create Web App and deploy', function (this: Mocha.Suite): void { assert.ok(createdApp); await runWithTestActionContext('Deploy', async context => { + await context.ui.runWithInputs([workspacePath, resourceName, 'Deploy'], async () => { - await deploy(context); + if (zipFile) { + await vscode.commands.executeCommand('appService.Deploy', vscode.Uri.file(path.join(workspacePath, zipFile)), undefined, true /*isNewApp*/); + } else { + await deploy(context); + } }); }); diff --git a/test/nightly/testFolder/node-hello-1.zip b/test/nightly/testFolder/node-hello-1.zip new file mode 100644 index 0000000000000000000000000000000000000000..370664ee962fe651ffea7182689959fb0917db71 GIT binary patch literal 24559 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