apiconnect-cli-test-support
v3.0.0
Published
A test helper to easily invoke apic plugins
Downloads
7
Readme
'use strict';
var helper = require('apiconnect-cli-test-support');
var path = require('path');
// A logger that captures all of the output from running a command.
var logger = helper.logger;
// useShell === true, all commands will be executed in a spawned proces.
// Otherwise commands will be executed as part of the plugin framework.
var useShell = false; // || process.env.APIC_TEST_SHELL_CMD
var moduleRoot = path.resolve(__dirname, '..');
// If you have a dependency to another module and it is npm link'd rather than
// downloaded to ${root}/node_modules the logger will not work properly. If you
// are developing in this mode removing the apiconnect-cli-logger module from the
// npm link'd module will make the capturing logger work.
// Returns an apic cli that loads a plugin from moduleRoot/index.js and loads all plugins
// found in ${root}/node_modules. If you need to test with additional commands, add them
// as devDependencies to your module
var apic = helper.apic(moduleRoot, opts);
// If using one of the command helpers, you must provide an apic cli that has been
// initialized with apiconnect-cli-drafts
var draftsCmd = helper.draftsCmd(apic);
// Do configy stuff
var config = helper.config;
// Helper to log in/out of an appliance runs only in non-interactive mode. No options will use the default
// values found in config.
var auth = helper.auth(apic);
// return auth.login().then(auth.logout);
function var1() {
// Clear out the log buffer before executing a command to have a clean slate
logger.clear();
// apic create -h
return apic(['services', 'list'])
.then(function () {
// returns values and clears the backing log buffer
var output = logger.values();
output.forEach(function (line) {
console.log(line);
})
});
}
function var2() {
// Path to a loopback application to start via `apic start`
var optionalCommandCwd = '/Users/rgcurtis/tmp/lb';
return apic('start', optionalCommandCwd)
.then(function () {
// logger.values() clears the backing log buffer
var output = logger.values();
output.forEach(function (line) {
console.log(line);
})
});
}