@gatling.io/cli
Version:
Gatling JS is a JavaScript/TypeScript interface for the [Gatling load testing tool](https://gatling.io/).
84 lines (83 loc) • 3.98 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const options_1 = require("./options");
const simulations_1 = require("../simulations");
const dependencies_1 = require("../dependencies");
const bundle_1 = require("../bundle");
const enterprise_1 = require("../enterprise");
exports.default = (program) => {
program
.command("enterprise-deploy")
.description("Deploy a package and configured simulations")
.addOption(options_1.sourcesFolderOption)
.addOption(options_1.protoFolderOption)
.addOption(options_1.resourcesFolderOption)
.addOption(options_1.bundleFileOption)
.addOption(options_1.protoTargetFolderOption)
.addOption(options_1.resultsFolderOption)
.addOption(options_1.postmanOption)
.addOption(options_1.typescriptOption)
.addOption(options_1.gatlingHomeOption)
// Base
.addOption(options_1.apiUrlOption)
.addOption(options_1.webAppUrlOption)
.addOption(options_1.apiTokenOption)
// Plugin configuration
.addOption(options_1.controlPlaneUrlOption)
.addOption(options_1.trustStoreOption)
.addOption(options_1.trustStorePasswordOption)
.addOption(options_1.nonInteractiveOption)
// Descriptor file
.addOption(options_1.packageDescriptorFilenameOption)
// Deployment info
.addOption(options_1.packageFileOption)
.action(async (options) => {
const sourcesFolder = (0, options_1.sourcesFolderOptionValue)(options);
const protoFolder = (0, options_1.protoFolderOptionValue)(options);
const simulations = await (0, simulations_1.findSimulations)(sourcesFolder);
const postman = (0, options_1.postmanOptionValueWithDefaults)(options);
const typescript = (0, options_1.typescriptOptionValueWithDefaults)(options, simulations);
const resourcesFolder = (0, options_1.resourcesFolderOptionValue)(options);
const bundleFile = (0, options_1.bundleFileOptionValue)(options);
const protoTargetFolder = (0, options_1.protoTargetFolderOptionValue)(options);
const resultsFolder = (0, options_1.resultsFolderOptionValue)(options);
const gatlingHome = (0, options_1.gatlingHomeOptionValueWithDefaults)(options);
const apiUrl = (0, options_1.apiUrlOptionValue)(options);
const webAppUrl = (0, options_1.webAppUrlOptionValue)(options);
const apiToken = (0, options_1.apiTokenOptionValue)(options);
const controlPlaneUrl = (0, options_1.controlPlaneUrlOptionValue)(options);
const trustStore = (0, options_1.trustStoreOptionValue)(options);
const trustStorePassword = (0, options_1.trustStorePasswordOptionValue)(options);
const nonInteractive = (0, options_1.nonInteractiveOptionValue)(options);
const packageDescriptorFilename = (0, options_1.packageDescriptorFilenameOptionValue)(options);
const packageFile = (0, options_1.packageFileOptionValue)(options);
const { graalvmHome, jvmClasspath, protocPath } = await (0, dependencies_1.resolveBundle)({ gatlingHome });
await (0, bundle_1.bundle)({
sourcesFolder,
protoFolder,
bundleFile,
protoTargetFolder,
postman,
typescript,
simulations,
protocPath
});
await (0, enterprise_1.enterprisePackage)({ bundleFile, resourcesFolder, protoTargetFolder, packageFile, postman, simulations });
await (0, enterprise_1.enterpriseDeploy)({
graalvmHome,
jvmClasspath,
bundleFile,
resourcesFolder,
resultsFolder,
apiUrl,
webAppUrl,
apiToken,
controlPlaneUrl,
trustStore,
trustStorePassword,
nonInteractive,
packageDescriptorFilename,
packageFile
});
});
};