UNPKG

@testim/testim-cli

Version:

Command line interface for running Testing on you CI

67 lines (50 loc) 4.66 kB
/** * * Uploads a file to the selenium server. * * @param {String} localPath local path to file * * @type utility * */ 'use strict'; var _Promise = require('babel-runtime/core-js/promise')['default']; var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default']; Object.defineProperty(exports, '__esModule', { value: true }); var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs); var _path = require('path'); var _path2 = _interopRequireDefault(_path); var _archiver = require('archiver'); var _archiver2 = _interopRequireDefault(_archiver); var _utilsErrorHandler = require('../utils/ErrorHandler'); var uploadFile = function uploadFile(localPath) { var _this = this; /*! * parameter check */ if (typeof localPath !== 'string') { throw new _utilsErrorHandler.CommandError('number or type of arguments don\'t agree with uploadFile command'); } var zipData = []; var source = _fs2['default'].createReadStream(localPath); return new _Promise(function (resolve, reject) { (0, _archiver2['default'])('zip').on('error', function (e) { throw new Error(e); }).on('data', function (data) { return zipData.push(data); }).on('end', function () { return _this.file(Buffer.concat(zipData).toString('base64')).then(resolve, reject); }).append(source, { name: _path2['default'].basename(localPath) }).finalize(function (err) { /* istanbul ignore next */ if (err) { reject(err); } }); }); }; exports['default'] = uploadFile; module.exports = exports['default']; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9jb21tYW5kcy91cGxvYWRGaWxlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tCQVVlLElBQUk7Ozs7b0JBQ0YsTUFBTTs7Ozt3QkFDRixVQUFVOzs7O2lDQUVGLHVCQUF1Qjs7QUFFcEQsSUFBSSxVQUFVLEdBQUcsU0FBYixVQUFVLENBQWEsU0FBUyxFQUFFOzs7Ozs7QUFJbEMsUUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLEVBQUU7QUFDL0IsY0FBTSxvQ0FBaUIsa0VBQWtFLENBQUMsQ0FBQTtLQUM3Rjs7QUFFRCxRQUFJLE9BQU8sR0FBRyxFQUFFLENBQUE7QUFDaEIsUUFBSSxNQUFNLEdBQUcsZ0JBQUcsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUE7O0FBRTNDLFdBQU8sYUFBWSxVQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUs7QUFDcEMsbUNBQVMsS0FBSyxDQUFDLENBQ1YsRUFBRSxDQUFDLE9BQU8sRUFBRSxVQUFDLENBQUMsRUFBSztBQUFFLGtCQUFNLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO1NBQUUsQ0FBQyxDQUMxQyxFQUFFLENBQUMsTUFBTSxFQUFFLFVBQUMsSUFBSTttQkFBSyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztTQUFBLENBQUMsQ0FDeEMsRUFBRSxDQUFDLEtBQUssRUFBRTttQkFBTSxNQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDO1NBQUEsQ0FBQyxDQUMzRixNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLGtCQUFLLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQ2xELFFBQVEsQ0FBQyxVQUFDLEdBQUcsRUFBSzs7QUFFZixnQkFBSSxHQUFHLEVBQUU7QUFDTCxzQkFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO2FBQ2Q7U0FDSixDQUFDLENBQUE7S0FDVCxDQUFDLENBQUE7Q0FDTCxDQUFBOztxQkFFYyxVQUFVIiwiZmlsZSI6InVwbG9hZEZpbGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqXG4gKiBVcGxvYWRzIGEgZmlsZSB0byB0aGUgc2VsZW5pdW0gc2VydmVyLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBsb2NhbFBhdGggbG9jYWwgcGF0aCB0byBmaWxlXG4gKlxuICogQHR5cGUgdXRpbGl0eVxuICpcbiAqL1xuXG5pbXBvcnQgZnMgZnJvbSAnZnMnXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJ1xuaW1wb3J0IGFyY2hpdmVyIGZyb20gJ2FyY2hpdmVyJ1xuXG5pbXBvcnQgeyBDb21tYW5kRXJyb3IgfSBmcm9tICcuLi91dGlscy9FcnJvckhhbmRsZXInXG5cbmxldCB1cGxvYWRGaWxlID0gZnVuY3Rpb24gKGxvY2FsUGF0aCkge1xuICAgIC8qIVxuICAgICAqIHBhcmFtZXRlciBjaGVja1xuICAgICAqL1xuICAgIGlmICh0eXBlb2YgbG9jYWxQYXRoICE9PSAnc3RyaW5nJykge1xuICAgICAgICB0aHJvdyBuZXcgQ29tbWFuZEVycm9yKCdudW1iZXIgb3IgdHlwZSBvZiBhcmd1bWVudHMgZG9uXFwndCBhZ3JlZSB3aXRoIHVwbG9hZEZpbGUgY29tbWFuZCcpXG4gICAgfVxuXG4gICAgbGV0IHppcERhdGEgPSBbXVxuICAgIGxldCBzb3VyY2UgPSBmcy5jcmVhdGVSZWFkU3RyZWFtKGxvY2FsUGF0aClcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGFyY2hpdmVyKCd6aXAnKVxuICAgICAgICAgICAgLm9uKCdlcnJvcicsIChlKSA9PiB7IHRocm93IG5ldyBFcnJvcihlKSB9KVxuICAgICAgICAgICAgLm9uKCdkYXRhJywgKGRhdGEpID0+IHppcERhdGEucHVzaChkYXRhKSlcbiAgICAgICAgICAgIC5vbignZW5kJywgKCkgPT4gdGhpcy5maWxlKEJ1ZmZlci5jb25jYXQoemlwRGF0YSkudG9TdHJpbmcoJ2Jhc2U2NCcpKS50aGVuKHJlc29sdmUsIHJlamVjdCkpXG4gICAgICAgICAgICAuYXBwZW5kKHNvdXJjZSwgeyBuYW1lOiBwYXRoLmJhc2VuYW1lKGxvY2FsUGF0aCkgfSlcbiAgICAgICAgICAgIC5maW5hbGl6ZSgoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnIpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICB9KVxufVxuXG5leHBvcnQgZGVmYXVsdCB1cGxvYWRGaWxlXG4iXX0=