From 38ef1cc51aa37023eefba0863c6268973dea4095 Mon Sep 17 00:00:00 2001 From: SanketD92 Date: Tue, 24 Aug 2021 13:45:01 -0400 Subject: [PATCH 1/4] feat: adding appstream integ tests for connect URL --- .../lib/plugins/aws-account-mgmt-plugin.js | 18 +- .../lib/aws-accounts/aws-accounts-service.js | 5 +- .../connections/create-url-connection.test.js | 70 ++ main/integration-tests/package.json | 1 + pnpm-lock.yaml | 694 +++++++++--------- 5 files changed, 432 insertions(+), 356 deletions(-) diff --git a/addons/addon-base-raas-appstream/packages/base-raas-appstream-services/lib/plugins/aws-account-mgmt-plugin.js b/addons/addon-base-raas-appstream/packages/base-raas-appstream-services/lib/plugins/aws-account-mgmt-plugin.js index 5033ead9f8..22520252d1 100644 --- a/addons/addon-base-raas-appstream/packages/base-raas-appstream-services/lib/plugins/aws-account-mgmt-plugin.js +++ b/addons/addon-base-raas-appstream/packages/base-raas-appstream-services/lib/plugins/aws-account-mgmt-plugin.js @@ -25,7 +25,8 @@ const settingKeys = { * and is triggered if the user attempts to update the AWS account using SWB APIs. * A similar check is performed on the UI components (AccountUtils) as well. */ -async function getActiveNonAppStreamEnvs({ awsAccountId }, { requestContext, container }) { +async function getActiveNonAppStreamEnvs(payload) { + const { awsAccountId, requestContext, container } = payload; const settings = await container.find('settings'); const isAppStreamEnabled = settings.getBoolean(settingKeys.isAppStreamEnabled); if (!isAppStreamEnabled) return []; @@ -35,19 +36,24 @@ async function getActiveNonAppStreamEnvs({ awsAccountId }, { requestContext, con const indexesService = await container.find('indexesService'); const indexes = await indexesService.list(requestContext); - const indexesIdsOfInterest = _.map( - _.filter(indexes, index => index.awsAccountId === awsAccountId), - 'id', - ); + const indexesOfInterest = _.filter(indexes, index => index.awsAccountId === awsAccountId); + if (_.isEmpty(indexesIdsOfInterest)) return []; + const indexesIdsOfInterest = _.map(indexesOfInterest, index => { + return index.id; + }); const scEnvs = await environmentScService.list(requestContext); - const retVal = _.filter( + const scEnvsOfInterest = _.filter( scEnvs, scEnv => _.includes(indexesIdsOfInterest, scEnv.indexId) && !scEnv.isAppStreamConfigured && !_.includes(nonActiveStates, scEnv.status), ); + if (_.isEmpty(scEnvsOfInterest)) return []; + const retVal = _.map(scEnvsOfInterest, scEnv => { + return scEnv.id; + }); return retVal; } diff --git a/addons/addon-base-raas/packages/base-raas-services/lib/aws-accounts/aws-accounts-service.js b/addons/addon-base-raas/packages/base-raas-services/lib/aws-accounts/aws-accounts-service.js index ba86ee9fa3..ccb3676bca 100644 --- a/addons/addon-base-raas/packages/base-raas-services/lib/aws-accounts/aws-accounts-service.js +++ b/addons/addon-base-raas/packages/base-raas-services/lib/aws-accounts/aws-accounts-service.js @@ -270,11 +270,8 @@ class AwsAccountsService extends Service { 'aws-account-mgmt', 'getActiveNonAppStreamEnvs', { - payload: { - awsAccountId, - }, + payload: { requestContext, container: this.container, awsAccountId }, }, - { requestContext, container: this.container }, ); if (!_.isEmpty(activeNonAppStreamEnvs)) diff --git a/main/integration-tests/__test__/api-tests/workspace-service-catalogs/connections/create-url-connection.test.js b/main/integration-tests/__test__/api-tests/workspace-service-catalogs/connections/create-url-connection.test.js index 239b35ba73..49b65610b4 100644 --- a/main/integration-tests/__test__/api-tests/workspace-service-catalogs/connections/create-url-connection.test.js +++ b/main/integration-tests/__test__/api-tests/workspace-service-catalogs/connections/create-url-connection.test.js @@ -13,6 +13,7 @@ * permissions and limitations under the License. */ +const fetch = require('node-fetch'); const { runSetup } = require('../../../../support/setup'); const errorCode = require('../../../../support/utils/error-code'); @@ -97,4 +98,73 @@ describe('Create URL scenarios', () => { }); }); }); + + // ========================= AppStream ========================= + + // These tests assume workspaces have already been created in the SWB environment + // TODO: Create a new workspace during these tests, and terminate once done (dependent on GALI-1093) + + describe('Create AppStream URL', () => { + it('should return AppStream URL SageMaker', async () => { + const envId = '36f22de5-fefb-4f62-8ab4-e99ac4387ad4'; + const connectionId = 'id-0'; + const applicationName = 'Firefox'; + const sagemakerUrlPrefix = 'https://basicnotebookinstance'; + const preAuthStreamingUrl = 'https://appstream2.us-east-1.aws.amazon.com/authenticate?parameters='; + const redirectStreamingUrl = `appstream2.us-east-1.aws.amazon.com/#/streaming/?reference=fleet%2Finitial-stack-1629237287942-ServiceWorkbenchFleet&app=${applicationName}`; + + const retVal = await adminSession.resources.workspaceServiceCatalogs + .workspaceServiceCatalog(envId) + .connections() + .connection(connectionId) + .createUrl(); + + const response = await fetch(retVal.url); + const redirectResponse = response[Object.getOwnPropertySymbols(response)[1]]; + + expect(retVal.appstreamDestinationUrl).toContain(sagemakerUrlPrefix); + expect(retVal.id).toEqual(connectionId); + expect(retVal.url).toContain(preAuthStreamingUrl); + expect(redirectResponse.url).toContain(redirectStreamingUrl); + }); + + // Simplify repetitive Jest test cases with it.each here + const testContexts = [ + { + envId: '5360d995-fa4b-44eb-b67d-a0586886e1a3', + connectionId: 'id-1', + applicationName: 'MicrosoftRemoteDesktop', + preAuthStreamingUrl: 'https://appstream2.us-east-1.aws.amazon.com/authenticate?parameters=', + redirectStreamingUrl: + 'appstream2.us-east-1.aws.amazon.com/#/streaming/?reference=fleet%2Finitial-stack-1629237287942-ServiceWorkbenchFleet&app=', + expected: { scheme: 'rdp', name: 'RDP to EC2 Windows Instance' }, + }, + { + envId: '4ceb23c8-c80c-4ded-b948-c63b21ba5c72', + connectionId: 'id-1', + applicationName: 'EC2Linux', + preAuthStreamingUrl: 'https://appstream2.us-east-1.aws.amazon.com/authenticate?parameters=', + redirectStreamingUrl: + 'appstream2.us-east-1.aws.amazon.com/#/streaming/?reference=fleet%2Finitial-stack-1629237287942-ServiceWorkbenchFleet&app=', + expected: { scheme: 'ssh', name: 'SSH to Main EC2 instance' }, + }, + ]; + + it.each(testContexts)('should return AppStream URL %testContext', async testContext => { + const retVal = await adminSession.resources.workspaceServiceCatalogs + .workspaceServiceCatalog(testContext.envId) + .connections() + .connection(testContext.connectionId) + .createUrl(); + + const response = await fetch(retVal.url); + const redirectResponse = response[Object.getOwnPropertySymbols(response)[1]]; + + expect(retVal.scheme).toContain(testContext.expected.scheme); + expect(retVal.name).toContain(testContext.expected.name); + expect(retVal.id).toEqual(testContext.connectionId); + expect(retVal.url).toContain(testContext.preAuthStreamingUrl); + expect(redirectResponse.url).toContain(`${testContext.redirectStreamingUrl}${testContext.applicationName}`); + }); + }); }); diff --git a/main/integration-tests/package.json b/main/integration-tests/package.json index 798724c1c8..9697a1f239 100644 --- a/main/integration-tests/package.json +++ b/main/integration-tests/package.json @@ -42,6 +42,7 @@ "eslint-plugin-jsx-a11y": "^6.2.3", "eslint-plugin-prettier": "^3.1.2", "husky": "^3.1.0", + "node-fetch": "^2.6.0", "jest": "^26.6.3", "jest-circus": "^26.6.3", "jest-junit": "^10.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 787d83a694..7f99281090 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,9 +1,9 @@ importers: addons/addon-base-post-deployment/packages/base-post-deployment: dependencies: - '@aws-ee/base-api-services': 'link:../../../addon-base-rest-api/packages/services' - '@aws-ee/base-services': 'link:../../../addon-base/packages/services' - '@aws-ee/base-services-container': 'link:../../../addon-base/packages/services-container' + '@aws-ee/base-api-services': link:../../../addon-base-rest-api/packages/services + '@aws-ee/base-services': link:../../../addon-base/packages/services + '@aws-ee/base-services-container': link:../../../addon-base/packages/services-container aws-sdk: 2.656.0 generate-password: 1.5.1 lodash: 4.17.21 @@ -21,9 +21,9 @@ importers: prettier: 1.19.1 source-map-support: 0.5.16 specifiers: - '@aws-ee/base-api-services': 'workspace:*' - '@aws-ee/base-services': 'workspace:*' - '@aws-ee/base-services-container': 'workspace:*' + '@aws-ee/base-api-services': workspace:* + '@aws-ee/base-services': workspace:* + '@aws-ee/base-services-container': workspace:* aws-sdk: ^2.647.0 eslint: ^6.8.0 eslint-config-airbnb-base: ^14.0.0 @@ -41,9 +41,9 @@ importers: source-map-support: ^0.5.16 addons/addon-base-pre-deployment/packages/base-pre-deployment: dependencies: - '@aws-ee/base-api-services': 'link:../../../addon-base-rest-api/packages/services' - '@aws-ee/base-services': 'link:../../../addon-base/packages/services' - '@aws-ee/base-services-container': 'link:../../../addon-base/packages/services-container' + '@aws-ee/base-api-services': link:../../../addon-base-rest-api/packages/services + '@aws-ee/base-services': link:../../../addon-base/packages/services + '@aws-ee/base-services-container': link:../../../addon-base/packages/services-container aws-sdk: 2.847.0 generate-password: 1.5.1 lodash: 4.17.21 @@ -61,9 +61,9 @@ importers: prettier: 1.19.1 source-map-support: 0.5.19 specifiers: - '@aws-ee/base-api-services': 'workspace:*' - '@aws-ee/base-services': 'workspace:*' - '@aws-ee/base-services-container': 'workspace:*' + '@aws-ee/base-api-services': workspace:* + '@aws-ee/base-services': workspace:* + '@aws-ee/base-services-container': workspace:* aws-sdk: ^2.647.0 eslint: ^6.8.0 eslint-config-airbnb-base: ^14.0.0 @@ -81,10 +81,10 @@ importers: source-map-support: ^0.5.16 addons/addon-base-raas-appstream/packages/base-raas-appstream-rest-api: dependencies: - '@aws-ee/base-controllers': 'link:../../../addon-base-rest-api/packages/base-controllers' - '@aws-ee/base-raas-appstream-services': 'link:../base-raas-appstream-services' - '@aws-ee/base-raas-services': 'link:../../../addon-base-raas/packages/base-raas-services' - '@aws-ee/base-services': 'link:../../../addon-base/packages/services' + '@aws-ee/base-controllers': link:../../../addon-base-rest-api/packages/base-controllers + '@aws-ee/base-raas-appstream-services': link:../base-raas-appstream-services + '@aws-ee/base-raas-services': link:../../../addon-base-raas/packages/base-raas-services + '@aws-ee/base-services': link:../../../addon-base/packages/services lodash: 4.17.21 devDependencies: eslint: 6.8.0 @@ -101,10 +101,10 @@ importers: pretty-quick: 1.11.1_prettier@1.19.1 source-map-support: 0.5.19 specifiers: - '@aws-ee/base-controllers': 'workspace:*' - '@aws-ee/base-raas-appstream-services': 'workspace:*' - '@aws-ee/base-raas-services': 'workspace:*' - '@aws-ee/base-services': 'workspace:*' + '@aws-ee/base-controllers': workspace:* + '@aws-ee/base-raas-appstream-services': workspace:* + '@aws-ee/base-raas-services': workspace:* + '@aws-ee/base-services': workspace:* eslint: ^6.8.0 eslint-config-airbnb-base: ^14.1.0 eslint-config-prettier: ^6.10.0 @@ -121,9 +121,9 @@ importers: source-map-support: ^0.5.16 addons/addon-base-raas-appstream/packages/base-raas-appstream-services: dependencies: - '@aws-ee/base-raas-services': 'link:../../../addon-base-raas/packages/base-raas-services' - '@aws-ee/base-services': 'link:../../../addon-base/packages/services' - '@aws-ee/base-services-container': 'link:../../../addon-base/packages/services-container' + '@aws-ee/base-raas-services': link:../../../addon-base-raas/packages/base-raas-services + '@aws-ee/base-services': link:../../../addon-base/packages/services + '@aws-ee/base-services-container': link:../../../addon-base/packages/services-container lodash: 4.17.21 uuid: 3.4.0 devDependencies: @@ -142,9 +142,9 @@ importers: pretty-quick: 1.11.1_prettier@1.19.1 source-map-support: 0.5.19 specifiers: - '@aws-ee/base-raas-services': 'workspace:*' - '@aws-ee/base-services': 'workspace:*' - '@aws-ee/base-services-container': 'workspace:*' + '@aws-ee/base-raas-services': workspace:* + '@aws-ee/base-services': workspace:* + '@aws-ee/base-services-container': workspace:* aws-sdk-mock: ^5.1.0 eslint: ^6.8.0 eslint-config-airbnb-base: ^14.1.0 @@ -164,9 +164,9 @@ importers: addons/addon-base-raas-ui/packages/base-raas-ui: dependencies: '@auth0/auth0-spa-js': 1.6.5 - '@aws-ee/base-services': 'link:../../../addon-base/packages/services' - '@aws-ee/base-ui': 'link:../../../addon-base-ui/packages/base-ui' - '@aws-ee/key-pair-mgmt-ui': 'link:../../../addon-key-pair-mgmt-ui/packages/key-pair-mgmt-ui' + '@aws-ee/base-services': link:../../../addon-base/packages/services + '@aws-ee/base-ui': link:../../../addon-base-ui/packages/base-ui + '@aws-ee/key-pair-mgmt-ui': link:../../../addon-key-pair-mgmt-ui/packages/key-pair-mgmt-ui aws-sdk: 2.721.0 chart.js: 2.9.4 classnames: 2.2.6 @@ -236,9 +236,9 @@ importers: webpack: 4.41.2 specifiers: '@auth0/auth0-spa-js': ^1.2.3 - '@aws-ee/base-services': 'workspace:*' - '@aws-ee/base-ui': 'workspace:*' - '@aws-ee/key-pair-mgmt-ui': 'workspace:*' + '@aws-ee/base-services': workspace:* + '@aws-ee/base-ui': workspace:* + '@aws-ee/key-pair-mgmt-ui': workspace:* '@babel/cli': ^7.8.4 '@babel/core': ^7.8.6 '@babel/plugin-proposal-class-properties': ^7.8.3 @@ -340,9 +340,9 @@ importers: source-map-support: ^0.5.16 addons/addon-base-raas/packages/base-raas-post-deployment: dependencies: - '@aws-ee/base-raas-services': 'link:../base-raas-services' - '@aws-ee/base-services': 'link:../../../addon-base/packages/services' - '@aws-ee/base-services-container': 'link:../../../addon-base/packages/services-container' + '@aws-ee/base-raas-services': link:../base-raas-services + '@aws-ee/base-services': link:../../../addon-base/packages/services + '@aws-ee/base-services-container': link:../../../addon-base/packages/services-container lodash: 4.17.21 devDependencies: eslint: 6.8.0 @@ -360,9 +360,9 @@ importers: pretty-quick: 1.11.1_prettier@1.19.1 source-map-support: 0.5.16 specifiers: - '@aws-ee/base-raas-services': 'workspace:*' - '@aws-ee/base-services': 'workspace:*' - '@aws-ee/base-services-container': 'workspace:*' + '@aws-ee/base-raas-services': workspace:* + '@aws-ee/base-services': workspace:* + '@aws-ee/base-services-container': workspace:* eslint: ^6.8.0 eslint-config-airbnb: ^18.1.0 eslint-config-airbnb-base: ^14.1.0 @@ -380,10 +380,10 @@ importers: source-map-support: ^0.5.16 addons/addon-base-raas/packages/base-raas-rest-api: dependencies: - '@aws-ee/base-api-services': 'link:../../../addon-base-rest-api/packages/services' - '@aws-ee/base-controllers': 'link:../../../addon-base-rest-api/packages/base-controllers' - '@aws-ee/base-raas-services': 'link:../base-raas-services' - '@aws-ee/base-services': 'link:../../../addon-base/packages/services' + '@aws-ee/base-api-services': link:../../../addon-base-rest-api/packages/services + '@aws-ee/base-controllers': link:../../../addon-base-rest-api/packages/base-controllers + '@aws-ee/base-raas-services': link:../base-raas-services + '@aws-ee/base-services': link:../../../addon-base/packages/services lodash: 4.17.21 devDependencies: eslint: 6.8.0 @@ -400,10 +400,10 @@ importers: pretty-quick: 1.11.1_prettier@1.19.1 source-map-support: 0.5.16 specifiers: - '@aws-ee/base-api-services': 'workspace:*' - '@aws-ee/base-controllers': 'workspace:*' - '@aws-ee/base-raas-services': 'workspace:*' - '@aws-ee/base-services': 'workspace:*' + '@aws-ee/base-api-services': workspace:* + '@aws-ee/base-controllers': workspace:* + '@aws-ee/base-raas-services': workspace:* + '@aws-ee/base-services': workspace:* eslint: ^6.8.0 eslint-config-airbnb-base: ^14.1.0 eslint-config-prettier: ^6.10.0 @@ -420,10 +420,10 @@ importers: source-map-support: ^0.5.16 addons/addon-base-raas/packages/base-raas-services: dependencies: - '@aws-ee/base-api-services': 'link:../../../addon-base-rest-api/packages/services' - '@aws-ee/base-services': 'link:../../../addon-base/packages/services' - '@aws-ee/base-services-container': 'link:../../../addon-base/packages/services-container' - '@aws-ee/key-pair-mgmt-services': 'link:../../../addon-key-pair-mgmt-api/packages/key-pair-mgmt-services' + '@aws-ee/base-api-services': link:../../../addon-base-rest-api/packages/services + '@aws-ee/base-services': link:../../../addon-base/packages/services + '@aws-ee/base-services-container': link:../../../addon-base/packages/services-container + '@aws-ee/key-pair-mgmt-services': link:../../../addon-key-pair-mgmt-api/packages/key-pair-mgmt-services is-cidr: 3.1.0 js-yaml: 4.0.0 lodash: 4.17.21 @@ -437,8 +437,8 @@ importers: uuid: 3.4.0 xml: 1.0.1 devDependencies: - '@aws-ee/base-workflow-core': 'link:../../../addon-base-workflow/packages/base-workflow-core' - '@aws-ee/environment-type-mgmt-services': 'link:../../../addon-environment-sc-api/packages/environment-type-mgmt-services' + '@aws-ee/base-workflow-core': link:../../../addon-base-workflow/packages/base-workflow-core + '@aws-ee/environment-type-mgmt-services': link:../../../addon-environment-sc-api/packages/environment-type-mgmt-services aws-sdk-mock: 5.1.0 eslint: 6.8.0 eslint-config-airbnb-base: 14.1.0_8cdb6d8c18c3319a1365bd5afa0063a3 @@ -455,12 +455,12 @@ importers: sinon: 9.0.3 source-map-support: 0.5.16 specifiers: - '@aws-ee/base-api-services': 'workspace:*' - '@aws-ee/base-services': 'workspace:*' - '@aws-ee/base-services-container': 'workspace:*' - '@aws-ee/base-workflow-core': 'workspace:*' - '@aws-ee/environment-type-mgmt-services': 'workspace:*' - '@aws-ee/key-pair-mgmt-services': 'workspace:*' + '@aws-ee/base-api-services': workspace:* + '@aws-ee/base-services': workspace:* + '@aws-ee/base-services-container': workspace:* + '@aws-ee/base-workflow-core': workspace:* + '@aws-ee/environment-type-mgmt-services': workspace:* + '@aws-ee/key-pair-mgmt-services': workspace:* aws-sdk-mock: ^5.1.0 eslint: ^6.8.0 eslint-config-airbnb-base: ^14.1.0 @@ -490,13 +490,13 @@ importers: xml: ^1.0.1 addons/addon-base-raas/packages/base-raas-workflow-steps: dependencies: - '@aws-ee/base-services': 'link:../../../addon-base/packages/services' - '@aws-ee/base-workflow-core': 'link:../../../addon-base-workflow/packages/base-workflow-core' + '@aws-ee/base-services': link:../../../addon-base/packages/services + '@aws-ee/base-workflow-core': link:../../../addon-base-workflow/packages/base-workflow-core lodash: 4.17.21 slugify: 1.4.0 devDependencies: - '@aws-ee/base-services-container': 'link:../../../addon-base/packages/services-container' - '@aws-ee/workflow-engine': 'link:../../../addon-base-workflow/packages/workflow-engine' + '@aws-ee/base-services-container': link:../../../addon-base/packages/services-container + '@aws-ee/workflow-engine': link:../../../addon-base-workflow/packages/workflow-engine aws-sdk-mock: 5.1.0 eslint: 6.8.0 eslint-config-airbnb: 18.1.0_8cdb6d8c18c3319a1365bd5afa0063a3 @@ -513,10 +513,10 @@ importers: pretty-quick: 1.11.1_prettier@1.19.1 source-map-support: 0.5.16 specifiers: - '@aws-ee/base-services': 'workspace:*' - '@aws-ee/base-services-container': 'workspace:*' - '@aws-ee/base-workflow-core': 'workspace:*' - '@aws-ee/workflow-engine': 'workspace:*' + '@aws-ee/base-services': workspace:* + '@aws-ee/base-services-container': workspace:* + '@aws-ee/base-workflow-core': workspace:* + '@aws-ee/workflow-engine': workspace:* aws-sdk-mock: ^5.1.0 eslint: ^6.8.0 eslint-config-airbnb: ^18.1.0 @@ -536,7 +536,7 @@ importers: source-map-support: ^0.5.16 addons/addon-base-raas/packages/base-raas-workflows: dependencies: - '@aws-ee/base-workflow-core': 'link:../../../addon-base-workflow/packages/base-workflow-core' + '@aws-ee/base-workflow-core': link:../../../addon-base-workflow/packages/base-workflow-core lodash: 4.17.21 slugify: 1.4.0 devDependencies: @@ -555,7 +555,7 @@ importers: pretty-quick: 1.11.1_prettier@1.19.1 source-map-support: 0.5.16 specifiers: - '@aws-ee/base-workflow-core': 'workspace:*' + '@aws-ee/base-workflow-core': workspace:* eslint: ^6.8.0 eslint-config-airbnb: ^18.1.0 eslint-config-airbnb-base: ^14.1.0 @@ -606,7 +606,7 @@ importers: source-map-support: ^0.5.16 addons/addon-base-rest-api/packages/api-handler-factory: dependencies: - '@aws-ee/base-services-container': 'link:../../../addon-base/packages/services-container' + '@aws-ee/base-services-container': link:../../../addon-base/packages/services-container body-parser: 1.19.0 compression: 1.7.4 cors: 2.8.5 @@ -628,7 +628,7 @@ importers: pretty-quick: 1.11.1_prettier@1.19.1 source-map-support: 0.5.16 specifiers: - '@aws-ee/base-services-container': 'workspace:*' + '@aws-ee/base-services-container': workspace:* body-parser: ^1.19.0 compression: ^1.7.4 cors: ^2.8.5 @@ -650,9 +650,9 @@ importers: source-map-support: ^0.5.16 addons/addon-base-rest-api/packages/base-api-handler: dependencies: - '@aws-ee/base-api-services': 'link:../services' - '@aws-ee/base-services': 'link:../../../addon-base/packages/services' - '@aws-ee/base-services-container': 'link:../../../addon-base/packages/services-container' + '@aws-ee/base-api-services': link:../services + '@aws-ee/base-services': link:../../../addon-base/packages/services + '@aws-ee/base-services-container': link:../../../addon-base/packages/services-container aws-sdk: 2.656.0 generate-password: 1.5.1 lodash: 4.17.21 @@ -670,9 +670,9 @@ importers: prettier: 1.19.1 source-map-support: 0.5.16 specifiers: - '@aws-ee/base-api-services': 'workspace:*' - '@aws-ee/base-services': 'workspace:*' - '@aws-ee/base-services-container': 'workspace:*' + '@aws-ee/base-api-services': workspace:* + '@aws-ee/base-services': workspace:* + '@aws-ee/base-services-container': workspace:* aws-sdk: ^2.647.0 eslint: ^6.8.0 eslint-config-airbnb-base: ^14.0.0 @@ -690,9 +690,9 @@ importers: source-map-support: ^0.5.16 addons/addon-base-rest-api/packages/base-authn-handler: dependencies: - '@aws-ee/base-api-services': 'link:../services' - '@aws-ee/base-services': 'link:../../../addon-base/packages/services' - '@aws-ee/base-services-container': 'link:../../../addon-base/packages/services-container' + '@aws-ee/base-api-services': link:../services + '@aws-ee/base-services': link:../../../addon-base/packages/services + '@aws-ee/base-services-container': link:../../../addon-base/packages/services-container aws-sdk: 2.656.0 generate-password: 1.5.1 lodash: 4.17.21 @@ -710,9 +710,9 @@ importers: prettier: 1.19.1 source-map-support: 0.5.16 specifiers: - '@aws-ee/base-api-services': 'workspace:*' - '@aws-ee/base-services': 'workspace:*' - '@aws-ee/base-services-container': 'workspace:*' + '@aws-ee/base-api-services': workspace:* + '@aws-ee/base-services': workspace:* + '@aws-ee/base-services-container': workspace:* aws-sdk: ^2.647.0 eslint: ^6.8.0 eslint-config-airbnb-base: ^14.0.0 @@ -730,9 +730,9 @@ importers: source-map-support: ^0.5.16 addons/addon-base-rest-api/packages/base-controllers: dependencies: - '@aws-ee/base-api-services': 'link:../services' - '@aws-ee/base-services': 'link:../../../addon-base/packages/services' - '@aws-ee/base-services-container': 'link:../../../addon-base/packages/services-container' + '@aws-ee/base-api-services': link:../services + '@aws-ee/base-services': link:../../../addon-base/packages/services + '@aws-ee/base-services-container': link:../../../addon-base/packages/services-container lodash: 4.17.21 devDependencies: eslint: 6.8.0 @@ -748,9 +748,9 @@ importers: prettier: 1.19.1 source-map-support: 0.5.16 specifiers: - '@aws-ee/base-api-services': 'workspace:*' - '@aws-ee/base-services': 'workspace:*' - '@aws-ee/base-services-container': 'workspace:*' + '@aws-ee/base-api-services': workspace:* + '@aws-ee/base-services': workspace:* + '@aws-ee/base-services-container': workspace:* eslint: ^6.8.0 eslint-config-airbnb-base: ^14.0.0 eslint-config-prettier: ^6.10.0 @@ -766,8 +766,8 @@ importers: source-map-support: ^0.5.16 addons/addon-base-rest-api/packages/services: dependencies: - '@aws-ee/base-services': 'link:../../../addon-base/packages/services' - '@aws-ee/base-services-container': 'link:../../../addon-base/packages/services-container' + '@aws-ee/base-services': link:../../../addon-base/packages/services + '@aws-ee/base-services-container': link:../../../addon-base/packages/services-container ajv: 6.12.0 aws-sdk: 2.656.0 jsonwebtoken: 8.5.1 @@ -793,8 +793,8 @@ importers: prettier: 1.19.1 source-map-support: 0.5.16 specifiers: - '@aws-ee/base-services': 'workspace:*' - '@aws-ee/base-services-container': 'workspace:*' + '@aws-ee/base-services': workspace:* + '@aws-ee/base-services-container': workspace:* ajv: ^6.11.0 aws-sdk: ^2.647.0 aws-sdk-mock: ^5.1.0 @@ -848,8 +848,8 @@ importers: typeface-lato: 0.0.75 validatorjs: 3.18.1 devDependencies: - '@aws-ee/base-serverless-settings-helper': 'link:../../../addon-base/packages/serverless-settings-helper' - '@aws-ee/base-serverless-ui-tools': 'link:../serverless-ui-tools' + '@aws-ee/base-serverless-settings-helper': link:../../../addon-base/packages/serverless-settings-helper + '@aws-ee/base-serverless-ui-tools': link:../serverless-ui-tools '@babel/cli': 7.8.4_@babel+core@7.9.0 '@babel/core': 7.9.0 '@babel/plugin-proposal-class-properties': 7.8.3_@babel+core@7.9.0 @@ -881,8 +881,8 @@ importers: typescript: 3.8.3 webpack: 4.41.2 specifiers: - '@aws-ee/base-serverless-settings-helper': 'workspace:*' - '@aws-ee/base-serverless-ui-tools': 'workspace:*' + '@aws-ee/base-serverless-settings-helper': workspace:* + '@aws-ee/base-serverless-ui-tools': workspace:* '@babel/cli': ^7.8.4 '@babel/core': ^7.8.6 '@babel/plugin-proposal-class-properties': ^7.8.3 @@ -978,8 +978,8 @@ importers: pretty-quick: ^1.11.1 addons/addon-base-workflow-api/packages/base-worklfow-api: dependencies: - '@aws-ee/base-controllers': 'link:../../../addon-base-rest-api/packages/base-controllers' - '@aws-ee/base-workflow-core': 'link:../../../addon-base-workflow/packages/base-workflow-core' + '@aws-ee/base-controllers': link:../../../addon-base-rest-api/packages/base-controllers + '@aws-ee/base-workflow-core': link:../../../addon-base-workflow/packages/base-workflow-core lodash: 4.17.21 devDependencies: eslint: 6.8.0 @@ -997,8 +997,8 @@ importers: pretty-quick: 1.11.1_prettier@1.19.1 source-map-support: 0.5.16 specifiers: - '@aws-ee/base-controllers': 'workspace:*' - '@aws-ee/base-workflow-core': 'workspace:*' + '@aws-ee/base-controllers': workspace:* + '@aws-ee/base-workflow-core': workspace:* eslint: ^6.8.0 eslint-config-airbnb: ^18.1.0 eslint-config-airbnb-base: ^14.1.0 @@ -1016,7 +1016,7 @@ importers: source-map-support: ^0.5.16 addons/addon-base-workflow-ui/packages/base-workflow-ui: dependencies: - '@aws-ee/base-ui': 'link:../../../addon-base-ui/packages/base-ui' + '@aws-ee/base-ui': link:../../../addon-base-ui/packages/base-ui aws-sdk: 2.656.0 chart.js: 2.9.4 classnames: 2.2.6 @@ -1072,7 +1072,7 @@ importers: typescript: 3.8.3 webpack: 4.41.2 specifiers: - '@aws-ee/base-ui': 'workspace:*' + '@aws-ee/base-ui': workspace:* '@babel/cli': ^7.8.4 '@babel/core': ^7.8.6 '@babel/plugin-proposal-class-properties': ^7.8.3 @@ -1128,9 +1128,9 @@ importers: webpack: 4.41.2 addons/addon-base-workflow/packages/base-workflow-core: dependencies: - '@aws-ee/base-services': 'link:../../../addon-base/packages/services' - '@aws-ee/base-services-container': 'link:../../../addon-base/packages/services-container' - '@aws-ee/workflow-engine': 'link:../workflow-engine' + '@aws-ee/base-services': link:../../../addon-base/packages/services + '@aws-ee/base-services-container': link:../../../addon-base/packages/services-container + '@aws-ee/workflow-engine': link:../workflow-engine lodash: 4.17.21 slugify: 1.4.0 devDependencies: @@ -1149,9 +1149,9 @@ importers: pretty-quick: 1.11.1_prettier@1.19.1 source-map-support: 0.5.16 specifiers: - '@aws-ee/base-services': 'workspace:*' - '@aws-ee/base-services-container': 'workspace:*' - '@aws-ee/workflow-engine': 'workspace:*' + '@aws-ee/base-services': workspace:* + '@aws-ee/base-services-container': workspace:* + '@aws-ee/workflow-engine': workspace:* eslint: ^6.8.0 eslint-config-airbnb: ^18.1.0 eslint-config-airbnb-base: ^14.1.0 @@ -1170,7 +1170,7 @@ importers: source-map-support: ^0.5.16 addons/addon-base-workflow/packages/base-workflow-templates: dependencies: - '@aws-ee/base-workflow-core': 'link:../base-workflow-core' + '@aws-ee/base-workflow-core': link:../base-workflow-core lodash: 4.17.21 slugify: 1.4.0 devDependencies: @@ -1189,7 +1189,7 @@ importers: pretty-quick: 1.11.1_prettier@1.19.1 source-map-support: 0.5.16 specifiers: - '@aws-ee/base-workflow-core': 'workspace:*' + '@aws-ee/base-workflow-core': workspace:* eslint: ^6.8.0 eslint-config-airbnb: ^18.1.0 eslint-config-airbnb-base: ^14.1.0 @@ -1208,7 +1208,7 @@ importers: source-map-support: ^0.5.16 addons/addon-base-workflow/packages/base-worklfow-steps: dependencies: - '@aws-ee/base-workflow-core': 'link:../base-workflow-core' + '@aws-ee/base-workflow-core': link:../base-workflow-core lodash: 4.17.21 slugify: 1.4.0 devDependencies: @@ -1227,7 +1227,7 @@ importers: pretty-quick: 1.11.1_prettier@1.19.1 source-map-support: 0.5.16 specifiers: - '@aws-ee/base-workflow-core': 'workspace:*' + '@aws-ee/base-workflow-core': workspace:* eslint: ^6.8.0 eslint-config-airbnb: ^18.1.0 eslint-config-airbnb-base: ^14.1.0 @@ -1392,7 +1392,7 @@ importers: serverless: ^1.63.0 addons/addon-base/packages/services: dependencies: - '@aws-ee/base-services-container': 'link:../services-container' + '@aws-ee/base-services-container': link:../services-container ajv: 6.12.0 aws-sdk: 2.847.0 aws-xray-sdk: 3.2.0 @@ -1422,8 +1422,8 @@ importers: prettier: 1.19.1 source-map-support: 0.5.16 specifiers: - '@aws-ee/base-services': 'workspace:*' - '@aws-ee/base-services-container': 'workspace:*' + '@aws-ee/base-services': workspace:* + '@aws-ee/base-services-container': workspace:* ajv: ^6.11.0 aws-sdk: ^2.647.0 aws-sdk-mock: ^5.1.0 @@ -1488,14 +1488,14 @@ importers: toposort: ^2.0.2 addons/addon-environment-sc-api/packages/environment-sc-workflow-steps: dependencies: - '@aws-ee/base-services': 'link:../../../addon-base/packages/services' - '@aws-ee/base-workflow-core': 'link:../../../addon-base-workflow/packages/base-workflow-core' - '@aws-ee/environment-type-mgmt-services': 'link:../environment-type-mgmt-services' + '@aws-ee/base-services': link:../../../addon-base/packages/services + '@aws-ee/base-workflow-core': link:../../../addon-base-workflow/packages/base-workflow-core + '@aws-ee/environment-type-mgmt-services': link:../environment-type-mgmt-services lodash: 4.17.21 slugify: 1.4.0 uuid: 8.2.0 devDependencies: - '@aws-ee/workflow-engine': 'link:../../../addon-base-workflow/packages/workflow-engine' + '@aws-ee/workflow-engine': link:../../../addon-base-workflow/packages/workflow-engine eslint: 6.8.0 eslint-config-airbnb: 18.1.0_8cdb6d8c18c3319a1365bd5afa0063a3 eslint-config-airbnb-base: 14.1.0_8cdb6d8c18c3319a1365bd5afa0063a3 @@ -1511,10 +1511,10 @@ importers: pretty-quick: 1.11.1_prettier@1.19.1 source-map-support: 0.5.16 specifiers: - '@aws-ee/base-services': 'workspace:*' - '@aws-ee/base-workflow-core': 'workspace:*' - '@aws-ee/environment-type-mgmt-services': 'workspace:*' - '@aws-ee/workflow-engine': 'workspace:*' + '@aws-ee/base-services': workspace:* + '@aws-ee/base-workflow-core': workspace:* + '@aws-ee/environment-type-mgmt-services': workspace:* + '@aws-ee/workflow-engine': workspace:* eslint: ^6.8.0 eslint-config-airbnb: ^18.1.0 eslint-config-airbnb-base: ^14.1.0 @@ -1534,7 +1534,7 @@ importers: uuid: ^8.2.0 addons/addon-environment-sc-api/packages/environment-sc-workflows: dependencies: - '@aws-ee/base-workflow-core': 'link:../../../addon-base-workflow/packages/base-workflow-core' + '@aws-ee/base-workflow-core': link:../../../addon-base-workflow/packages/base-workflow-core lodash: 4.17.21 slugify: 1.4.0 devDependencies: @@ -1553,7 +1553,7 @@ importers: pretty-quick: 1.11.1_prettier@1.19.1 source-map-support: 0.5.16 specifiers: - '@aws-ee/base-workflow-core': 'workspace:*' + '@aws-ee/base-workflow-core': workspace:* eslint: ^6.8.0 eslint-config-airbnb: ^18.1.0 eslint-config-airbnb-base: ^14.1.0 @@ -1572,8 +1572,8 @@ importers: source-map-support: ^0.5.16 addons/addon-environment-sc-api/packages/environment-type-mgmt-api: dependencies: - '@aws-ee/base-controllers': 'link:../../../addon-base-rest-api/packages/base-controllers' - '@aws-ee/environment-type-mgmt-services': 'link:../environment-type-mgmt-services' + '@aws-ee/base-controllers': link:../../../addon-base-rest-api/packages/base-controllers + '@aws-ee/environment-type-mgmt-services': link:../environment-type-mgmt-services lodash: 4.17.21 uuid: 3.4.0 devDependencies: @@ -1591,8 +1591,8 @@ importers: pretty-quick: 1.11.1_prettier@1.19.1 source-map-support: 0.5.16 specifiers: - '@aws-ee/base-controllers': 'workspace:*' - '@aws-ee/environment-type-mgmt-services': 'workspace:*' + '@aws-ee/base-controllers': workspace:* + '@aws-ee/environment-type-mgmt-services': workspace:* eslint: ^6.8.0 eslint-config-airbnb-base: ^14.1.0 eslint-config-prettier: ^6.10.0 @@ -1610,8 +1610,8 @@ importers: uuid: ^3.4.0 addons/addon-environment-sc-api/packages/environment-type-mgmt-services: dependencies: - '@aws-ee/base-services': 'link:../../../addon-base/packages/services' - '@aws-ee/base-services-container': 'link:../../../addon-base/packages/services-container' + '@aws-ee/base-services': link:../../../addon-base/packages/services + '@aws-ee/base-services-container': link:../../../addon-base/packages/services-container lodash: 4.17.21 uuid: 3.4.0 devDependencies: @@ -1629,8 +1629,8 @@ importers: pretty-quick: 1.11.1_prettier@1.19.1 source-map-support: 0.5.16 specifiers: - '@aws-ee/base-services': 'workspace:*' - '@aws-ee/base-services-container': 'workspace:*' + '@aws-ee/base-services': workspace:* + '@aws-ee/base-services-container': workspace:* eslint: ^6.8.0 eslint-config-airbnb-base: ^14.1.0 eslint-config-prettier: ^6.10.0 @@ -1648,7 +1648,7 @@ importers: uuid: ^3.4.0 addons/addon-environment-sc-ui/packages/environment-type-mgmt-ui: dependencies: - '@aws-ee/base-ui': 'link:../../../addon-base-ui/packages/base-ui' + '@aws-ee/base-ui': link:../../../addon-base-ui/packages/base-ui lodash: 4.17.21 mobx: 5.15.4 mobx-react: 6.2.2_mobx@5.15.4+react@16.13.1 @@ -1689,7 +1689,7 @@ importers: pretty-quick: 1.11.1_prettier@1.19.1 regenerator-runtime: 0.13.5 specifiers: - '@aws-ee/base-ui': 'workspace:*' + '@aws-ee/base-ui': workspace:* '@babel/cli': ^7.8.4 '@babel/core': ^7.8.6 '@babel/plugin-proposal-class-properties': ^7.8.3 @@ -1730,8 +1730,8 @@ importers: semantic-ui-react: ^0.88.2 addons/addon-key-pair-mgmt-api/packages/key-pair-mgmt-api: dependencies: - '@aws-ee/base-controllers': 'link:../../../addon-base-rest-api/packages/base-controllers' - '@aws-ee/key-pair-mgmt-services': 'link:../key-pair-mgmt-services' + '@aws-ee/base-controllers': link:../../../addon-base-rest-api/packages/base-controllers + '@aws-ee/key-pair-mgmt-services': link:../key-pair-mgmt-services lodash: 4.17.21 uuid: 3.4.0 devDependencies: @@ -1749,8 +1749,8 @@ importers: pretty-quick: 1.11.1_prettier@1.19.1 source-map-support: 0.5.16 specifiers: - '@aws-ee/base-controllers': 'workspace:*' - '@aws-ee/key-pair-mgmt-services': 'workspace:*' + '@aws-ee/base-controllers': workspace:* + '@aws-ee/key-pair-mgmt-services': workspace:* eslint: ^6.8.0 eslint-config-airbnb-base: ^14.1.0 eslint-config-prettier: ^6.10.0 @@ -1768,8 +1768,8 @@ importers: uuid: ^3.4.0 addons/addon-key-pair-mgmt-api/packages/key-pair-mgmt-services: dependencies: - '@aws-ee/base-services': 'link:../../../addon-base/packages/services' - '@aws-ee/base-services-container': 'link:../../../addon-base/packages/services-container' + '@aws-ee/base-services': link:../../../addon-base/packages/services + '@aws-ee/base-services-container': link:../../../addon-base/packages/services-container lodash: 4.17.21 node-forge: 0.10.0 uuid: 3.4.0 @@ -1788,8 +1788,8 @@ importers: pretty-quick: 1.11.1_prettier@1.19.1 source-map-support: 0.5.16 specifiers: - '@aws-ee/base-services': 'workspace:*' - '@aws-ee/base-services-container': 'workspace:*' + '@aws-ee/base-services': workspace:* + '@aws-ee/base-services-container': workspace:* eslint: ^6.8.0 eslint-config-airbnb-base: ^14.1.0 eslint-config-prettier: ^6.10.0 @@ -1808,7 +1808,7 @@ importers: uuid: ^3.4.0 addons/addon-key-pair-mgmt-ui/packages/key-pair-mgmt-ui: dependencies: - '@aws-ee/base-ui': 'link:../../../addon-base-ui/packages/base-ui' + '@aws-ee/base-ui': link:../../../addon-base-ui/packages/base-ui lodash: 4.17.21 mobx: 5.15.4 mobx-react: 6.2.2_mobx@5.15.4+react@16.13.1 @@ -1845,7 +1845,7 @@ importers: prettier: 1.19.1 pretty-quick: 1.11.1_prettier@1.19.1 specifiers: - '@aws-ee/base-ui': 'workspace:*' + '@aws-ee/base-ui': workspace:* '@babel/cli': ^7.8.4 '@babel/core': ^7.8.6 '@babel/plugin-proposal-class-properties': ^7.8.3 @@ -1884,13 +1884,13 @@ importers: specifiers: {} addons/addon-stack-policy/packages/stack-policy: dependencies: - '@aws-ee/base-services': 'link:../../../addon-base/packages/services' - '@aws-ee/base-services-container': 'link:../../../addon-base/packages/services-container' + '@aws-ee/base-services': link:../../../addon-base/packages/services + '@aws-ee/base-services-container': link:../../../addon-base/packages/services-container aws-sdk: 2.847.0 lodash: 4.17.21 devDependencies: - '@aws-ee/base-api-handler': 'link:../../../addon-base-rest-api/packages/base-api-handler' - '@aws-ee/base-post-deployment': 'link:../../../addon-base-post-deployment/packages/base-post-deployment' + '@aws-ee/base-api-handler': link:../../../addon-base-rest-api/packages/base-api-handler + '@aws-ee/base-post-deployment': link:../../../addon-base-post-deployment/packages/base-post-deployment eslint: 6.8.0 eslint-config-airbnb-base: 14.2.1_dbc45251b359455fcdf3c36391f49b09 eslint-config-prettier: 6.15.0_eslint@6.8.0 @@ -1904,10 +1904,10 @@ importers: prettier: 1.19.1 source-map-support: 0.5.19 specifiers: - '@aws-ee/base-api-handler': 'workspace:*' - '@aws-ee/base-post-deployment': 'workspace:*' - '@aws-ee/base-services': 'workspace:*' - '@aws-ee/base-services-container': 'workspace:*' + '@aws-ee/base-api-handler': workspace:* + '@aws-ee/base-post-deployment': workspace:* + '@aws-ee/base-services': workspace:* + '@aws-ee/base-services-container': workspace:* aws-sdk: ^2.647.0 eslint: ^6.8.0 eslint-config-airbnb-base: ^14.0.0 @@ -1924,13 +1924,13 @@ importers: source-map-support: ^0.5.16 addons/addon-user-id-upgrade/packages/user-id-upgrade-post-deployment: dependencies: - '@aws-ee/base-services': 'link:../../../addon-base/packages/services' - '@aws-ee/base-services-container': 'link:../../../addon-base/packages/services-container' + '@aws-ee/base-services': link:../../../addon-base/packages/services + '@aws-ee/base-services-container': link:../../../addon-base/packages/services-container aws-sdk: 2.721.0 lodash: 4.17.21 devDependencies: - '@aws-ee/base-api-handler': 'link:../../../addon-base-rest-api/packages/base-api-handler' - '@aws-ee/base-post-deployment': 'link:../../../addon-base-post-deployment/packages/base-post-deployment' + '@aws-ee/base-api-handler': link:../../../addon-base-rest-api/packages/base-api-handler + '@aws-ee/base-post-deployment': link:../../../addon-base-post-deployment/packages/base-post-deployment eslint: 6.8.0 eslint-config-airbnb-base: 14.1.0_8cdb6d8c18c3319a1365bd5afa0063a3 eslint-config-prettier: 6.10.1_eslint@6.8.0 @@ -1944,10 +1944,10 @@ importers: prettier: 1.19.1 source-map-support: 0.5.16 specifiers: - '@aws-ee/base-api-handler': 'workspace:*' - '@aws-ee/base-post-deployment': 'workspace:*' - '@aws-ee/base-services': 'workspace:*' - '@aws-ee/base-services-container': 'workspace:*' + '@aws-ee/base-api-handler': workspace:* + '@aws-ee/base-post-deployment': workspace:* + '@aws-ee/base-services': workspace:* + '@aws-ee/base-services-container': workspace:* aws-sdk: ^2.647.0 eslint: ^6.8.0 eslint-config-airbnb-base: ^14.0.0 @@ -1964,28 +1964,28 @@ importers: source-map-support: ^0.5.16 main/cicd/cicd-pipeline: devDependencies: - '@aws-ee/base-serverless-settings-helper': 'link:../../../addons/addon-base/packages/serverless-settings-helper' + '@aws-ee/base-serverless-settings-helper': link:../../../addons/addon-base/packages/serverless-settings-helper serverless: 1.67.3 serverless-deployment-bucket: 1.1.1 serverless-hooks-plugin: 1.1.0 optionalDependencies: fsevents: 2.1.2 specifiers: - '@aws-ee/base-serverless-settings-helper': 'workspace:*' + '@aws-ee/base-serverless-settings-helper': workspace:* fsevents: '*' serverless: ^1.63.0 serverless-deployment-bucket: ^1.1.0 serverless-hooks-plugin: ^1.1.0 main/cicd/cicd-source: devDependencies: - '@aws-ee/base-serverless-settings-helper': 'link:../../../addons/addon-base/packages/serverless-settings-helper' + '@aws-ee/base-serverless-settings-helper': link:../../../addons/addon-base/packages/serverless-settings-helper aws-sdk: 2.656.0 serverless: 1.67.3 serverless-deployment-bucket: 1.1.1 optionalDependencies: fsevents: 2.1.2 specifiers: - '@aws-ee/base-serverless-settings-helper': 'workspace:*' + '@aws-ee/base-serverless-settings-helper': workspace:* aws-sdk: ^2.647.0 fsevents: '*' serverless: ^1.63.0 @@ -2023,14 +2023,14 @@ importers: pretty-quick: ^1.11.1 main/integration-tests: dependencies: - '@aws-ee/base-services': 'link:../../addons/addon-base/packages/services' + '@aws-ee/base-services': link:../../addons/addon-base/packages/services aws-sdk: 2.847.0 axios: 0.21.1 chance: 1.1.7 fs-extra: 9.1.0 js-yaml: 4.0.0 lodash: 4.17.21 - services: 'link:../packages/services' + services: link:../packages/services yargs-parser: 20.2.5 devDependencies: eslint: 6.8.0 @@ -2046,12 +2046,13 @@ importers: jest: 26.6.3 jest-circus: 26.6.3 jest-junit: 10.0.0 + node-fetch: 2.6.1 prettier: 1.19.1 pretty-quick: 1.11.1_prettier@1.19.1 request: 2.88.2 request-promise-native: 1.0.8_request@2.88.2 specifiers: - '@aws-ee/base-services': 'workspace:*' + '@aws-ee/base-services': workspace:* aws-sdk: ^2.847.0 axios: ^0.21.1 chance: ^1.1.7 @@ -2071,17 +2072,18 @@ importers: jest-junit: ^10.0.0 js-yaml: ^4.0.0 lodash: ^4.17.21 + node-fetch: ^2.6.0 prettier: ^1.19.1 pretty-quick: ^1.11.1 request: ^2.88.0 request-promise-native: ^1.0.8 - services: 'workspace:*' + services: workspace:* yargs-parser: ^20.2.5 main/packages/controllers: dependencies: - '@aws-ee/base-controllers': 'link:../../../addons/addon-base-rest-api/packages/base-controllers' + '@aws-ee/base-controllers': link:../../../addons/addon-base-rest-api/packages/base-controllers lodash: 4.17.21 - services: 'link:../services' + services: link:../services devDependencies: eslint: 6.8.0 eslint-config-airbnb: 18.1.0_8cdb6d8c18c3319a1365bd5afa0063a3 @@ -2098,7 +2100,7 @@ importers: pretty-quick: 1.11.1_prettier@1.19.1 source-map-support: 0.5.16 specifiers: - '@aws-ee/base-controllers': 'workspace:*' + '@aws-ee/base-controllers': workspace:* eslint: ^6.8.0 eslint-config-airbnb: ^18.1.0 eslint-config-airbnb-base: ^14.1.0 @@ -2113,12 +2115,12 @@ importers: lodash: ^4.17.21 prettier: ^1.19.1 pretty-quick: ^1.11.1 - services: 'workspace:*' + services: workspace:* source-map-support: ^0.5.16 main/packages/services: dependencies: - '@aws-ee/base-services': 'link:../../../addons/addon-base/packages/services' - '@aws-ee/base-services-container': 'link:../../../addons/addon-base/packages/services-container' + '@aws-ee/base-services': link:../../../addons/addon-base/packages/services + '@aws-ee/base-services-container': link:../../../addons/addon-base/packages/services-container lodash: 4.17.21 devDependencies: eslint: 6.8.0 @@ -2136,8 +2138,8 @@ importers: pretty-quick: 1.11.1_prettier@1.19.1 source-map-support: 0.5.16 specifiers: - '@aws-ee/base-services': 'workspace:*' - '@aws-ee/base-services-container': 'workspace:*' + '@aws-ee/base-services': workspace:* + '@aws-ee/base-services-container': workspace:* eslint: ^6.8.0 eslint-config-airbnb: ^18.1.0 eslint-config-airbnb-base: ^14.1.0 @@ -2155,39 +2157,39 @@ importers: source-map-support: ^0.5.16 main/solution/backend: dependencies: - '@aws-ee/base-api-handler': 'link:../../../addons/addon-base-rest-api/packages/base-api-handler' - '@aws-ee/base-api-handler-factory': 'link:../../../addons/addon-base-rest-api/packages/api-handler-factory' - '@aws-ee/base-api-services': 'link:../../../addons/addon-base-rest-api/packages/services' - '@aws-ee/base-authn-handler': 'link:../../../addons/addon-base-rest-api/packages/base-authn-handler' - '@aws-ee/base-controllers': 'link:../../../addons/addon-base-rest-api/packages/base-controllers' - '@aws-ee/base-raas-appstream-rest-api': 'link:../../../addons/addon-base-raas-appstream/packages/base-raas-appstream-rest-api' - '@aws-ee/base-raas-appstream-services': 'link:../../../addons/addon-base-raas-appstream/packages/base-raas-appstream-services' - '@aws-ee/base-raas-cfn-templates': 'link:../../../addons/addon-base-raas/packages/base-raas-cfn-templates' - '@aws-ee/base-raas-rest-api': 'link:../../../addons/addon-base-raas/packages/base-raas-rest-api' - '@aws-ee/base-raas-services': 'link:../../../addons/addon-base-raas/packages/base-raas-services' - '@aws-ee/base-raas-workflow-steps': 'link:../../../addons/addon-base-raas/packages/base-raas-workflow-steps' - '@aws-ee/base-raas-workflows': 'link:../../../addons/addon-base-raas/packages/base-raas-workflows' - '@aws-ee/base-services': 'link:../../../addons/addon-base/packages/services' - '@aws-ee/base-services-container': 'link:../../../addons/addon-base/packages/services-container' - '@aws-ee/base-workflow-api': 'link:../../../addons/addon-base-workflow-api/packages/base-worklfow-api' - '@aws-ee/base-workflow-core': 'link:../../../addons/addon-base-workflow/packages/base-workflow-core' - '@aws-ee/base-workflow-steps': 'link:../../../addons/addon-base-workflow/packages/base-worklfow-steps' - '@aws-ee/environment-sc-workflow-steps': 'link:../../../addons/addon-environment-sc-api/packages/environment-sc-workflow-steps' - '@aws-ee/environment-sc-workflows': 'link:../../../addons/addon-environment-sc-api/packages/environment-sc-workflows' - '@aws-ee/environment-type-mgmt-api': 'link:../../../addons/addon-environment-sc-api/packages/environment-type-mgmt-api' - '@aws-ee/environment-type-mgmt-services': 'link:../../../addons/addon-environment-sc-api/packages/environment-type-mgmt-services' - '@aws-ee/key-pair-mgmt-api': 'link:../../../addons/addon-key-pair-mgmt-api/packages/key-pair-mgmt-api' - '@aws-ee/key-pair-mgmt-services': 'link:../../../addons/addon-key-pair-mgmt-api/packages/key-pair-mgmt-services' + '@aws-ee/base-api-handler': link:../../../addons/addon-base-rest-api/packages/base-api-handler + '@aws-ee/base-api-handler-factory': link:../../../addons/addon-base-rest-api/packages/api-handler-factory + '@aws-ee/base-api-services': link:../../../addons/addon-base-rest-api/packages/services + '@aws-ee/base-authn-handler': link:../../../addons/addon-base-rest-api/packages/base-authn-handler + '@aws-ee/base-controllers': link:../../../addons/addon-base-rest-api/packages/base-controllers + '@aws-ee/base-raas-appstream-rest-api': link:../../../addons/addon-base-raas-appstream/packages/base-raas-appstream-rest-api + '@aws-ee/base-raas-appstream-services': link:../../../addons/addon-base-raas-appstream/packages/base-raas-appstream-services + '@aws-ee/base-raas-cfn-templates': link:../../../addons/addon-base-raas/packages/base-raas-cfn-templates + '@aws-ee/base-raas-rest-api': link:../../../addons/addon-base-raas/packages/base-raas-rest-api + '@aws-ee/base-raas-services': link:../../../addons/addon-base-raas/packages/base-raas-services + '@aws-ee/base-raas-workflow-steps': link:../../../addons/addon-base-raas/packages/base-raas-workflow-steps + '@aws-ee/base-raas-workflows': link:../../../addons/addon-base-raas/packages/base-raas-workflows + '@aws-ee/base-services': link:../../../addons/addon-base/packages/services + '@aws-ee/base-services-container': link:../../../addons/addon-base/packages/services-container + '@aws-ee/base-workflow-api': link:../../../addons/addon-base-workflow-api/packages/base-worklfow-api + '@aws-ee/base-workflow-core': link:../../../addons/addon-base-workflow/packages/base-workflow-core + '@aws-ee/base-workflow-steps': link:../../../addons/addon-base-workflow/packages/base-worklfow-steps + '@aws-ee/environment-sc-workflow-steps': link:../../../addons/addon-environment-sc-api/packages/environment-sc-workflow-steps + '@aws-ee/environment-sc-workflows': link:../../../addons/addon-environment-sc-api/packages/environment-sc-workflows + '@aws-ee/environment-type-mgmt-api': link:../../../addons/addon-environment-sc-api/packages/environment-type-mgmt-api + '@aws-ee/environment-type-mgmt-services': link:../../../addons/addon-environment-sc-api/packages/environment-type-mgmt-services + '@aws-ee/key-pair-mgmt-api': link:../../../addons/addon-key-pair-mgmt-api/packages/key-pair-mgmt-api + '@aws-ee/key-pair-mgmt-services': link:../../../addons/addon-key-pair-mgmt-api/packages/key-pair-mgmt-services aws-sdk: 2.847.0 - controllers: 'link:../../packages/controllers' + controllers: link:../../packages/controllers js-yaml: 3.13.1 jwt-decode: 2.2.0 lodash: 4.17.21 node-fetch: 2.6.0 - services: 'link:../../packages/services' + services: link:../../packages/services devDependencies: - '@aws-ee/base-serverless-backend-tools': 'link:../../../addons/addon-base/packages/serverless-backend-tools' - '@aws-ee/base-serverless-settings-helper': 'link:../../../addons/addon-base/packages/serverless-settings-helper' + '@aws-ee/base-serverless-backend-tools': link:../../../addons/addon-base/packages/serverless-backend-tools + '@aws-ee/base-serverless-settings-helper': link:../../../addons/addon-base/packages/serverless-settings-helper '@babel/core': 7.9.0 '@babel/plugin-transform-runtime': 7.9.0_@babel+core@7.9.0 '@babel/preset-env': 7.9.5_@babel+core@7.9.0 @@ -2220,31 +2222,31 @@ importers: optionalDependencies: fsevents: 2.1.2 specifiers: - '@aws-ee/base-api-handler': 'workspace:*' - '@aws-ee/base-api-handler-factory': 'workspace:*' - '@aws-ee/base-api-services': 'workspace:*' - '@aws-ee/base-authn-handler': 'workspace:*' - '@aws-ee/base-controllers': 'workspace:*' - '@aws-ee/base-raas-appstream-rest-api': 'workspace:*' - '@aws-ee/base-raas-appstream-services': 'workspace:*' - '@aws-ee/base-raas-cfn-templates': 'workspace:*' - '@aws-ee/base-raas-rest-api': 'workspace:*' - '@aws-ee/base-raas-services': 'workspace:*' - '@aws-ee/base-raas-workflow-steps': 'workspace:*' - '@aws-ee/base-raas-workflows': 'workspace:*' - '@aws-ee/base-serverless-backend-tools': 'workspace:*' - '@aws-ee/base-serverless-settings-helper': 'workspace:*' - '@aws-ee/base-services': 'workspace:*' - '@aws-ee/base-services-container': 'workspace:*' - '@aws-ee/base-workflow-api': 'workspace:*' - '@aws-ee/base-workflow-core': 'workspace:*' - '@aws-ee/base-workflow-steps': 'workspace:*' - '@aws-ee/environment-sc-workflow-steps': 'workspace:*' - '@aws-ee/environment-sc-workflows': 'workspace:*' - '@aws-ee/environment-type-mgmt-api': 'workspace:*' - '@aws-ee/environment-type-mgmt-services': 'workspace:*' - '@aws-ee/key-pair-mgmt-api': 'workspace:*' - '@aws-ee/key-pair-mgmt-services': 'workspace:*' + '@aws-ee/base-api-handler': workspace:* + '@aws-ee/base-api-handler-factory': workspace:* + '@aws-ee/base-api-services': workspace:* + '@aws-ee/base-authn-handler': workspace:* + '@aws-ee/base-controllers': workspace:* + '@aws-ee/base-raas-appstream-rest-api': workspace:* + '@aws-ee/base-raas-appstream-services': workspace:* + '@aws-ee/base-raas-cfn-templates': workspace:* + '@aws-ee/base-raas-rest-api': workspace:* + '@aws-ee/base-raas-services': workspace:* + '@aws-ee/base-raas-workflow-steps': workspace:* + '@aws-ee/base-raas-workflows': workspace:* + '@aws-ee/base-serverless-backend-tools': workspace:* + '@aws-ee/base-serverless-settings-helper': workspace:* + '@aws-ee/base-services': workspace:* + '@aws-ee/base-services-container': workspace:* + '@aws-ee/base-workflow-api': workspace:* + '@aws-ee/base-workflow-core': workspace:* + '@aws-ee/base-workflow-steps': workspace:* + '@aws-ee/environment-sc-workflow-steps': workspace:* + '@aws-ee/environment-sc-workflows': workspace:* + '@aws-ee/environment-type-mgmt-api': workspace:* + '@aws-ee/environment-type-mgmt-services': workspace:* + '@aws-ee/key-pair-mgmt-api': workspace:* + '@aws-ee/key-pair-mgmt-services': workspace:* '@babel/core': ^7.8.4 '@babel/plugin-transform-runtime': ^7.8.3 '@babel/preset-env': ^7.8.4 @@ -2252,7 +2254,7 @@ importers: babel-jest: ^24.9.0 babel-loader: ^8.0.6 babel-plugin-source-map-support: ^2.1.1 - controllers: 'workspace:*' + controllers: workspace:* copy-webpack-plugin: ^5.1.1 eslint: ^6.8.0 eslint-config-airbnb-base: ^14.0.0 @@ -2277,78 +2279,78 @@ importers: serverless-offline: ^5.12.1 serverless-s3-sync: ^1.12.0 serverless-webpack: ^5.3.1 - services: 'workspace:*' + services: workspace:* source-map-support: ^0.5.16 webpack: ^4.41.5 webpack-cli: ^3.3.10 webpack-node-externals: ^1.7.2 main/solution/edge-lambda: devDependencies: - '@aws-ee/base-serverless-settings-helper': 'link:../../../addons/addon-base/packages/serverless-settings-helper' + '@aws-ee/base-serverless-settings-helper': link:../../../addons/addon-base/packages/serverless-settings-helper serverless: 1.67.3 serverless-deployment-bucket: 1.1.1 specifiers: - '@aws-ee/base-serverless-settings-helper': 'workspace:*' + '@aws-ee/base-serverless-settings-helper': workspace:* serverless: ^1.63.0 serverless-deployment-bucket: ^1.1.0 main/solution/environment-tools: devDependencies: - '@aws-ee/base-serverless-settings-helper': 'link:../../../addons/addon-base/packages/serverless-settings-helper' - '@aws-ee/s3-synchronizer': 'link:../../../addons/addon-raas-s3-copy/packages/s3-synchronizer' - '@aws-ee/serverless-go-build-tools': 'link:../../../addons/addon-base/packages/serverless-go-build-tools' + '@aws-ee/base-serverless-settings-helper': link:../../../addons/addon-base/packages/serverless-settings-helper + '@aws-ee/s3-synchronizer': link:../../../addons/addon-raas-s3-copy/packages/s3-synchronizer + '@aws-ee/serverless-go-build-tools': link:../../../addons/addon-base/packages/serverless-go-build-tools serverless: 1.67.3 specifiers: - '@aws-ee/base-serverless-settings-helper': 'workspace:*' - '@aws-ee/s3-synchronizer': 'workspace:*' - '@aws-ee/serverless-go-build-tools': 'workspace:*' + '@aws-ee/base-serverless-settings-helper': workspace:* + '@aws-ee/s3-synchronizer': workspace:* + '@aws-ee/serverless-go-build-tools': workspace:* serverless: ^1.63.0 main/solution/infrastructure: devDependencies: - '@aws-ee/base-serverless-settings-helper': 'link:../../../addons/addon-base/packages/serverless-settings-helper' + '@aws-ee/base-serverless-settings-helper': link:../../../addons/addon-base/packages/serverless-settings-helper serverless: 1.67.3 serverless-deployment-bucket: 1.1.1 specifiers: - '@aws-ee/base-serverless-settings-helper': 'workspace:*' + '@aws-ee/base-serverless-settings-helper': workspace:* serverless: ^1.63.0 serverless-deployment-bucket: ^1.1.0 main/solution/machine-images: devDependencies: - '@aws-ee/base-serverless-settings-helper': 'link:../../../addons/addon-base/packages/serverless-settings-helper' - '@aws-ee/serverless-packer': 'link:../../../addons/addon-base-raas/packages/serverless-packer' + '@aws-ee/base-serverless-settings-helper': link:../../../addons/addon-base/packages/serverless-settings-helper + '@aws-ee/serverless-packer': link:../../../addons/addon-base-raas/packages/serverless-packer serverless: 1.67.3 specifiers: - '@aws-ee/base-serverless-settings-helper': 'workspace:*' - '@aws-ee/serverless-packer': 'workspace:*' + '@aws-ee/base-serverless-settings-helper': workspace:* + '@aws-ee/serverless-packer': workspace:* serverless: ^1.63.0 main/solution/post-deployment: dependencies: - '@aws-ee/base-api-handler': 'link:../../../addons/addon-base-rest-api/packages/base-api-handler' - '@aws-ee/base-post-deployment': 'link:../../../addons/addon-base-post-deployment/packages/base-post-deployment' - '@aws-ee/base-raas-cfn-templates': 'link:../../../addons/addon-base-raas/packages/base-raas-cfn-templates' - '@aws-ee/base-raas-post-deployment': 'link:../../../addons/addon-base-raas/packages/base-raas-post-deployment' - '@aws-ee/base-raas-rest-api': 'link:../../../addons/addon-base-raas/packages/base-raas-rest-api' - '@aws-ee/base-raas-services': 'link:../../../addons/addon-base-raas/packages/base-raas-services' - '@aws-ee/base-raas-workflow-steps': 'link:../../../addons/addon-base-raas/packages/base-raas-workflow-steps' - '@aws-ee/base-raas-workflows': 'link:../../../addons/addon-base-raas/packages/base-raas-workflows' - '@aws-ee/base-services': 'link:../../../addons/addon-base/packages/services' - '@aws-ee/base-services-container': 'link:../../../addons/addon-base/packages/services-container' - '@aws-ee/base-workflow-api': 'link:../../../addons/addon-base-workflow-api/packages/base-worklfow-api' - '@aws-ee/base-workflow-core': 'link:../../../addons/addon-base-workflow/packages/base-workflow-core' - '@aws-ee/base-workflow-steps': 'link:../../../addons/addon-base-workflow/packages/base-worklfow-steps' - '@aws-ee/base-workflow-templates': 'link:../../../addons/addon-base-workflow/packages/base-workflow-templates' - '@aws-ee/cfn-stack-policy': 'link:../../../addons/addon-stack-policy/packages/stack-policy' - '@aws-ee/environment-sc-workflow-steps': 'link:../../../addons/addon-environment-sc-api/packages/environment-sc-workflow-steps' - '@aws-ee/environment-sc-workflows': 'link:../../../addons/addon-environment-sc-api/packages/environment-sc-workflows' - '@aws-ee/environment-type-mgmt-api': 'link:../../../addons/addon-environment-sc-api/packages/environment-type-mgmt-api' - '@aws-ee/environment-type-mgmt-services': 'link:../../../addons/addon-environment-sc-api/packages/environment-type-mgmt-services' - '@aws-ee/key-pair-mgmt-services': 'link:../../../addons/addon-key-pair-mgmt-api/packages/key-pair-mgmt-services' - '@aws-ee/user-id-upgrade-post-deployment': 'link:../../../addons/addon-user-id-upgrade/packages/user-id-upgrade-post-deployment' + '@aws-ee/base-api-handler': link:../../../addons/addon-base-rest-api/packages/base-api-handler + '@aws-ee/base-post-deployment': link:../../../addons/addon-base-post-deployment/packages/base-post-deployment + '@aws-ee/base-raas-cfn-templates': link:../../../addons/addon-base-raas/packages/base-raas-cfn-templates + '@aws-ee/base-raas-post-deployment': link:../../../addons/addon-base-raas/packages/base-raas-post-deployment + '@aws-ee/base-raas-rest-api': link:../../../addons/addon-base-raas/packages/base-raas-rest-api + '@aws-ee/base-raas-services': link:../../../addons/addon-base-raas/packages/base-raas-services + '@aws-ee/base-raas-workflow-steps': link:../../../addons/addon-base-raas/packages/base-raas-workflow-steps + '@aws-ee/base-raas-workflows': link:../../../addons/addon-base-raas/packages/base-raas-workflows + '@aws-ee/base-services': link:../../../addons/addon-base/packages/services + '@aws-ee/base-services-container': link:../../../addons/addon-base/packages/services-container + '@aws-ee/base-workflow-api': link:../../../addons/addon-base-workflow-api/packages/base-worklfow-api + '@aws-ee/base-workflow-core': link:../../../addons/addon-base-workflow/packages/base-workflow-core + '@aws-ee/base-workflow-steps': link:../../../addons/addon-base-workflow/packages/base-worklfow-steps + '@aws-ee/base-workflow-templates': link:../../../addons/addon-base-workflow/packages/base-workflow-templates + '@aws-ee/cfn-stack-policy': link:../../../addons/addon-stack-policy/packages/stack-policy + '@aws-ee/environment-sc-workflow-steps': link:../../../addons/addon-environment-sc-api/packages/environment-sc-workflow-steps + '@aws-ee/environment-sc-workflows': link:../../../addons/addon-environment-sc-api/packages/environment-sc-workflows + '@aws-ee/environment-type-mgmt-api': link:../../../addons/addon-environment-sc-api/packages/environment-type-mgmt-api + '@aws-ee/environment-type-mgmt-services': link:../../../addons/addon-environment-sc-api/packages/environment-type-mgmt-services + '@aws-ee/key-pair-mgmt-services': link:../../../addons/addon-key-pair-mgmt-api/packages/key-pair-mgmt-services + '@aws-ee/user-id-upgrade-post-deployment': link:../../../addons/addon-user-id-upgrade/packages/user-id-upgrade-post-deployment aws-sdk: 2.721.0 lodash: 4.17.21 - services: 'link:../../packages/services' + services: link:../../packages/services devDependencies: - '@aws-ee/base-serverless-backend-tools': 'link:../../../addons/addon-base/packages/serverless-backend-tools' - '@aws-ee/base-serverless-settings-helper': 'link:../../../addons/addon-base/packages/serverless-settings-helper' + '@aws-ee/base-serverless-backend-tools': link:../../../addons/addon-base/packages/serverless-backend-tools + '@aws-ee/base-serverless-settings-helper': link:../../../addons/addon-base/packages/serverless-settings-helper '@babel/core': 7.9.0 '@babel/preset-env': 7.9.5_@babel+core@7.9.0 babel-loader: 8.1.0_@babel+core@7.9.0+webpack@4.42.1 @@ -2375,29 +2377,29 @@ importers: source-map-support: 0.5.16 webpack: 4.42.1 specifiers: - '@aws-ee/base-api-handler': 'workspace:*' - '@aws-ee/base-post-deployment': 'workspace:*' - '@aws-ee/base-raas-cfn-templates': 'workspace:*' - '@aws-ee/base-raas-post-deployment': 'workspace:*' - '@aws-ee/base-raas-rest-api': 'workspace:*' - '@aws-ee/base-raas-services': 'workspace:*' - '@aws-ee/base-raas-workflow-steps': 'workspace:*' - '@aws-ee/base-raas-workflows': 'workspace:*' - '@aws-ee/base-serverless-backend-tools': 'workspace:*' - '@aws-ee/base-serverless-settings-helper': 'workspace:*' - '@aws-ee/base-services': 'workspace:*' - '@aws-ee/base-services-container': 'workspace:*' - '@aws-ee/base-workflow-api': 'workspace:*' - '@aws-ee/base-workflow-core': 'workspace:*' - '@aws-ee/base-workflow-steps': 'workspace:*' - '@aws-ee/base-workflow-templates': 'workspace:*' - '@aws-ee/cfn-stack-policy': 'workspace:*' - '@aws-ee/environment-sc-workflow-steps': 'workspace:*' - '@aws-ee/environment-sc-workflows': 'workspace:*' - '@aws-ee/environment-type-mgmt-api': 'workspace:*' - '@aws-ee/environment-type-mgmt-services': 'workspace:*' - '@aws-ee/key-pair-mgmt-services': 'workspace:*' - '@aws-ee/user-id-upgrade-post-deployment': 'workspace:*' + '@aws-ee/base-api-handler': workspace:* + '@aws-ee/base-post-deployment': workspace:* + '@aws-ee/base-raas-cfn-templates': workspace:* + '@aws-ee/base-raas-post-deployment': workspace:* + '@aws-ee/base-raas-rest-api': workspace:* + '@aws-ee/base-raas-services': workspace:* + '@aws-ee/base-raas-workflow-steps': workspace:* + '@aws-ee/base-raas-workflows': workspace:* + '@aws-ee/base-serverless-backend-tools': workspace:* + '@aws-ee/base-serverless-settings-helper': workspace:* + '@aws-ee/base-services': workspace:* + '@aws-ee/base-services-container': workspace:* + '@aws-ee/base-workflow-api': workspace:* + '@aws-ee/base-workflow-core': workspace:* + '@aws-ee/base-workflow-steps': workspace:* + '@aws-ee/base-workflow-templates': workspace:* + '@aws-ee/cfn-stack-policy': workspace:* + '@aws-ee/environment-sc-workflow-steps': workspace:* + '@aws-ee/environment-sc-workflows': workspace:* + '@aws-ee/environment-type-mgmt-api': workspace:* + '@aws-ee/environment-type-mgmt-services': workspace:* + '@aws-ee/key-pair-mgmt-services': workspace:* + '@aws-ee/user-id-upgrade-post-deployment': workspace:* '@babel/core': ^7.8.4 '@babel/preset-env': ^7.8.4 aws-sdk: ^2.713.0 @@ -2423,26 +2425,26 @@ importers: serverless-plugin-ifelse: ^1.0.7 serverless-s3-sync: ^1.10.2 serverless-webpack: ^5.3.3 - services: 'workspace:*' + services: workspace:* source-map-support: ^0.5.16 webpack: ^4.41.5 main/solution/pre-deployment: dependencies: - '@aws-ee/base-pre-deployment': 'link:../../../addons/addon-base-pre-deployment/packages/base-pre-deployment' - '@aws-ee/base-raas-post-deployment': 'link:../../../addons/addon-base-raas/packages/base-raas-post-deployment' - '@aws-ee/base-raas-rest-api': 'link:../../../addons/addon-base-raas/packages/base-raas-rest-api' - '@aws-ee/base-raas-services': 'link:../../../addons/addon-base-raas/packages/base-raas-services' - '@aws-ee/base-services': 'link:../../../addons/addon-base/packages/services' - '@aws-ee/base-services-container': 'link:../../../addons/addon-base/packages/services-container' - '@aws-ee/base-workflow-core': 'link:../../../addons/addon-base-workflow/packages/base-workflow-core' - '@aws-ee/environment-type-mgmt-services': 'link:../../../addons/addon-environment-sc-api/packages/environment-type-mgmt-services' - '@aws-ee/key-pair-mgmt-services': 'link:../../../addons/addon-key-pair-mgmt-api/packages/key-pair-mgmt-services' + '@aws-ee/base-pre-deployment': link:../../../addons/addon-base-pre-deployment/packages/base-pre-deployment + '@aws-ee/base-raas-post-deployment': link:../../../addons/addon-base-raas/packages/base-raas-post-deployment + '@aws-ee/base-raas-rest-api': link:../../../addons/addon-base-raas/packages/base-raas-rest-api + '@aws-ee/base-raas-services': link:../../../addons/addon-base-raas/packages/base-raas-services + '@aws-ee/base-services': link:../../../addons/addon-base/packages/services + '@aws-ee/base-services-container': link:../../../addons/addon-base/packages/services-container + '@aws-ee/base-workflow-core': link:../../../addons/addon-base-workflow/packages/base-workflow-core + '@aws-ee/environment-type-mgmt-services': link:../../../addons/addon-environment-sc-api/packages/environment-type-mgmt-services + '@aws-ee/key-pair-mgmt-services': link:../../../addons/addon-key-pair-mgmt-api/packages/key-pair-mgmt-services aws-sdk: 2.847.0 lodash: 4.17.21 - services: 'link:../../packages/services' + services: link:../../packages/services devDependencies: - '@aws-ee/base-serverless-backend-tools': 'link:../../../addons/addon-base/packages/serverless-backend-tools' - '@aws-ee/base-serverless-settings-helper': 'link:../../../addons/addon-base/packages/serverless-settings-helper' + '@aws-ee/base-serverless-backend-tools': link:../../../addons/addon-base/packages/serverless-backend-tools + '@aws-ee/base-serverless-settings-helper': link:../../../addons/addon-base/packages/serverless-settings-helper '@babel/core': 7.12.9 '@babel/preset-env': 7.12.7_@babel+core@7.12.9 babel-loader: 8.1.0_dd01e8cbc2bbf2b3fa238148aaaef39d @@ -2469,17 +2471,17 @@ importers: source-map-support: 0.5.19 webpack: 4.42.1 specifiers: - '@aws-ee/base-pre-deployment': 'workspace:*' - '@aws-ee/base-raas-post-deployment': 'workspace:*' - '@aws-ee/base-raas-rest-api': 'workspace:*' - '@aws-ee/base-raas-services': 'workspace:*' - '@aws-ee/base-serverless-backend-tools': 'workspace:*' - '@aws-ee/base-serverless-settings-helper': 'workspace:*' - '@aws-ee/base-services': 'workspace:*' - '@aws-ee/base-services-container': 'workspace:*' - '@aws-ee/base-workflow-core': 'workspace:*' - '@aws-ee/environment-type-mgmt-services': 'workspace:*' - '@aws-ee/key-pair-mgmt-services': 'workspace:*' + '@aws-ee/base-pre-deployment': workspace:* + '@aws-ee/base-raas-post-deployment': workspace:* + '@aws-ee/base-raas-rest-api': workspace:* + '@aws-ee/base-raas-services': workspace:* + '@aws-ee/base-serverless-backend-tools': workspace:* + '@aws-ee/base-serverless-settings-helper': workspace:* + '@aws-ee/base-services': workspace:* + '@aws-ee/base-services-container': workspace:* + '@aws-ee/base-workflow-core': workspace:* + '@aws-ee/environment-type-mgmt-services': workspace:* + '@aws-ee/key-pair-mgmt-services': workspace:* '@babel/core': ^7.8.4 '@babel/preset-env': ^7.8.4 aws-sdk: ^2.713.0 @@ -2505,25 +2507,25 @@ importers: serverless-plugin-ifelse: ^1.0.7 serverless-s3-sync: ^1.10.2 serverless-webpack: ^5.3.3 - services: 'workspace:*' + services: workspace:* source-map-support: ^0.5.16 webpack: ^4.41.5 main/solution/prepare-master-acc: devDependencies: - '@aws-ee/base-serverless-settings-helper': 'link:../../../addons/addon-base/packages/serverless-settings-helper' + '@aws-ee/base-serverless-settings-helper': link:../../../addons/addon-base/packages/serverless-settings-helper serverless: 1.67.3 serverless-deployment-bucket: 1.1.1 specifiers: - '@aws-ee/base-serverless-settings-helper': 'workspace:*' + '@aws-ee/base-serverless-settings-helper': workspace:* serverless: ^1.63.0 serverless-deployment-bucket: ^1.1.0 main/solution/ui: dependencies: - '@aws-ee/base-raas-ui': 'link:../../../addons/addon-base-raas-ui/packages/base-raas-ui' - '@aws-ee/base-ui': 'link:../../../addons/addon-base-ui/packages/base-ui' - '@aws-ee/base-workflow-ui': 'link:../../../addons/addon-base-workflow-ui/packages/base-workflow-ui' - '@aws-ee/environment-type-mgmt-ui': 'link:../../../addons/addon-environment-sc-ui/packages/environment-type-mgmt-ui' - '@aws-ee/key-pair-mgmt-ui': 'link:../../../addons/addon-key-pair-mgmt-ui/packages/key-pair-mgmt-ui' + '@aws-ee/base-raas-ui': link:../../../addons/addon-base-raas-ui/packages/base-raas-ui + '@aws-ee/base-ui': link:../../../addons/addon-base-ui/packages/base-ui + '@aws-ee/base-workflow-ui': link:../../../addons/addon-base-workflow-ui/packages/base-workflow-ui + '@aws-ee/environment-type-mgmt-ui': link:../../../addons/addon-environment-sc-ui/packages/environment-type-mgmt-ui + '@aws-ee/key-pair-mgmt-ui': link:../../../addons/addon-key-pair-mgmt-ui/packages/key-pair-mgmt-ui animate.css: 3.7.0 aws-sdk: 2.802.0 classnames: 2.2.6 @@ -2543,8 +2545,8 @@ importers: typeface-lato: 0.0.75 uuid: 3.4.0 devDependencies: - '@aws-ee/base-serverless-settings-helper': 'link:../../../addons/addon-base/packages/serverless-settings-helper' - '@aws-ee/base-serverless-ui-tools': 'link:../../../addons/addon-base-ui/packages/serverless-ui-tools' + '@aws-ee/base-serverless-settings-helper': link:../../../addons/addon-base/packages/serverless-settings-helper + '@aws-ee/base-serverless-ui-tools': link:../../../addons/addon-base-ui/packages/serverless-ui-tools babel-eslint: 10.1.0_eslint@6.8.0 eslint: 6.8.0 eslint-config-airbnb: 18.2.1_89debf8fda32fbe99f1ba8ab582a8be5 @@ -2565,13 +2567,13 @@ importers: serverless: 1.83.2 serverless-deployment-bucket: 1.3.0 specifiers: - '@aws-ee/base-raas-ui': 'workspace:*' - '@aws-ee/base-serverless-settings-helper': 'workspace:*' - '@aws-ee/base-serverless-ui-tools': 'workspace:*' - '@aws-ee/base-ui': 'workspace:*' - '@aws-ee/base-workflow-ui': 'workspace:*' - '@aws-ee/environment-type-mgmt-ui': 'workspace:*' - '@aws-ee/key-pair-mgmt-ui': 'workspace:*' + '@aws-ee/base-raas-ui': workspace:* + '@aws-ee/base-serverless-settings-helper': workspace:* + '@aws-ee/base-serverless-ui-tools': workspace:* + '@aws-ee/base-ui': workspace:* + '@aws-ee/base-workflow-ui': workspace:* + '@aws-ee/environment-type-mgmt-ui': workspace:* + '@aws-ee/key-pair-mgmt-ui': workspace:* animate.css: 3.7.0 aws-sdk: ^2.802.0 babel-eslint: ^10.1.0 @@ -6953,7 +6955,7 @@ packages: /@types/chalk/2.2.0: dependencies: chalk: 4.1.0 - deprecated: 'This is a stub types definition for chalk (https://github.com/chalk/chalk). chalk provides its own type definitions, so you don''t need @types/chalk installed!' + deprecated: This is a stub types definition for chalk (https://github.com/chalk/chalk). chalk provides its own type definitions, so you don't need @types/chalk installed! dev: true resolution: integrity: sha512-1zzPV9FDe1I/WHhRkf9SNgqtRJWZqrBWgu7JGveuHmmyR9CnAPCie2N/x+iHrgnpYBIcCJWHBoMRv2TRWktsvw== @@ -8454,7 +8456,7 @@ packages: /axios/0.19.2: dependencies: follow-redirects: 1.5.10 - deprecated: 'Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410' + deprecated: Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410 dev: true resolution: integrity: sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA== @@ -10217,13 +10219,13 @@ packages: resolution: integrity: sha512-fRjhg3NeouotRoIV0L1FdchA6CK7ZD+lyINyMoz19SyV+ROpC4noS1xItWHFtwZdlqfMfVPJEyEGdfri2bD1pA== /core-js/2.6.11: - deprecated: 'core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.' + deprecated: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3. dev: false requiresBuild: true resolution: integrity: sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg== /core-js/2.6.12: - deprecated: 'core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.' + deprecated: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3. dev: true requiresBuild: true resolution: @@ -13203,7 +13205,7 @@ packages: /flat/5.0.0: dependencies: is-buffer: 2.0.4 - deprecated: 'Fixed a prototype pollution security issue in 5.0.0, please upgrade to ^5.0.1.' + deprecated: Fixed a prototype pollution security issue in 5.0.0, please upgrade to ^5.0.1. dev: true hasBin: true resolution: @@ -19032,7 +19034,7 @@ packages: resolution: integrity: sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg== /popper.js/1.16.1: - deprecated: 'You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1' + deprecated: You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1 dev: false resolution: integrity: sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ== @@ -21183,7 +21185,7 @@ packages: request-promise-core: 1.1.4_request@2.88.2 stealthy-require: 1.1.1 tough-cookie: 2.5.0 - deprecated: 'request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142' + deprecated: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142 dev: true engines: node: '>=0.12.0' @@ -21213,7 +21215,7 @@ packages: tough-cookie: 2.5.0 tunnel-agent: 0.6.0 uuid: 3.4.0 - deprecated: 'request has been deprecated, see https://github.com/request/request/issues/3142' + deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 engines: node: '>= 6' resolution: @@ -21323,7 +21325,7 @@ packages: resolution: integrity: sha512-QEb4A76c8Mi7I3xNKXlRKQSlLBwjUV/ULFMP+G7n3/7tJZ8MG5wsZ3ucxP1Jz8Vevn6fnJsxDx9cIls+utGzPQ== /resolve-url/0.2.1: - deprecated: 'https://github.com/lydell/resolve-url#deprecated' + deprecated: https://github.com/lydell/resolve-url#deprecated dev: true resolution: integrity: sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= @@ -21533,7 +21535,7 @@ packages: micromatch: 3.1.10 minimist: 1.2.5 walker: 1.0.7 - deprecated: 'some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added' + deprecated: some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added dev: true engines: node: 6.* || 8.* || >= 10.* @@ -23763,7 +23765,7 @@ packages: resolution: integrity: sha512-s/UIq9ap4JPZ7H1EB5ULo/aOUbWqfDi7FKzMC2Nz+0Si8GiT1rIEaprt8hy3Vy2Ex2aJPpOQv4P4DuOZ+K1c6w== /urix/0.1.0: - deprecated: 'Please see https://github.com/lydell/urix#deprecated' + deprecated: Please see https://github.com/lydell/urix#deprecated dev: true resolution: integrity: sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= @@ -23901,12 +23903,12 @@ packages: resolution: integrity: sha1-Zyj8BFnEUNeWqZwxg3VpvfZy1yg= /uuid/3.3.2: - deprecated: 'Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.' + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. hasBin: true resolution: integrity: sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== /uuid/3.4.0: - deprecated: 'Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.' + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. hasBin: true resolution: integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== From 7c84e8d425e0ac442aa5349732e07fd4b13b0653 Mon Sep 17 00:00:00 2001 From: SanketD92 Date: Tue, 24 Aug 2021 14:07:09 -0400 Subject: [PATCH 2/4] code cleanup --- .../__tests__/aws-account-mgmt-plugin.test.js | 10 +- .../lib/plugins/aws-account-mgmt-plugin.js | 2 +- .../connections/create-url-connection.test.js | 103 ++++++++++++++++++ 3 files changed, 109 insertions(+), 6 deletions(-) create mode 100644 main/integration-tests/__test__/api-tests/appstream-egress-enabled/workspace-service-catalog/connections/create-url-connection.test.js diff --git a/addons/addon-base-raas-appstream/packages/base-raas-appstream-services/lib/plugins/__tests__/aws-account-mgmt-plugin.test.js b/addons/addon-base-raas-appstream/packages/base-raas-appstream-services/lib/plugins/__tests__/aws-account-mgmt-plugin.test.js index aef8065241..6ff9d41544 100644 --- a/addons/addon-base-raas-appstream/packages/base-raas-appstream-services/lib/plugins/__tests__/aws-account-mgmt-plugin.test.js +++ b/addons/addon-base-raas-appstream/packages/base-raas-appstream-services/lib/plugins/__tests__/aws-account-mgmt-plugin.test.js @@ -61,7 +61,7 @@ describe('awsAccountMgmtPlugin', () => { const expected = []; // OPERATE - const retVal = await plugin.getActiveNonAppStreamEnvs({ awsAccountId }, { requestContext, container }); + const retVal = await plugin.getActiveNonAppStreamEnvs({ awsAccountId, requestContext, container }); // CHECK expect(retVal).toEqual(expected); @@ -91,10 +91,10 @@ describe('awsAccountMgmtPlugin', () => { return indexes; }); - const expected = [{ id: 'env2', indexId: 'index1', isAppStreamConfigured: false, status: 'COMPLETED' }]; + const expected = ['env2']; // OPERATE - const retVal = await plugin.getActiveNonAppStreamEnvs({ awsAccountId }, { requestContext, container }); + const retVal = await plugin.getActiveNonAppStreamEnvs({ awsAccountId, requestContext, container }); // CHECK expect(retVal).toEqual(expected); @@ -126,7 +126,7 @@ describe('awsAccountMgmtPlugin', () => { const expected = []; // OPERATE - const retVal = await plugin.getActiveNonAppStreamEnvs({ awsAccountId }, { requestContext, container }); + const retVal = await plugin.getActiveNonAppStreamEnvs({ awsAccountId, requestContext, container }); // CHECK expect(retVal).toEqual(expected); @@ -156,7 +156,7 @@ describe('awsAccountMgmtPlugin', () => { const expected = []; // OPERATE - const retVal = await plugin.getActiveNonAppStreamEnvs({ awsAccountId }, { requestContext, container }); + const retVal = await plugin.getActiveNonAppStreamEnvs({ awsAccountId, requestContext, container }); // CHECK expect(retVal).toEqual(expected); diff --git a/addons/addon-base-raas-appstream/packages/base-raas-appstream-services/lib/plugins/aws-account-mgmt-plugin.js b/addons/addon-base-raas-appstream/packages/base-raas-appstream-services/lib/plugins/aws-account-mgmt-plugin.js index 22520252d1..5fc27b7e4c 100644 --- a/addons/addon-base-raas-appstream/packages/base-raas-appstream-services/lib/plugins/aws-account-mgmt-plugin.js +++ b/addons/addon-base-raas-appstream/packages/base-raas-appstream-services/lib/plugins/aws-account-mgmt-plugin.js @@ -37,7 +37,7 @@ async function getActiveNonAppStreamEnvs(payload) { const indexes = await indexesService.list(requestContext); const indexesOfInterest = _.filter(indexes, index => index.awsAccountId === awsAccountId); - if (_.isEmpty(indexesIdsOfInterest)) return []; + if (_.isEmpty(indexesOfInterest)) return []; const indexesIdsOfInterest = _.map(indexesOfInterest, index => { return index.id; }); diff --git a/main/integration-tests/__test__/api-tests/appstream-egress-enabled/workspace-service-catalog/connections/create-url-connection.test.js b/main/integration-tests/__test__/api-tests/appstream-egress-enabled/workspace-service-catalog/connections/create-url-connection.test.js new file mode 100644 index 0000000000..56eb9d84a9 --- /dev/null +++ b/main/integration-tests/__test__/api-tests/appstream-egress-enabled/workspace-service-catalog/connections/create-url-connection.test.js @@ -0,0 +1,103 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +const fetch = require('node-fetch'); +const { runSetup } = require('../../../../../support/setup'); + +describe('Create URL scenarios', () => { + let setup; + let adminSession; + + beforeAll(async () => { + setup = await runSetup(); + adminSession = await setup.defaultAdminSession(); + }); + + afterAll(async () => { + await setup.cleanup(); + }); + + // These tests assume workspaces have already been created in the SWB environment + // TODO: Create a new workspace during these tests, and terminate once done (dependent on GALI-1093) + describe('Create AppStream URL', () => { + it('should return AppStream URL SageMaker', async () => { + const envId = '36f22de5-fefb-4f62-8ab4-e99ac4387ad4'; + const connectionId = 'id-0'; + const applicationName = 'Firefox'; + const sagemakerUrlPrefix = 'https://basicnotebookinstance'; + const preAuthStreamingUrl = 'https://appstream2.us-east-1.aws.amazon.com/authenticate?parameters='; + const redirectStreamingUrl = `appstream2.us-east-1.aws.amazon.com/#/streaming/?reference=fleet%2Finitial-stack-1629237287942-ServiceWorkbenchFleet&app=${applicationName}`; + + const retVal = await adminSession.resources.workspaceServiceCatalogs + .workspaceServiceCatalog(envId) + .connections() + .connection(connectionId) + .createUrl(); + + const response = await fetch(retVal.url); + const redirectResponse = response[Object.getOwnPropertySymbols(response)[1]]; + + expect(retVal.appstreamDestinationUrl).toContain(sagemakerUrlPrefix); + expect(retVal.id).toEqual(connectionId); + expect(retVal.url).toContain(preAuthStreamingUrl); + expect(redirectResponse.url).toContain(redirectStreamingUrl); + }); + + // Simplify repetitive Jest test cases with it.each here + const testContexts = [ + [ + 'Windows', + { + envId: '5360d995-fa4b-44eb-b67d-a0586886e1a3', + connectionId: 'id-1', + applicationName: 'MicrosoftRemoteDesktop', + preAuthStreamingUrl: 'https://appstream2.us-east-1.aws.amazon.com/authenticate?parameters=', + redirectStreamingUrl: + 'appstream2.us-east-1.aws.amazon.com/#/streaming/?reference=fleet%2Finitial-stack-1629237287942-ServiceWorkbenchFleet&app=', + expected: { scheme: 'rdp', name: 'RDP to EC2 Windows Instance' }, + }, + ], + [ + 'EC2 Linux', + { + envId: '4ceb23c8-c80c-4ded-b948-c63b21ba5c72', + connectionId: 'id-1', + applicationName: 'EC2Linux', + preAuthStreamingUrl: 'https://appstream2.us-east-1.aws.amazon.com/authenticate?parameters=', + redirectStreamingUrl: + 'appstream2.us-east-1.aws.amazon.com/#/streaming/?reference=fleet%2Finitial-stack-1629237287942-ServiceWorkbenchFleet&app=', + expected: { scheme: 'ssh', name: 'SSH to Main EC2 instance' }, + }, + ], + ]; + + it.each(testContexts)('should return AppStream URL %s', async (_, testContext) => { + const retVal = await adminSession.resources.workspaceServiceCatalogs + .workspaceServiceCatalog(testContext.envId) + .connections() + .connection(testContext.connectionId) + .createUrl(); + + const response = await fetch(retVal.url); + const redirectResponse = response[Object.getOwnPropertySymbols(response)[1]]; + + expect(retVal.scheme).toContain(testContext.expected.scheme); + expect(retVal.name).toContain(testContext.expected.name); + expect(retVal.id).toEqual(testContext.connectionId); + expect(retVal.url).toContain(testContext.preAuthStreamingUrl); + expect(redirectResponse.url).toContain(`${testContext.redirectStreamingUrl}${testContext.applicationName}`); + }); + }); +}); From 410360a5d1f8eaf8bd194d1438811df1e8031d89 Mon Sep 17 00:00:00 2001 From: SanketD92 Date: Wed, 25 Aug 2021 11:39:02 -0400 Subject: [PATCH 3/4] fix: changes per review --- .../connections/create-url-connection.test.js | 75 ++++++++++++++----- main/integration-tests/package.json | 1 - pnpm-lock.yaml | 2 - 3 files changed, 57 insertions(+), 21 deletions(-) diff --git a/main/integration-tests/__test__/api-tests/appstream-egress-enabled/workspace-service-catalog/connections/create-url-connection.test.js b/main/integration-tests/__test__/api-tests/appstream-egress-enabled/workspace-service-catalog/connections/create-url-connection.test.js index 56eb9d84a9..a11ee45e3e 100644 --- a/main/integration-tests/__test__/api-tests/appstream-egress-enabled/workspace-service-catalog/connections/create-url-connection.test.js +++ b/main/integration-tests/__test__/api-tests/appstream-egress-enabled/workspace-service-catalog/connections/create-url-connection.test.js @@ -13,7 +13,7 @@ * permissions and limitations under the License. */ -const fetch = require('node-fetch'); +const axios = require('axios').default; const { runSetup } = require('../../../../../support/setup'); describe('Create URL scenarios', () => { @@ -32,7 +32,8 @@ describe('Create URL scenarios', () => { // These tests assume workspaces have already been created in the SWB environment // TODO: Create a new workspace during these tests, and terminate once done (dependent on GALI-1093) describe('Create AppStream URL', () => { - it('should return AppStream URL SageMaker', async () => { + it('should return AppStream URL: SageMaker', async () => { + // BUILD const envId = '36f22de5-fefb-4f62-8ab4-e99ac4387ad4'; const connectionId = 'id-0'; const applicationName = 'Firefox'; @@ -40,19 +41,38 @@ describe('Create URL scenarios', () => { const preAuthStreamingUrl = 'https://appstream2.us-east-1.aws.amazon.com/authenticate?parameters='; const redirectStreamingUrl = `appstream2.us-east-1.aws.amazon.com/#/streaming/?reference=fleet%2Finitial-stack-1629237287942-ServiceWorkbenchFleet&app=${applicationName}`; - const retVal = await adminSession.resources.workspaceServiceCatalogs + // OPERATE + const connectionUrlResponse = await adminSession.resources.workspaceServiceCatalogs .workspaceServiceCatalog(envId) .connections() .connection(connectionId) .createUrl(); - const response = await fetch(retVal.url); - const redirectResponse = response[Object.getOwnPropertySymbols(response)[1]]; + // CHECK + expect(connectionUrlResponse.appstreamDestinationUrl).toContain(sagemakerUrlPrefix); + expect(connectionUrlResponse.id).toEqual(connectionId); + expect(connectionUrlResponse.url).toContain(preAuthStreamingUrl); - expect(retVal.appstreamDestinationUrl).toContain(sagemakerUrlPrefix); - expect(retVal.id).toEqual(connectionId); - expect(retVal.url).toContain(preAuthStreamingUrl); - expect(redirectResponse.url).toContain(redirectStreamingUrl); + const token = connectionUrlResponse.url.split('parameters=')[1]; + const headers = { + Authority: 'appstream2.us-east-1.aws.amazon.com', + Authorization: token, + }; + + // OPERATE + const axiosClient = axios.create({ + baseURL: connectionUrlResponse.url, + headers, + }); + + try { + await axiosClient.get(connectionUrlResponse.url, { + withCredentials: true, + }); + } catch (e) { + // CHECK + expect(e.request.res.responseUrl).toContain(redirectStreamingUrl); + } }); // Simplify repetitive Jest test cases with it.each here @@ -83,21 +103,40 @@ describe('Create URL scenarios', () => { ], ]; - it.each(testContexts)('should return AppStream URL %s', async (_, testContext) => { - const retVal = await adminSession.resources.workspaceServiceCatalogs + it.each(testContexts)('should return AppStream URL: %s', async (_, testContext) => { + // OPERATE + const connectionUrlResponse = await adminSession.resources.workspaceServiceCatalogs .workspaceServiceCatalog(testContext.envId) .connections() .connection(testContext.connectionId) .createUrl(); - const response = await fetch(retVal.url); - const redirectResponse = response[Object.getOwnPropertySymbols(response)[1]]; + // CHECK + expect(connectionUrlResponse.scheme).toContain(testContext.expected.scheme); + expect(connectionUrlResponse.name).toContain(testContext.expected.name); + expect(connectionUrlResponse.id).toEqual(testContext.connectionId); + expect(connectionUrlResponse.url).toContain(testContext.preAuthStreamingUrl); + + const token = connectionUrlResponse.url.split('parameters=')[1]; + const headers = { + Authority: 'appstream2.us-east-1.aws.amazon.com', + Authorization: token, + }; + + // OPERATE + const axiosClient = axios.create({ + baseURL: connectionUrlResponse.url, + headers, + }); - expect(retVal.scheme).toContain(testContext.expected.scheme); - expect(retVal.name).toContain(testContext.expected.name); - expect(retVal.id).toEqual(testContext.connectionId); - expect(retVal.url).toContain(testContext.preAuthStreamingUrl); - expect(redirectResponse.url).toContain(`${testContext.redirectStreamingUrl}${testContext.applicationName}`); + try { + await axiosClient.get(connectionUrlResponse.url, { + withCredentials: true, + }); + } catch (e) { + // CHECK + expect(e.request.res.responseUrl).toContain(testContext.redirectStreamingUrl); + } }); }); }); diff --git a/main/integration-tests/package.json b/main/integration-tests/package.json index 413fbd6d48..794c879e99 100644 --- a/main/integration-tests/package.json +++ b/main/integration-tests/package.json @@ -44,7 +44,6 @@ "eslint-plugin-jsx-a11y": "^6.2.3", "eslint-plugin-prettier": "^3.1.2", "husky": "^3.1.0", - "node-fetch": "^2.6.0", "jest": "^26.6.3", "jest-circus": "^26.6.3", "jest-junit": "^10.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7f99281090..07b59303bd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2046,7 +2046,6 @@ importers: jest: 26.6.3 jest-circus: 26.6.3 jest-junit: 10.0.0 - node-fetch: 2.6.1 prettier: 1.19.1 pretty-quick: 1.11.1_prettier@1.19.1 request: 2.88.2 @@ -2072,7 +2071,6 @@ importers: jest-junit: ^10.0.0 js-yaml: ^4.0.0 lodash: ^4.17.21 - node-fetch: ^2.6.0 prettier: ^1.19.1 pretty-quick: ^1.11.1 request: ^2.88.0 From 431940f49d39ba1589e6b5ad2389233e60091c40 Mon Sep 17 00:00:00 2001 From: SanketD92 Date: Wed, 25 Aug 2021 14:46:02 -0400 Subject: [PATCH 4/4] code cleanup --- .../connections/create-url-connection.test.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/main/integration-tests/__test__/api-tests/appstream-egress-enabled/workspace-service-catalog/connections/create-url-connection.test.js b/main/integration-tests/__test__/api-tests/appstream-egress-enabled/workspace-service-catalog/connections/create-url-connection.test.js index a11ee45e3e..97b03cda18 100644 --- a/main/integration-tests/__test__/api-tests/appstream-egress-enabled/workspace-service-catalog/connections/create-url-connection.test.js +++ b/main/integration-tests/__test__/api-tests/appstream-egress-enabled/workspace-service-catalog/connections/create-url-connection.test.js @@ -65,14 +65,17 @@ describe('Create URL scenarios', () => { headers, }); + let redirectUrl; try { await axiosClient.get(connectionUrlResponse.url, { withCredentials: true, }); } catch (e) { - // CHECK - expect(e.request.res.responseUrl).toContain(redirectStreamingUrl); + redirectUrl = e.request.res.responseUrl; } + + // CHECK + expect(redirectUrl).toContain(redirectStreamingUrl); }); // Simplify repetitive Jest test cases with it.each here @@ -129,14 +132,17 @@ describe('Create URL scenarios', () => { headers, }); + let redirectUrl; try { await axiosClient.get(connectionUrlResponse.url, { withCredentials: true, }); } catch (e) { - // CHECK - expect(e.request.res.responseUrl).toContain(testContext.redirectStreamingUrl); + redirectUrl = e.request.res.responseUrl; } + + // CHECK + expect(redirectUrl).toContain(testContext.redirectStreamingUrl); }); }); });