From e6b98bb453bf593fd8f1e5bba09c6013b30d724a Mon Sep 17 00:00:00 2001 From: Megan Mott Date: Mon, 12 Jan 2026 09:40:09 -0800 Subject: [PATCH 1/2] initial --- .vscode-test.mjs | 6 ++ package.json | 2 +- test/global.test.ts | 4 +- test/imageNameUtils.test.ts | 2 +- test/index.ts | 55 ------------------- test/ingress/IngressPromptStep.test.ts | 3 +- test/ingress/MockIngressContext.ts | 3 +- test/ingress/getDefaultPort.test.ts | 4 +- .../tryGetDockerfileExposePorts.test.ts | 3 +- .../deployContainerApp.test.ts | 9 ++- .../deployWorkspaceProject.test.ts | 2 +- .../deployWorkspaceProjectApi.test.ts | 10 ++-- .../deployWorkspaceProject/dwpTestUtils.ts | 5 +- .../deployWorkspaceProject/parallelTests.ts | 11 +++- .../DeployWorkspaceProjectTestScenario.ts | 4 +- .../monorepo/adminCredentialsScenario.ts | 2 +- .../scenarios/polyrepo/basicJSScenario.ts | 2 +- test/nightly/global.nightly.test.ts | 5 +- test/runTest.ts | 45 --------------- test/validateUtils.test.ts | 2 +- 20 files changed, 52 insertions(+), 127 deletions(-) create mode 100644 .vscode-test.mjs delete mode 100644 test/index.ts delete mode 100644 test/runTest.ts diff --git a/.vscode-test.mjs b/.vscode-test.mjs new file mode 100644 index 000000000..5b8a8ae40 --- /dev/null +++ b/.vscode-test.mjs @@ -0,0 +1,6 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See LICENSE.md in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +export { azExtTestConfig as default } from '@microsoft/vscode-azext-eng/vscode-test'; // Other configurations exist diff --git a/package.json b/package.json index 94adc46eb..57c4c19a4 100644 --- a/package.json +++ b/package.json @@ -811,7 +811,7 @@ "build:webview": "node esbuild.views.mjs", "package": "vsce package --githubBranch main --no-dependencies", "lint": "eslint --max-warnings 0", - "test": "node ./out/test/runTest.js" + "test": "vscode-test" }, "devDependencies": { "@azure/ms-rest-azure-env": "^2.0.0", diff --git a/test/global.test.ts b/test/global.test.ts index 176ece817..c08ab6601 100644 --- a/test/global.test.ts +++ b/test/global.test.ts @@ -4,10 +4,10 @@ *--------------------------------------------------------------------------------------------*/ import { registerAzureUtilsExtensionVariables } from '@microsoft/vscode-azext-azureutils'; -import { TestOutputChannel, TestUserInput } from '@microsoft/vscode-azext-dev'; +import { registerOnActionStartHandler, registerUIExtensionVariables, TestOutputChannel, TestUserInput } from '@microsoft/vscode-azext-utils'; import * as assert from 'assert'; +import { ext } from 'node_modules/@microsoft/vscode-azext-github/out/src'; import * as vscode from 'vscode'; -import { ext, registerOnActionStartHandler, registerUIExtensionVariables } from '../extension.bundle'; export const longRunningLocalTestsEnabled: boolean = !/^(false|0)?$/i.test(process.env.AzCode_EnableLongRunningTestsLocal || ''); export const longRunningRemoteTestsEnabled: boolean = !/^(false|0)?$/i.test(process.env.AzCode_UseAzureFederatedCredentials || ''); diff --git a/test/imageNameUtils.test.ts b/test/imageNameUtils.test.ts index 5577449e6..e268cd3e0 100644 --- a/test/imageNameUtils.test.ts +++ b/test/imageNameUtils.test.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import * as assert from "assert"; -import { getImageNameWithoutTag } from "../extension.bundle"; +import { getImageNameWithoutTag } from "src/utils/imageNameUtils"; suite('imageNameUtils', () => { test('getImageNameWithoutTag', () => { diff --git a/test/index.ts b/test/index.ts deleted file mode 100644 index bc6a37fb3..000000000 --- a/test/index.ts +++ /dev/null @@ -1,55 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See LICENSE.md in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import * as glob from 'glob'; -import * as Mocha from 'mocha'; -import * as path from 'path'; - -export async function run(): Promise { - const options: Mocha.MochaOptions = { - ui: 'tdd', - color: true, - reporter: 'mocha-multi-reporters', - reporterOptions: { - reporterEnabled: 'spec, mocha-junit-reporter', - mochaJunitReporterReporterOptions: { - mochaFile: path.resolve(__dirname, '..', '..', 'test-results.xml') - } - } - }; - - addEnvVarsToMochaOptions(options); - console.log(`Mocha options: ${JSON.stringify(options, undefined, 2)}`); - - const mocha = new Mocha(options); - - const files: string[] = await new Promise((resolve, reject) => { - glob('**/**.test.js', { cwd: __dirname }, (err, result) => { - err ? reject(err) : resolve(result); - }); - }); - - files.forEach(f => mocha.addFile(path.resolve(__dirname, f))); - - const failures = await new Promise(resolve => mocha.run(resolve)); - if (failures > 0) { - throw new Error(`${failures} tests failed.`); - } -} - -function addEnvVarsToMochaOptions(options: Mocha.MochaOptions): void { - for (const envVar of Object.keys(process.env)) { - const match: RegExpMatchArray | null = envVar.match(/^mocha_(.+)/i); - if (match) { - const [, option] = match; - let value: string | number = process.env[envVar] || ''; - if (typeof value === 'string' && !isNaN(parseInt(value))) { - value = parseInt(value); - } - // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access - (options)[option] = value; - } - } -} diff --git a/test/ingress/IngressPromptStep.test.ts b/test/ingress/IngressPromptStep.test.ts index 2846fc324..e2b48348e 100644 --- a/test/ingress/IngressPromptStep.test.ts +++ b/test/ingress/IngressPromptStep.test.ts @@ -5,8 +5,9 @@ import { AzExtFsExtra } from "@microsoft/vscode-azext-utils"; import * as assert from "assert"; +import { IngressContext } from "src/commands/ingress/IngressContext"; +import { tryConfigureIngressUsingDockerfile } from "src/commands/ingress/IngressPromptStep"; import { type Uri } from "vscode"; -import { tryConfigureIngressUsingDockerfile, type IngressContext } from "../../extension.bundle"; import { getWorkspaceFolderUri } from "../testUtils"; import { wrapWithMockTelemetry } from "../wrapWithMockTelemetry"; import { type MockIngressContext } from "./MockIngressContext"; diff --git a/test/ingress/MockIngressContext.ts b/test/ingress/MockIngressContext.ts index be4fba40b..5f442d667 100644 --- a/test/ingress/MockIngressContext.ts +++ b/test/ingress/MockIngressContext.ts @@ -3,7 +3,8 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { type PortRange } from "../../extension.bundle"; +import { PortRange } from "src/commands/ingress/tryGetDockerfileExposePorts"; + export interface MockIngressContext { containerApp?: { configuration: { ingress: { targetPort: number } } }; diff --git a/test/ingress/getDefaultPort.test.ts b/test/ingress/getDefaultPort.test.ts index 42adf7aaa..948b09091 100644 --- a/test/ingress/getDefaultPort.test.ts +++ b/test/ingress/getDefaultPort.test.ts @@ -4,7 +4,9 @@ *--------------------------------------------------------------------------------------------*/ import * as assert from "assert"; -import { PortRange, getDefaultPort, type IngressContext } from "../../extension.bundle"; +import { getDefaultPort } from "src/commands/ingress/editTargetPort/getDefaultPort"; +import { IngressContext } from "src/commands/ingress/IngressContext"; +import { PortRange } from "src/commands/ingress/tryGetDockerfileExposePorts"; import { wrapWithMockTelemetry } from "../wrapWithMockTelemetry"; import { type MockIngressContext } from "./MockIngressContext"; diff --git a/test/ingress/tryGetDockerfileExposePorts.test.ts b/test/ingress/tryGetDockerfileExposePorts.test.ts index 2d0d2b83d..354463802 100644 --- a/test/ingress/tryGetDockerfileExposePorts.test.ts +++ b/test/ingress/tryGetDockerfileExposePorts.test.ts @@ -4,8 +4,9 @@ *--------------------------------------------------------------------------------------------*/ import * as assert from "assert"; +import { AzExtFsExtra } from "node_modules/@microsoft/vscode-azext-utils"; +import { PortRange, tryGetDockerfileExposePorts } from "src/commands/ingress/tryGetDockerfileExposePorts"; import { type Uri } from "vscode"; -import { AzExtFsExtra, PortRange, tryGetDockerfileExposePorts } from "../../extension.bundle"; import { getWorkspaceFolderUri } from "../testUtils"; /** diff --git a/test/nightly/deployWorkspaceProject/deployContainerApp.test.ts b/test/nightly/deployWorkspaceProject/deployContainerApp.test.ts index 8fa51c8b9..3bea78a5f 100644 --- a/test/nightly/deployWorkspaceProject/deployContainerApp.test.ts +++ b/test/nightly/deployWorkspaceProject/deployContainerApp.test.ts @@ -5,11 +5,16 @@ import { type ManagedEnvironment } from '@azure/arm-appcontainers'; import { parseAzureResourceId } from '@microsoft/vscode-azext-azureutils'; -import { runWithTestActionContext } from '@microsoft/vscode-azext-dev'; +import { IParsedError, parseError, randomUtils, runWithTestActionContext } from '@microsoft/vscode-azext-utils'; import * as assert from 'assert'; import * as path from 'path'; +import { createContainerApp } from 'src/commands/createContainerApp/createContainerApp'; +import { createManagedEnvironment } from 'src/commands/createManagedEnvironment/createManagedEnvironment'; +import { deployContainerApp } from 'src/commands/deployContainerApp/deployContainerApp'; +import { DeployWorkspaceProjectResults } from 'src/commands/deployWorkspaceProject/getDeployWorkspaceProjectResults'; +import { ContainerAppItem } from 'src/tree/ContainerAppItem'; +import { settingUtils } from 'src/utils/settingUtils'; import { workspace, type Uri, type WorkspaceFolder } from 'vscode'; -import { createContainerApp, createManagedEnvironment, deployContainerApp, parseError, randomUtils, settingUtils, type ContainerAppItem, type DeployWorkspaceProjectResults, type IParsedError } from '../../../extension.bundle'; import { longRunningTestsEnabled } from '../../global.test'; import { assertStringPropsMatch, getWorkspaceFolderUri } from '../../testUtils'; import { resourceGroupsToDelete } from '../global.nightly.test'; diff --git a/test/nightly/deployWorkspaceProject/deployWorkspaceProject.test.ts b/test/nightly/deployWorkspaceProject/deployWorkspaceProject.test.ts index 855e16085..8d3a9c25d 100644 --- a/test/nightly/deployWorkspaceProject/deployWorkspaceProject.test.ts +++ b/test/nightly/deployWorkspaceProject/deployWorkspaceProject.test.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { nonNullProp } from "@microsoft/vscode-azext-utils"; -import { settingUtils } from "../../../extension.bundle"; +import { settingUtils } from "src/utils/settingUtils"; import { longRunningTestsEnabled } from '../../global.test'; import { generateParallelTests, type DwpParallelTestScenario } from "./parallelTests"; diff --git a/test/nightly/deployWorkspaceProject/deployWorkspaceProjectApi.test.ts b/test/nightly/deployWorkspaceProject/deployWorkspaceProjectApi.test.ts index 07266ea7e..9c7a47214 100644 --- a/test/nightly/deployWorkspaceProject/deployWorkspaceProjectApi.test.ts +++ b/test/nightly/deployWorkspaceProject/deployWorkspaceProjectApi.test.ts @@ -4,11 +4,13 @@ *--------------------------------------------------------------------------------------------*/ import { LocationListStep, parseAzureResourceGroupId, ResourceGroupCreateStep, type IResourceGroupWizardContext } from '@microsoft/vscode-azext-azureutils'; -import { runWithTestActionContext } from '@microsoft/vscode-azext-dev'; +import { AzureWizard, randomUtils, runWithTestActionContext } from '@microsoft/vscode-azext-utils'; import * as assert from 'assert'; import * as path from 'path'; +import { deployWorkspaceProjectApi } from 'src/commands/api/deployWorkspaceProjectApi'; +import { DeployWorkspaceProjectResults } from 'src/commands/deployWorkspaceProject/getDeployWorkspaceProjectResults'; +import { settingUtils } from 'src/utils/settingUtils'; import { workspace, type Uri, type WorkspaceFolder } from 'vscode'; -import { AzureWizard, deployWorkspaceProjectApi, randomUtils, settingUtils, type DeployWorkspaceProjectResults } from '../../../extension.bundle'; import { longRunningTestsEnabled } from '../../global.test'; import { assertStringPropsMatch, getWorkspaceFolderUri } from '../../testUtils'; import { resourceGroupsToDelete, subscriptionContext } from '../global.nightly.test'; @@ -67,10 +69,10 @@ async function createResourceGroup(): Promise { ...context, ...subscriptionContext, newResourceGroupName, - } + }; await LocationListStep.setLocation(wizardContext, 'eastus'); - const wizard: AzureWizard = new AzureWizard(wizardContext, { + const wizard = new AzureWizard(wizardContext, { executeSteps: [new ResourceGroupCreateStep()], }); await wizard.execute(); diff --git a/test/nightly/deployWorkspaceProject/dwpTestUtils.ts b/test/nightly/deployWorkspaceProject/dwpTestUtils.ts index 5ed4dc208..698d1154b 100644 --- a/test/nightly/deployWorkspaceProject/dwpTestUtils.ts +++ b/test/nightly/deployWorkspaceProject/dwpTestUtils.ts @@ -7,7 +7,8 @@ import { type ContainerApp, type EnvironmentVar } from "@azure/arm-appcontainers import { parseAzureResourceId } from "@microsoft/vscode-azext-azureutils"; import { nonNullProp, type IActionContext } from "@microsoft/vscode-azext-utils"; import * as assert from "assert"; -import { createContainerAppsAPIClient, type DeployWorkspaceProjectResults } from "../../../extension.bundle"; +import { DeployWorkspaceProjectResults } from "src/commands/deployWorkspaceProject/getDeployWorkspaceProjectResults"; +import { createContainerAppsAPIClient } from "src/utils/azureClients"; import { type StringOrRegExpProps } from "../../typeUtils"; import { subscriptionContext } from "../global.nightly.test"; import { type PostTestAssertion } from "./scenarios/DeployWorkspaceProjectTestScenario"; @@ -50,6 +51,6 @@ export namespace dwpTestUtils { assert.strictEqual(containerApp.configuration?.ingress?.targetPort, expectedContainerAppSettings.targetPort, errMsg ? errMsg + ' (container app target port)' : undefined); assert.strictEqual(containerApp.template?.containers?.[0].image, `${resources.registryLoginServer}/${resources.imageName}`, errMsg ? errMsg + ' (container image name)' : undefined); assert.deepStrictEqual(containerApp.template?.containers?.[0].env, expectedContainerAppSettings.env, errMsg ? errMsg + ' (container environment variables)' : undefined); - } + }; } } diff --git a/test/nightly/deployWorkspaceProject/parallelTests.ts b/test/nightly/deployWorkspaceProject/parallelTests.ts index eafaf849f..b8f06d3a1 100644 --- a/test/nightly/deployWorkspaceProject/parallelTests.ts +++ b/test/nightly/deployWorkspaceProject/parallelTests.ts @@ -3,11 +3,16 @@ * Licensed under the MIT License. See LICENSE.md in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { runWithTestActionContext } from "@microsoft/vscode-azext-dev"; +import { AzExtFsExtra, IParsedError, parseError, runWithTestActionContext } from "@microsoft/vscode-azext-utils"; import * as assert from "assert"; import * as path from "path"; +import { deployWorkspaceProject } from "src/commands/deployWorkspaceProject/deployWorkspaceProject"; +import { DeployWorkspaceProjectResults } from "src/commands/deployWorkspaceProject/getDeployWorkspaceProjectResults"; +import { DeploymentConfigurationSettings } from "src/commands/deployWorkspaceProject/settings/DeployWorkspaceProjectSettingsV2"; +import { dwpSettingUtilsV2 } from "src/commands/deployWorkspaceProject/settings/dwpSettingUtilsV2"; +import { ext } from "src/extensionVariables"; +import { settingUtils } from "src/utils/settingUtils"; import { workspace, type Uri, type WorkspaceFolder } from "vscode"; -import { AzExtFsExtra, deployWorkspaceProject, dwpSettingUtilsV2, ext, parseError, settingUtils, type DeploymentConfigurationSettings, type DeployWorkspaceProjectResults, type IParsedError } from "../../../extension.bundle"; import { assertStringPropsMatch, getWorkspaceFolderUri } from "../../testUtils"; import { resourceGroupsToDelete } from "../global.nightly.test"; import { type DeployWorkspaceProjectTestScenario } from "./scenarios/DeployWorkspaceProjectTestScenario"; @@ -84,7 +89,7 @@ function runTestScenario(scenario: DeployWorkspaceProjectTestScenario): DwpParal } await cleanWorkspaceFolderSettings(rootFolder); - } + }; } async function cleanWorkspaceFolderSettings(rootFolder: WorkspaceFolder) { diff --git a/test/nightly/deployWorkspaceProject/scenarios/DeployWorkspaceProjectTestScenario.ts b/test/nightly/deployWorkspaceProject/scenarios/DeployWorkspaceProjectTestScenario.ts index 57e7fa49d..05fb5522d 100644 --- a/test/nightly/deployWorkspaceProject/scenarios/DeployWorkspaceProjectTestScenario.ts +++ b/test/nightly/deployWorkspaceProject/scenarios/DeployWorkspaceProjectTestScenario.ts @@ -3,7 +3,9 @@ * Licensed under the MIT License. See LICENSE.md in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { type DeploymentConfigurationSettings, type DeployWorkspaceProjectResults, type IActionContext } from "../../../../extension.bundle"; +import { IActionContext } from "node_modules/@microsoft/vscode-azext-utils"; +import { DeployWorkspaceProjectResults } from "src/commands/deployWorkspaceProject/getDeployWorkspaceProjectResults"; +import { DeploymentConfigurationSettings } from "src/commands/deployWorkspaceProject/settings/DeployWorkspaceProjectSettingsV2"; import { type StringOrRegExpProps } from "../../../typeUtils"; export interface DeployWorkspaceProjectTestScenario { diff --git a/test/nightly/deployWorkspaceProject/scenarios/monorepo/adminCredentialsScenario.ts b/test/nightly/deployWorkspaceProject/scenarios/monorepo/adminCredentialsScenario.ts index 1bb30c54b..1d17ea530 100644 --- a/test/nightly/deployWorkspaceProject/scenarios/monorepo/adminCredentialsScenario.ts +++ b/test/nightly/deployWorkspaceProject/scenarios/monorepo/adminCredentialsScenario.ts @@ -5,7 +5,7 @@ import { randomUtils } from "@microsoft/vscode-azext-utils"; import * as path from "path"; -import { type DeploymentConfigurationSettings } from "../../../../../extension.bundle"; +import { DeploymentConfigurationSettings } from "src/commands/deployWorkspaceProject/settings/DeployWorkspaceProjectSettingsV2"; import { type StringOrRegExpProps } from "../../../../typeUtils"; import { dwpTestUtils } from "../../dwpTestUtils"; import { type DeployWorkspaceProjectTestCase } from "../DeployWorkspaceProjectTestScenario"; diff --git a/test/nightly/deployWorkspaceProject/scenarios/polyrepo/basicJSScenario.ts b/test/nightly/deployWorkspaceProject/scenarios/polyrepo/basicJSScenario.ts index 80a351221..6e43bd529 100644 --- a/test/nightly/deployWorkspaceProject/scenarios/polyrepo/basicJSScenario.ts +++ b/test/nightly/deployWorkspaceProject/scenarios/polyrepo/basicJSScenario.ts @@ -5,7 +5,7 @@ import { randomUtils } from "@microsoft/vscode-azext-utils"; import * as path from "path"; -import { type DeploymentConfigurationSettings } from "../../../../../extension.bundle"; +import { DeploymentConfigurationSettings } from "src/commands/deployWorkspaceProject/settings/DeployWorkspaceProjectSettingsV2"; import { type StringOrRegExpProps } from "../../../../typeUtils"; import { dwpTestUtils } from "../../dwpTestUtils"; import { type DeployWorkspaceProjectTestCase } from "../DeployWorkspaceProjectTestScenario"; diff --git a/test/nightly/global.nightly.test.ts b/test/nightly/global.nightly.test.ts index 8e88a2036..22932322d 100644 --- a/test/nightly/global.nightly.test.ts +++ b/test/nightly/global.nightly.test.ts @@ -5,11 +5,10 @@ import { ResourceManagementClient } from '@azure/arm-resources'; import { createAzureClient } from '@microsoft/vscode-azext-azureutils'; -import { createTestActionContext, type TestActionContext } from '@microsoft/vscode-azext-dev'; -import { createSubscriptionContext, subscriptionExperience, type ISubscriptionContext } from '@microsoft/vscode-azext-utils'; +import { createSubscriptionContext, createTestActionContext, subscriptionExperience, type ISubscriptionContext, type TestActionContext } from '@microsoft/vscode-azext-utils'; import { type AzureSubscription } from '@microsoft/vscode-azureresources-api'; +import { ext } from 'src/extensionVariables'; import * as vscode from 'vscode'; -import { ext } from '../../extension.bundle'; import { longRunningTestsEnabled } from '../global.test'; export let subscriptionContext: ISubscriptionContext; diff --git a/test/runTest.ts b/test/runTest.ts deleted file mode 100644 index 08e6612e4..000000000 --- a/test/runTest.ts +++ /dev/null @@ -1,45 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See LICENSE.md in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { downloadAndUnzipVSCode, resolveCliArgsFromVSCodeExecutablePath, runTests } from '@vscode/test-electron'; -import * as cp from 'child_process'; -import * as path from 'path'; - -async function main(): Promise { - try { - const vscodeExecutablePath = await downloadAndUnzipVSCode('stable'); - const [cli, ...args] = resolveCliArgsFromVSCodeExecutablePath(vscodeExecutablePath); - - cp.spawnSync( - cli, - [ - ...args, - '--install-extension', 'ms-azuretools.vscode-azureresourcegroups', - ], - { - encoding: 'utf-8', - stdio: 'inherit' - }); - - const repoRoot: string = path.resolve(__dirname, '..', '..'); - await runTests({ - vscodeExecutablePath, - extensionDevelopmentPath: repoRoot, - launchArgs: [ - path.resolve(repoRoot, 'test', 'test.code-workspace'), - '--disable-workspace-trust' - ], - extensionTestsPath: path.resolve(repoRoot, 'dist', 'test', 'index'), - extensionTestsEnv: { - DEBUGTELEMETRY: 'v' - } - }); - } catch (err) { - console.error('Failed to run tests'); - process.exit(1); - } -} - -main(); diff --git a/test/validateUtils.test.ts b/test/validateUtils.test.ts index 9a1baa4d3..35eec1bd2 100644 --- a/test/validateUtils.test.ts +++ b/test/validateUtils.test.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import * as assert from 'assert'; -import { validateUtils } from '../extension.bundle'; +import { validateUtils } from 'src/utils/validateUtils'; type LowerCaseAlphanumericWithSymbolsParams = { value: string; From 8732532f75510b271fb64754473e12565d6ca8b9 Mon Sep 17 00:00:00 2001 From: Megan Mott Date: Thu, 15 Jan 2026 10:21:22 -0800 Subject: [PATCH 2/2] remove extra line --- test/ingress/MockIngressContext.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/test/ingress/MockIngressContext.ts b/test/ingress/MockIngressContext.ts index 5f442d667..2d0b54e27 100644 --- a/test/ingress/MockIngressContext.ts +++ b/test/ingress/MockIngressContext.ts @@ -5,7 +5,6 @@ import { PortRange } from "src/commands/ingress/tryGetDockerfileExposePorts"; - export interface MockIngressContext { containerApp?: { configuration: { ingress: { targetPort: number } } };