UNPKG

@aws-cdk-testing/cli-integ

Version:

Integration tests for the AWS CDK CLI

111 lines 9.94 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); Object.defineProperty(exports, "__esModule", { value: true }); exports.TestLibraryPreinstalledSource = exports.RunnerLibraryPreinstalledSource = void 0; const promises_1 = require("fs/promises"); const path = __importStar(require("path")); const files_1 = require("../files"); /** * A library dependency that should already be installed via `cli-integ`'s dependencies. */ class RunnerLibraryPreinstalledSource { packageName; static async preinstalledVersion(packageName) { // Pretend to be in the test directory and resolve the package const searchPath = path.resolve(__dirname, '../../tests'); let resolvedPjPath; try { resolvedPjPath = require.resolve(`${packageName}/package.json`, { paths: [searchPath], }); } catch (e) { throw new Error(`${packageName} not found preinstalled (searching from ${searchPath}): ${e}`); } const pj = JSON.parse(await (0, promises_1.readFile)(resolvedPjPath, 'utf-8')); return pj.version; } static async isPreinstalled(packageName) { try { await RunnerLibraryPreinstalledSource.preinstalledVersion(packageName); return true; } catch { return false; } } sourceDescription; constructor(packageName) { this.packageName = packageName; this.sourceDescription = `${this.packageName} from preinstalled deps`; } async runnerPrepare() { const version = await RunnerLibraryPreinstalledSource.preinstalledVersion(this.packageName); return { version, async dispose() { }, serialize: () => { return [TestLibraryPreinstalledSource, [this.packageName, version]]; }, }; } } exports.RunnerLibraryPreinstalledSource = RunnerLibraryPreinstalledSource; class TestLibraryPreinstalledSource { packageName; version; constructor(packageName, version) { this.packageName = packageName; this.version = version; } requestedVersion() { return this.version; } assertJsiiPackagesAvailable() { // FIXME: Always a no-op. } async initializeDotnetPackages(currentDir) { // FIXME: this code has nothing to do with the package source, really, so shouldn't be here. if (process.env.CWD_FILES_DIR) { await (0, files_1.copyDirectoryContents)(process.env.CWD_FILES_DIR, currentDir); } } requestedAlphaVersion() { return this.version; } } exports.TestLibraryPreinstalledSource = TestLibraryPreinstalledSource; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicmFyeS1wcmVpbnN0YWxsZWQtc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibGlicmFyeS1wcmVpbnN0YWxsZWQtc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDBDQUF1QztBQUN2QywyQ0FBNkI7QUFFN0Isb0NBQWlEO0FBRWpEOztHQUVHO0FBQ0gsTUFBYSwrQkFBK0I7SUE0QmI7SUEzQnRCLE1BQU0sQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsV0FBbUI7UUFDekQsOERBQThEO1FBQzlELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBRTFELElBQUksY0FBYyxDQUFDO1FBQ25CLElBQUksQ0FBQztZQUNILGNBQWMsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsV0FBVyxlQUFlLEVBQUU7Z0JBQzlELEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQzthQUNwQixDQUFDLENBQUM7UUFDTCxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxXQUFXLDJDQUEyQyxVQUFVLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoRyxDQUFDO1FBQ0QsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUEsbUJBQVEsRUFBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUMvRCxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7SUFDcEIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFdBQW1CO1FBQ3BELElBQUksQ0FBQztZQUNILE1BQU0sK0JBQStCLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDdkUsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1AsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztJQUVlLGlCQUFpQixDQUFTO0lBRTFDLFlBQTZCLFdBQW1CO1FBQW5CLGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBQzlDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLHlCQUF5QixDQUFDO0lBQ3hFLENBQUM7SUFFTSxLQUFLLENBQUMsYUFBYTtRQUN4QixNQUFNLE9BQU8sR0FBRyxNQUFNLCtCQUErQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUU1RixPQUFPO1lBQ0wsT0FBTztZQUNQLEtBQUssQ0FBQyxPQUFPO1lBQ2IsQ0FBQztZQUNELFNBQVMsRUFBRSxHQUFHLEVBQUU7Z0JBQ2QsT0FBTyxDQUFDLDZCQUE2QixFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ3RFLENBQUM7U0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBNUNELDBFQTRDQztBQUVELE1BQWEsNkJBQTZCO0lBQ1o7SUFBc0M7SUFBbEUsWUFBNEIsV0FBbUIsRUFBbUIsT0FBZTtRQUFyRCxnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUFtQixZQUFPLEdBQVAsT0FBTyxDQUFRO0lBQ2pGLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFTSwyQkFBMkI7UUFDaEMseUJBQXlCO0lBQzNCLENBQUM7SUFFTSxLQUFLLENBQUMsd0JBQXdCLENBQUMsVUFBa0I7UUFDdEQsNEZBQTRGO1FBQzVGLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUM5QixNQUFNLElBQUEsNkJBQXFCLEVBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDckUsQ0FBQztJQUNILENBQUM7SUFFTSxxQkFBcUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7Q0FDRjtBQXRCRCxzRUFzQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZWFkRmlsZSB9IGZyb20gJ2ZzL3Byb21pc2VzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgdHlwZSB7IElSdW5uZXJTb3VyY2UsIElQcmVwYXJlZFJ1bm5lclNvdXJjZSwgSVRlc3RMaWJyYXJ5U291cmNlIH0gZnJvbSAnLi9zb3VyY2UnO1xuaW1wb3J0IHsgY29weURpcmVjdG9yeUNvbnRlbnRzIH0gZnJvbSAnLi4vZmlsZXMnO1xuXG4vKipcbiAqIEEgbGlicmFyeSBkZXBlbmRlbmN5IHRoYXQgc2hvdWxkIGFscmVhZHkgYmUgaW5zdGFsbGVkIHZpYSBgY2xpLWludGVnYCdzIGRlcGVuZGVuY2llcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFJ1bm5lckxpYnJhcnlQcmVpbnN0YWxsZWRTb3VyY2UgaW1wbGVtZW50cyBJUnVubmVyU291cmNlPElUZXN0TGlicmFyeVNvdXJjZT4ge1xuICBwdWJsaWMgc3RhdGljIGFzeW5jIHByZWluc3RhbGxlZFZlcnNpb24ocGFja2FnZU5hbWU6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgLy8gUHJldGVuZCB0byBiZSBpbiB0aGUgdGVzdCBkaXJlY3RvcnkgYW5kIHJlc29sdmUgdGhlIHBhY2thZ2VcbiAgICBjb25zdCBzZWFyY2hQYXRoID0gcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4uLy4uL3Rlc3RzJyk7XG5cbiAgICBsZXQgcmVzb2x2ZWRQalBhdGg7XG4gICAgdHJ5IHtcbiAgICAgIHJlc29sdmVkUGpQYXRoID0gcmVxdWlyZS5yZXNvbHZlKGAke3BhY2thZ2VOYW1lfS9wYWNrYWdlLmpzb25gLCB7XG4gICAgICAgIHBhdGhzOiBbc2VhcmNoUGF0aF0sXG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7cGFja2FnZU5hbWV9IG5vdCBmb3VuZCBwcmVpbnN0YWxsZWQgKHNlYXJjaGluZyBmcm9tICR7c2VhcmNoUGF0aH0pOiAke2V9YCk7XG4gICAgfVxuICAgIGNvbnN0IHBqID0gSlNPTi5wYXJzZShhd2FpdCByZWFkRmlsZShyZXNvbHZlZFBqUGF0aCwgJ3V0Zi04JykpO1xuICAgIHJldHVybiBwai52ZXJzaW9uO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBhc3luYyBpc1ByZWluc3RhbGxlZChwYWNrYWdlTmFtZTogc3RyaW5nKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IFJ1bm5lckxpYnJhcnlQcmVpbnN0YWxsZWRTb3VyY2UucHJlaW5zdGFsbGVkVmVyc2lvbihwYWNrYWdlTmFtZSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgc291cmNlRGVzY3JpcHRpb246IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHBhY2thZ2VOYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNvdXJjZURlc2NyaXB0aW9uID0gYCR7dGhpcy5wYWNrYWdlTmFtZX0gZnJvbSBwcmVpbnN0YWxsZWQgZGVwc2A7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcnVubmVyUHJlcGFyZSgpOiBQcm9taXNlPElQcmVwYXJlZFJ1bm5lclNvdXJjZTxJVGVzdExpYnJhcnlTb3VyY2U+PiB7XG4gICAgY29uc3QgdmVyc2lvbiA9IGF3YWl0IFJ1bm5lckxpYnJhcnlQcmVpbnN0YWxsZWRTb3VyY2UucHJlaW5zdGFsbGVkVmVyc2lvbih0aGlzLnBhY2thZ2VOYW1lKTtcblxuICAgIHJldHVybiB7XG4gICAgICB2ZXJzaW9uLFxuICAgICAgYXN5bmMgZGlzcG9zZSgpIHtcbiAgICAgIH0sXG4gICAgICBzZXJpYWxpemU6ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIFtUZXN0TGlicmFyeVByZWluc3RhbGxlZFNvdXJjZSwgW3RoaXMucGFja2FnZU5hbWUsIHZlcnNpb25dXTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVGVzdExpYnJhcnlQcmVpbnN0YWxsZWRTb3VyY2UgaW1wbGVtZW50cyBJVGVzdExpYnJhcnlTb3VyY2Uge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgcGFja2FnZU5hbWU6IHN0cmluZywgcHJpdmF0ZSByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmcpIHtcbiAgfVxuXG4gIHB1YmxpYyByZXF1ZXN0ZWRWZXJzaW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudmVyc2lvbjtcbiAgfVxuXG4gIHB1YmxpYyBhc3NlcnRKc2lpUGFja2FnZXNBdmFpbGFibGUoKTogdm9pZCB7XG4gICAgLy8gRklYTUU6IEFsd2F5cyBhIG5vLW9wLlxuICB9XG5cbiAgcHVibGljIGFzeW5jIGluaXRpYWxpemVEb3RuZXRQYWNrYWdlcyhjdXJyZW50RGlyOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvLyBGSVhNRTogdGhpcyBjb2RlIGhhcyBub3RoaW5nIHRvIGRvIHdpdGggdGhlIHBhY2thZ2Ugc291cmNlLCByZWFsbHksIHNvIHNob3VsZG4ndCBiZSBoZXJlLlxuICAgIGlmIChwcm9jZXNzLmVudi5DV0RfRklMRVNfRElSKSB7XG4gICAgICBhd2FpdCBjb3B5RGlyZWN0b3J5Q29udGVudHMocHJvY2Vzcy5lbnYuQ1dEX0ZJTEVTX0RJUiwgY3VycmVudERpcik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlcXVlc3RlZEFscGhhVmVyc2lvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnZlcnNpb247XG4gIH1cbn1cblxuIl19