3.0.0 • Published 7 years ago

apiconnect-cli-test-support v3.0.0

Weekly downloads
6
License
ISC
Repository
github
Last release
7 years ago
'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);
      })
    });
}