diff --git a/package.json b/package.json index f65d4de7a..84a7bea80 100644 --- a/package.json +++ b/package.json @@ -34,29 +34,23 @@ "coverage": "run-s coverage-*", "report-coverage": "nyc report --extension .ts --check-coverage -r html", "test": "npm run build && npm run coverage", - "integration-browser-decrypt": "npm run build; integration-browser decrypt -v $npm_package_config_localTestVectors --karma -c cpu", - "integration-browser-encrypt": "npm run build; integration-browser encrypt -m $npm_package_config_encryptManifestList -k $npm_package_config_encryptKeyManifest -o $npm_package_config_decryptOracle --karma -c cpu", + "integration-browser-decrypt": "npm run build && . util/integration-test-vectors.sh && integration-browser decrypt -v \"$LOCAL_TEST_VECTORS\" --karma -c cpu", + "integration-browser-encrypt": "npm run build && . util/integration-test-vectors.sh && integration-browser encrypt -m \"$ENCRYPT_MANIFEST_LIST\" -k \"$ENCRYPT_KEY_MANIFEST\" -o \"$DECRYPT_ORACLE\" --karma -c cpu", "browser-integration": "run-s integration-browser-*", - "integration-node-decrypt": "npm run build; integration-node decrypt -v $npm_package_config_localTestVectors -c cpu", - "integration-node-decrypt-legacy": "node --security-revert=CVE-2023-46809 ./modules/integration-node/build/main/src/cli.js decrypt -v $npm_package_config_localTestVectors -c cpu --CVE-2023-46809", - "integration-node-encrypt": "npm run build; integration-node encrypt -m $npm_package_config_encryptManifestList -k $npm_package_config_encryptKeyManifest -o $npm_package_config_decryptOracle -c cpu", + "integration-node-decrypt": "npm run build && . util/integration-test-vectors.sh && integration-node decrypt -v \"$LOCAL_TEST_VECTORS\" -c cpu", + "integration-node-decrypt-legacy": ". util/integration-test-vectors.sh && node --security-revert=CVE-2023-46809 ./modules/integration-node/build/main/src/cli.js decrypt -v \"$LOCAL_TEST_VECTORS\" -c cpu --CVE-2023-46809", + "integration-node-encrypt": "npm run build && . util/integration-test-vectors.sh && integration-node encrypt -m \"$ENCRYPT_MANIFEST_LIST\" -k \"$ENCRYPT_KEY_MANIFEST\" -o \"$DECRYPT_ORACLE\" -c cpu", "node-integration": "run-s integration-node-*", "integration": "run-s integration-*", "verdaccio": "run-s verdaccio-*", "verdaccio-publish": "./util/local_verdaccio_publish", - "verdaccio-browser-decrypt": "./util/npx_verdaccio @aws-crypto/integration-browser decrypt -v $PWD/$npm_package_config_localTestVectors --karma -c cpu", - "verdaccio-browser-encrypt": "./util/npx_verdaccio @aws-crypto/integration-browser encrypt -m $npm_package_config_encryptManifestList -k $npm_package_config_encryptKeyManifest -o $npm_package_config_decryptOracle --karma -c cpu", - "verdaccio-node-decrypt": "./util/npx_verdaccio @aws-crypto/integration-node decrypt -v $PWD/$npm_package_config_localTestVectors -c cpu", - "verdaccio-node-encrypt": "./util/npx_verdaccio @aws-crypto/integration-node encrypt -m $npm_package_config_encryptManifestList -k $npm_package_config_encryptKeyManifest -o $npm_package_config_decryptOracle -c cpu", + "verdaccio-browser-decrypt": ". util/integration-test-vectors.sh && ./util/npx_verdaccio @aws-crypto/integration-browser decrypt -v \"$PWD/$LOCAL_TEST_VECTORS\" --karma -c cpu", + "verdaccio-browser-encrypt": ". util/integration-test-vectors.sh && ./util/npx_verdaccio @aws-crypto/integration-browser encrypt -m \"$ENCRYPT_MANIFEST_LIST\" -k \"$ENCRYPT_KEY_MANIFEST\" -o \"$DECRYPT_ORACLE\" --karma -c cpu", + "verdaccio-node-decrypt": ". util/integration-test-vectors.sh && ./util/npx_verdaccio @aws-crypto/integration-node decrypt -v \"$PWD/$LOCAL_TEST_VECTORS\" -c cpu", + "verdaccio-node-encrypt": ". util/integration-test-vectors.sh && ./util/npx_verdaccio @aws-crypto/integration-node encrypt -m \"$ENCRYPT_MANIFEST_LIST\" -k \"$ENCRYPT_KEY_MANIFEST\" -o \"$DECRYPT_ORACLE\" -c cpu", "test_conditions": "./aws-encryption-sdk-specification/util/test_conditions -s 'modules/**/src/*.ts' -t 'modules/**/test/*.ts' -s 'compliance_exceptions/*.ts'", "duvet-report": "aws-encryption-sdk-specification/util/report.js modules/**/src/**/*.ts modules/**/test/**/*.ts compliance_exceptions/*.ts" }, - "config": { - "localTestVectors": "aws-encryption-sdk-test-vectors/vectors/awses-decrypt/python-2.3.0.zip", - "encryptManifestList": "https://raw.githubusercontent.com/awslabs/aws-crypto-tools-test-vector-framework/master/features/CANONICAL-GENERATED-MANIFESTS/0003-awses-message-encryption.v1.json", - "encryptKeyManifest": "https://raw.githubusercontent.com/awslabs/aws-crypto-tools-test-vector-framework/master/features/CANONICAL-GENERATED-MANIFESTS/0002-keys.v1.json", - "decryptOracle": "https://xi1mwx3ttb.execute-api.us-west-2.amazonaws.com/api/v0/decrypt" - }, "repository": { "type": "git", "url": "git@github.com:awslabs/aws-encryption-sdk-javascript.git" diff --git a/util/integration-test-vectors.sh b/util/integration-test-vectors.sh new file mode 100644 index 000000000..4f0c1d543 --- /dev/null +++ b/util/integration-test-vectors.sh @@ -0,0 +1,9 @@ +# Copyright Amazon.com Inc. or its affiliates. All Rights Reserved. +# SPDX-License-Identifier: Apache-2.0 + +# Single source of truth for integration test vector locations. +# Sourced by the integration-* and verdaccio-* npm scripts. +export LOCAL_TEST_VECTORS="aws-encryption-sdk-test-vectors/vectors/awses-decrypt/python-2.3.0.zip" +export ENCRYPT_MANIFEST_LIST="https://raw.githubusercontent.com/awslabs/aws-crypto-tools-test-vector-framework/master/features/CANONICAL-GENERATED-MANIFESTS/0003-awses-message-encryption.v1.json" +export ENCRYPT_KEY_MANIFEST="https://raw.githubusercontent.com/awslabs/aws-crypto-tools-test-vector-framework/master/features/CANONICAL-GENERATED-MANIFESTS/0002-keys.v1.json" +export DECRYPT_ORACLE="https://xi1mwx3ttb.execute-api.us-west-2.amazonaws.com/api/v0/decrypt"