From 3d75c6ff0ff5150913efdcd6ed5abaec37be7dcb Mon Sep 17 00:00:00 2001 From: spalger Date: Wed, 14 Jun 2017 18:48:24 -0700 Subject: [PATCH] use eslint autofix to start fixing violations --- .eslintrc.yaml | 3 +- grunt/config/esvm.js | 22 +-- grunt/config/mochacov.js | 14 +- grunt/config/run.js | 4 +- grunt/config/s3.js | 2 +- grunt/config/saucelabs-mocha.js | 2 +- grunt/config/webpack.js | 2 +- grunt/tasks.js | 22 +-- grunt/utils.js | 24 +-- scripts/Version.js | 20 +- scripts/_spawn.js | 18 +- scripts/ci.js | 60 +++--- scripts/generate/api_index.js | 14 +- scripts/generate/configuration_docs.js | 10 +- scripts/generate/doc_index.js | 12 +- scripts/generate/index.js | 54 ++--- scripts/generate/js_api.js | 108 +++++----- scripts/generate/templates/index.js | 18 +- scripts/generate/yaml_tests.js | 30 +-- scripts/release/bower.js | 18 +- src/elasticsearch.angular.js | 6 +- src/elasticsearch.jquery.js | 4 +- src/lib/client.js | 8 +- src/lib/client_action.js | 32 +-- src/lib/connection.js | 20 +- src/lib/connection_pool.js | 48 ++--- src/lib/connectors/angular.js | 10 +- src/lib/connectors/browser_index.js | 4 +- src/lib/connectors/http.js | 52 ++--- src/lib/connectors/jquery.js | 8 +- src/lib/connectors/xhr.js | 30 +-- src/lib/errors.js | 40 ++-- src/lib/host.js | 42 ++-- src/lib/log.js | 14 +- src/lib/logger.js | 8 +- src/lib/loggers/console.js | 6 +- src/lib/loggers/file.js | 8 +- src/lib/loggers/stdio.js | 8 +- src/lib/loggers/stream.js | 6 +- src/lib/loggers/tracer.js | 22 +-- src/lib/nodes_to_host.js | 16 +- src/lib/selectors/round_robin.js | 2 +- src/lib/serializers/angular.js | 4 +- src/lib/serializers/json.js | 4 +- src/lib/transport.js | 78 ++++---- src/lib/transport/find_common_protocol.js | 8 +- .../transport/sniff_on_connection_fault.js | 16 +- src/lib/utils.js | 38 ++-- test/fixtures/keepalive.js | 16 +- test/fixtures/keepalive_server.js | 8 +- test/integration/yaml_suite/client_manager.js | 26 +-- test/integration/yaml_suite/run.js | 28 +-- test/integration/yaml_suite/yaml_doc.js | 108 +++++----- test/integration/yaml_suite/yaml_file.js | 10 +- test/mocks/browser_server.js | 24 +-- test/mocks/incomming_message.js | 6 +- test/mocks/request.js | 6 +- test/mocks/server.js | 2 +- test/mocks/writable_stream.js | 18 +- test/unit/browser_builds/angular.js | 28 +-- test/unit/browser_builds/generic.js | 8 +- test/unit/browser_builds/jquery.js | 6 +- test/unit/buffer_flush_tests.js | 22 +-- test/unit/coverage.js | 2 +- test/unit/generic_logger_tests.js | 60 +++--- test/unit/index.js | 2 +- test/unit/specs/abstract_logger.js | 14 +- test/unit/specs/client.js | 30 +-- test/unit/specs/client_action.js | 60 +++--- test/unit/specs/connection_abstract.js | 58 +++--- test/unit/specs/connection_pool.js | 62 +++--- test/unit/specs/console_logger.js | 18 +- test/unit/specs/errors.js | 14 +- test/unit/specs/file_logger.js | 30 +-- test/unit/specs/host.js | 62 +++--- test/unit/specs/http_connector.js | 166 ++++++++-------- test/unit/specs/json_serializer.js | 42 ++-- test/unit/specs/log.js | 48 ++--- test/unit/specs/nodes_to_host_callback.js | 14 +- test/unit/specs/random_selector.js | 12 +- test/unit/specs/round_robin_selector.js | 12 +- test/unit/specs/stdio_logger.js | 36 ++-- test/unit/specs/stream_logger.js | 34 ++-- test/unit/specs/tracer_logger.js | 20 +- test/unit/specs/transport.js | 184 +++++++++--------- test/unit/specs/transport_with_server.js | 64 +++--- test/unit/specs/utils.js | 48 ++--- test/unit/specs/yaml_test_reader.js | 6 +- test/utils/auto_release_stub.js | 8 +- test/utils/expect_sub_object.js | 4 +- test/utils/jenkins-reporter.js | 48 ++--- test/utils/make_j_unit_xml.js | 24 +-- test/utils/server.js | 36 ++-- webpack_config/angular.js | 6 +- webpack_config/browser.js | 6 +- webpack_config/jquery.js | 6 +- webpack_config/lib.js | 10 +- 97 files changed, 1281 insertions(+), 1280 deletions(-) diff --git a/.eslintrc.yaml b/.eslintrc.yaml index d1e249f98..1d2b8ec67 100644 --- a/.eslintrc.yaml +++ b/.eslintrc.yaml @@ -13,4 +13,5 @@ rules: no-use-before-define: warn no-empty: warn space-before-function-paren: warn - no-restricted-globals: warn \ No newline at end of file + no-restricted-globals: warn + prefer-const: warn \ No newline at end of file diff --git a/grunt/config/esvm.js b/grunt/config/esvm.js index 1bd4a64ba..130383e69 100644 --- a/grunt/config/esvm.js +++ b/grunt/config/esvm.js @@ -1,14 +1,14 @@ -var get = require('lodash.get'); -var utils = require('../utils'); -var fromRoot = require('path').join.bind(null, __dirname, '..', '..'); +const get = require('lodash.get'); +const utils = require('../utils'); +const fromRoot = require('path').join.bind(null, __dirname, '..', '..'); -var release = process.env.ES_RELEASE; -var ref = process.env.ES_REF; -var port = parseFloat(get(process.env, 'ES_PORT', 9400)); -var host = get(process.env, 'ES_HOST', 'localhost'); +const release = process.env.ES_RELEASE; +const ref = process.env.ES_REF; +const port = parseFloat(get(process.env, 'ES_PORT', 9400)); +const host = get(process.env, 'ES_HOST', 'localhost'); -var Version = require('../../scripts/Version'); -var versionedOpts = [ +const Version = require('../../scripts/Version'); +const versionedOpts = [ { version: '*', directory: fromRoot('esvm'), @@ -90,8 +90,8 @@ utils.branches.forEach(function (branch) { // ci target, based on env variables (function () { - var v; - var opts = { + let v; + const opts = { config: { 'http.port': port } diff --git a/grunt/config/mochacov.js b/grunt/config/mochacov.js index dd896a0a7..052ee45f4 100644 --- a/grunt/config/mochacov.js +++ b/grunt/config/mochacov.js @@ -1,12 +1,12 @@ -var root = require('find-root')(__dirname); -var rel = require('path').resolve.bind(null, root); -var rootReq = function (p) { return require(rel(p)); }; -var _ = rootReq('src/lib/utils'); -var grunt = require('grunt'); +const root = require('find-root')(__dirname); +const rel = require('path').resolve.bind(null, root); +const rootReq = function (p) { return require(rel(p)); }; +const _ = rootReq('src/lib/utils'); +const grunt = require('grunt'); -var JENKINS_REPORTER = rel('test/utils/jenkins-reporter.js'); +const JENKINS_REPORTER = rel('test/utils/jenkins-reporter.js'); -var config = { +const config = { unit: { src: 'test/unit/index.js', options: { diff --git a/grunt/config/run.js b/grunt/config/run.js index 053d522ff..dfd526dbe 100644 --- a/grunt/config/run.js +++ b/grunt/config/run.js @@ -1,6 +1,6 @@ -var utils = require('../utils'); +const utils = require('../utils'); -var config = { +const config = { generate: { exec: 'node ./scripts/generate/index.js', options: { diff --git a/grunt/config/s3.js b/grunt/config/s3.js index 0bca06e86..5fa220f50 100644 --- a/grunt/config/s3.js +++ b/grunt/config/s3.js @@ -1,4 +1,4 @@ -var config = {}; +let config = {}; try { config = require('../../.aws-config.json'); } catch (e) {} diff --git a/grunt/config/saucelabs-mocha.js b/grunt/config/saucelabs-mocha.js index 54b681983..39c6e6e51 100644 --- a/grunt/config/saucelabs-mocha.js +++ b/grunt/config/saucelabs-mocha.js @@ -1,4 +1,4 @@ -var slk = require('../../test/utils/slk'); +const slk = require('../../test/utils/slk'); module.exports = { all: { options: { diff --git a/grunt/config/webpack.js b/grunt/config/webpack.js index 86406ddd8..6de3dec10 100644 --- a/grunt/config/webpack.js +++ b/grunt/config/webpack.js @@ -4,4 +4,4 @@ module.exports = { require('../../webpack_config/angular'), require('../../webpack_config/jquery'), ] -} +}; diff --git a/grunt/tasks.js b/grunt/tasks.js index ddd797f3a..a6d179ab7 100644 --- a/grunt/tasks.js +++ b/grunt/tasks.js @@ -1,8 +1,8 @@ module.exports = function (grunt) { - var Promise = require('bluebird'); - var utils = require('./utils'); - var readFile = Promise.promisify(require('fs').readFile); - var writeFile = Promise.promisify(require('fs').writeFile); + const Promise = require('bluebird'); + const utils = require('./utils'); + const readFile = Promise.promisify(require('fs').readFile); + const writeFile = Promise.promisify(require('fs').writeFile); // Default task runs the build process. @@ -11,12 +11,12 @@ module.exports = function (grunt) { ]); grunt.registerTask('test', function (branch) { - var tasks = [ + const tasks = [ branch ? 'run:generate_' + branch : 'run:generate', 'mochacov:unit' ]; - var branches = branch ? [branch] : utils.branches; + const branches = branch ? [branch] : utils.branches; process.env.ES_PORT = process.env.ES_PORT || 9400; process.env.ES_HOST = process.env.ES_HOST || 'localhost'; @@ -38,10 +38,10 @@ module.exports = function (grunt) { ]); grunt.registerTask('version', function (nextVersion) { - var root = require('path').join.bind(null, __dirname, '..'); - var readmePath = root('README.md'); - var packagePath = root('package.json'); - var browserBuildsPath = root('docs/browser_builds.asciidoc'); + const root = require('path').join.bind(null, __dirname, '..'); + const readmePath = root('README.md'); + const packagePath = root('package.json'); + const browserBuildsPath = root('docs/browser_builds.asciidoc'); Promise.all([ require(packagePath), @@ -49,7 +49,7 @@ module.exports = function (grunt) { readFile(browserBuildsPath, 'utf8') ]) .spread(function (pkg, readme, browserBuilds) { - var current = pkg.version; + const current = pkg.version; pkg.version = nextVersion; browserBuilds = utils.replaceAll(browserBuilds, current, nextVersion); diff --git a/grunt/utils.js b/grunt/utils.js index a880791b6..32b4b88dc 100644 --- a/grunt/utils.js +++ b/grunt/utils.js @@ -1,10 +1,10 @@ -var _ = require('../src/lib/utils'); +const _ = require('../src/lib/utils'); -var root = require('find-root')(__dirname); -var pkg = require(root + '/package.json'); -var stable = pkg.config.supported_es_branches; -var unstable = pkg.config.unstable_es_branches; -var branches = [].concat(stable, unstable); +const root = require('find-root')(__dirname); +const pkg = require(root + '/package.json'); +const stable = pkg.config.supported_es_branches; +const unstable = pkg.config.unstable_es_branches; +const branches = [].concat(stable, unstable); var utils = { branchSuffix: function (branch) { @@ -29,7 +29,7 @@ utils.minorVersion = function (version) { * increment the version based on the release "type" */ utils.increaseVersion = function (version, type) { - var i; + let i; switch (type) { case 'major': i = 0; @@ -47,14 +47,14 @@ utils.increaseVersion = function (version, type) { } // breakout the current version - var next = version.split('.').map(function (n) { + const next = version.split('.').map(function (n) { return parseInt(n, 10); }); // increment the version type next[i] += 1; // clear out all following numbers - for (i ++; i < next.length; i++) next[i] = 0; + for (i++; i < next.length; i++) next[i] = 0; // join back together with '.' return next.join('.'); }; @@ -63,9 +63,9 @@ utils.increaseVersion = function (version, type) { * replace all instances of `replace` with `replacement` without creating a regexp object */ utils.replaceAll = function (str, replace, replacement) { - var out = ''; - var remaining = str; - var i = 0; + let out = ''; + let remaining = str; + let i = 0; while (~(i = remaining.indexOf(replace))) { out += remaining.substring(0, i) + replacement; diff --git a/scripts/Version.js b/scripts/Version.js index b3bde3838..dc3f5a8e2 100644 --- a/scripts/Version.js +++ b/scripts/Version.js @@ -1,16 +1,16 @@ -var _ = require('lodash'); -var pkg = require('../package.json'); -var branches = [...pkg.config.supported_es_branches, ...pkg.config.unstable_es_branches]; -var semver = require('semver'); +const _ = require('lodash'); +const pkg = require('../package.json'); +const branches = [...pkg.config.supported_es_branches, ...pkg.config.unstable_es_branches]; +const semver = require('semver'); function nextMajorVersion() { const largestMajor = branches .map(v => parseFloat(v.split('.')[0])) .filter(n => !isNaN(n)) .sort((a, b) => b - a) - .shift() + .shift(); - return new Version(`${largestMajor + 1}.0.0`) + return new Version(`${largestMajor + 1}.0.0`); } function nextMinorVersion(major) { @@ -42,11 +42,11 @@ Version.fromBranch = function (branch) { if (/^\d+\.\d+$/.test(branch)) return new Version(branch + '.0'); // n.x -> n.(maxVersion + 1).0 - const match = branch.match(/^(\d+)\.x$/i) + const match = branch.match(/^(\d+)\.x$/i); if (match) return nextMinorVersion(match[1]); // master => (maxMajorVersion + 1).0.0 - if (branch === 'master') return nextMajorVersion() + if (branch === 'master') return nextMajorVersion(); throw new Error('unable to convert branch "' + branch + '" to semver'); }; @@ -66,9 +66,9 @@ Version.prototype.mergeOpts = function (versioned, overrides) { const candidates = versioned .filter(o => this.satisfies(o.version)) - .map(o => _.omit(o, 'version')) + .map(o => _.omit(o, 'version')); - return _.merge({}, overrides || {}, ...candidates) + return _.merge({}, overrides || {}, ...candidates); }; module.exports = Version; diff --git a/scripts/_spawn.js b/scripts/_spawn.js index 3efdd7d99..3911fc756 100644 --- a/scripts/_spawn.js +++ b/scripts/_spawn.js @@ -1,11 +1,11 @@ module.exports = _spawn; -var map = require('through2-map'); -var split = require('split'); -var chalk = require('chalk'); -var spawn = require('child_process').spawn; -var path = require('path'); -var root = path.resolve(__dirname, '../'); +const map = require('through2-map'); +const split = require('split'); +const chalk = require('chalk'); +const spawn = require('child_process').spawn; +const path = require('path'); +const root = path.resolve(__dirname, '../'); function indent(line) { line = String(line).trim(); @@ -26,7 +26,7 @@ function _spawn(cmd, args, opts, cb) { opts.verbose = false; } - var conf = { + const conf = { stdio: [ 'ignore', opts.verbose ? 'pipe' : 'ignore', @@ -34,7 +34,7 @@ function _spawn(cmd, args, opts, cb) { ] }; - var subdir; + let subdir; if (opts.cwd) { conf.cwd = opts.cwd; @@ -43,7 +43,7 @@ function _spawn(cmd, args, opts, cb) { console.log(chalk.white.bold((subdir ? subdir + ' ' : '') + '$ ') + cmd + ' ' + args.join(' ')); - var cp = spawn(cmd, args, conf); + const cp = spawn(cmd, args, conf); if (opts.verbose) { consume(cp.stdout); diff --git a/scripts/ci.js b/scripts/ci.js index bc6bda3d3..471f24caf 100644 --- a/scripts/ci.js +++ b/scripts/ci.js @@ -17,25 +17,25 @@ * *******/ -var Promise = require('bluebird'); -var _ = require('lodash'); -var through2 = require('through2'); -var map = require('through2-map'); -var split = require('split'); -var join = require('path').join; -var cp = require('child_process'); -var chalk = require('chalk'); -var format = require('util').format; +const Promise = require('bluebird'); +const _ = require('lodash'); +const through2 = require('through2'); +const map = require('through2-map'); +const split = require('split'); +const join = require('path').join; +const cp = require('child_process'); +const chalk = require('chalk'); +const format = require('util').format; -var NL_RE = /(\r?\n)/g; -var ROOT = join(__dirname, '..'); -var GRUNT = join(ROOT, 'node_modules', '.bin', 'grunt'); -var ENV = _.clone(process.env); -var JENKINS = !!ENV.JENKINS_HOME; -var TASKS = []; +const NL_RE = /(\r?\n)/g; +const ROOT = join(__dirname, '..'); +const GRUNT = join(ROOT, 'node_modules', '.bin', 'grunt'); +const ENV = _.clone(process.env); +const JENKINS = !!ENV.JENKINS_HOME; +const TASKS = []; -var output; // main output stream -var taskOut; // task output stream +let output; // main output stream +let taskOut; // task output stream task('NODE_UNIT', true, function () { if (!JENKINS) { @@ -46,11 +46,11 @@ task('NODE_UNIT', true, function () { }); task('NODE_INTEGRATION', true, function () { - var branch = ENV.ES_REF; + const branch = ENV.ES_REF; return node('scripts/generate', '--no-api', '--branch', branch) .then(function () { - var target = (JENKINS ? 'jenkins_' : '') + 'integration:' + branch; + const target = (JENKINS ? 'jenkins_' : '') + 'integration:' + branch; return grunt('esvm:ci_env', 'mocha_' + target, 'esvm_shutdown:ci_env'); }); }); @@ -58,9 +58,9 @@ task('NODE_INTEGRATION', true, function () { task('SAUCE_LABS', false, function () { return new Promise(function (resolve, reject) { // build the clients and start the server, once the server is ready call trySaucelabs() - var serverTasks = ['browser_clients:build', 'run:browser_test_server:keepalive']; + const serverTasks = ['browser_clients:build', 'run:browser_test_server:keepalive']; spawn(GRUNT, serverTasks, function (proc) { - var toLines = split(); + const toLines = split(); proc.stdout .pipe(toLines) @@ -83,14 +83,14 @@ task('SAUCE_LABS', false, function () { .catch(_.noop); // attempt to run tests on saucelabs and retry if it fails - var saucelabsAttempts = 0; + let saucelabsAttempts = 0; function trySaucelabs() { saucelabsAttempts++; return new Promise(function (resolve, reject) { log(chalk.green('saucelabs attempt #', saucelabsAttempts)); spawn(GRUNT, ['saucelabs-mocha'], function (cp) { - var failedTests = 0; + let failedTests = 0; cp.stdout .pipe(split()) .pipe(map(function (line) { @@ -141,7 +141,7 @@ execTask('SETUP', function () { } } - var match; + let match; if (match = ENV.ES_V.match(/^(.*)_nightly$/)) { return [match[1], null]; } @@ -206,7 +206,7 @@ execTask('SETUP', function () { * utils ******/ function log() { - var chunk = format.apply(null, arguments); + const chunk = format.apply(null, arguments); (taskOut || output || process.stdout).write(chunk + '\n'); } @@ -218,15 +218,15 @@ function logImportant(text) { function push(m) { return function () { - var args = _.toArray(arguments); - var cb = args.pop(); + const args = _.toArray(arguments); + const cb = args.pop(); this.push(m.apply(this, args)); cb(); }; } function indent() { - var str = through2( + const str = through2( push(function (chunk) { return String(chunk).replace(NL_RE, '$1 '); }), push(function () { return '\n'; }) ); @@ -281,7 +281,7 @@ function execTask(name, task) { function spawn(file, args, block) { return new Promise(function (resolve, reject) { - var proc = cp.spawn(file, args, { + const proc = cp.spawn(file, args, { cwd: ROOT, env: ENV, stdio: [0, 'pipe', 'pipe'] @@ -290,7 +290,7 @@ function spawn(file, args, block) { proc.stdout.pipe(taskOut, { end: false }); proc.stderr.pipe(taskOut, { end: false }); - var stdout = ''; + let stdout = ''; proc.stdout .pipe(through2(function (chunk, enc, cb) { stdout += chunk; diff --git a/scripts/generate/api_index.js b/scripts/generate/api_index.js index ef538c0ac..0c9b69d5d 100644 --- a/scripts/generate/api_index.js +++ b/scripts/generate/api_index.js @@ -1,13 +1,13 @@ module.exports = function (done) { - var _ = require('../../src/lib/utils'); - var utils = require('../../grunt/utils'); + const _ = require('../../src/lib/utils'); + const utils = require('../../grunt/utils'); - var chalk = require('chalk'); - var fromRoot = _.partial(require('path').join, require('find-root')(__dirname)); - var write = require('fs').writeFileSync; + const chalk = require('chalk'); + const fromRoot = _.partial(require('path').join, require('find-root')(__dirname)); + const write = require('fs').writeFileSync; - var nodeApiIndex = fromRoot('src/lib/apis/index.js'); - var browserApiIndex = fromRoot('src/lib/apis/browser_index.js'); + const nodeApiIndex = fromRoot('src/lib/apis/index.js'); + const browserApiIndex = fromRoot('src/lib/apis/browser_index.js'); write(nodeApiIndex, require('./templates').apiIndex({ branches: utils.branches diff --git a/scripts/generate/configuration_docs.js b/scripts/generate/configuration_docs.js index 939e8bdae..1df965925 100644 --- a/scripts/generate/configuration_docs.js +++ b/scripts/generate/configuration_docs.js @@ -1,11 +1,11 @@ module.exports = function (done) { - var _ = require('../../src/lib/utils'); + const _ = require('../../src/lib/utils'); - var chalk = require('chalk'); - var fromRoot = _.partial(require('path').join, require('find-root')(__dirname)); - var write = require('fs').writeFile; + const chalk = require('chalk'); + const fromRoot = _.partial(require('path').join, require('find-root')(__dirname)); + const write = require('fs').writeFile; - var outputPath = fromRoot('docs/configuration.asciidoc'); + const outputPath = fromRoot('docs/configuration.asciidoc'); write(outputPath, require('./templates').configurationDocs(), 'utf8', done); console.log(chalk.white.bold('wrote'), 'configuration docs to', outputPath); }; diff --git a/scripts/generate/doc_index.js b/scripts/generate/doc_index.js index 07cea06f2..37839181c 100644 --- a/scripts/generate/doc_index.js +++ b/scripts/generate/doc_index.js @@ -1,12 +1,12 @@ module.exports = function (done) { - var _ = require('../../src/lib/utils'); - var utils = require('../../grunt/utils'); + const _ = require('../../src/lib/utils'); + const utils = require('../../grunt/utils'); - var chalk = require('chalk'); - var fromRoot = _.partial(require('path').join, require('find-root')(__dirname)); - var write = require('fs').writeFile; + const chalk = require('chalk'); + const fromRoot = _.partial(require('path').join, require('find-root')(__dirname)); + const write = require('fs').writeFile; - var outputPath = fromRoot('docs/index.asciidoc'); + const outputPath = fromRoot('docs/index.asciidoc'); write(outputPath, require('./templates').docsIndex({ apiFiles: utils.stableBranches.map(function (branch) { diff --git a/scripts/generate/index.js b/scripts/generate/index.js index 95f385255..9df5077f6 100644 --- a/scripts/generate/index.js +++ b/scripts/generate/index.js @@ -1,8 +1,8 @@ /* jshint curly: false */ -var async = require('async'); -var fs = require('fs'); -var spawn = require('../_spawn'); -var argv = require('optimist') +const async = require('async'); +const fs = require('fs'); +const spawn = require('../_spawn'); +let argv = require('optimist') .options({ verbose: { alias: 'v', @@ -27,15 +27,15 @@ var argv = require('optimist') } }); -var path = require('path'); -var fromRoot = path.join.bind(path, require('find-root')(__dirname)); -var utils = require(fromRoot('grunt/utils')); -var _ = require(fromRoot('src/lib/utils')); -var esUrl = process.env.ES_REPO +const path = require('path'); +const fromRoot = path.join.bind(path, require('find-root')(__dirname)); +const utils = require(fromRoot('grunt/utils')); +const _ = require(fromRoot('src/lib/utils')); +const esUrl = process.env.ES_REPO ? path.resolve(process.cwd(), process.env.ES_REPO) : 'https://github.com/elastic/elasticsearch.git'; -var branches; +let branches; if (process.env.npm_config_argv) { // when called by NPM @@ -51,7 +51,7 @@ if (argv.branch) { branches = utils.branches; } -var paths = { +const paths = { root: fromRoot('.'), src: fromRoot('src'), esSrc: fromRoot('src/_elasticsearch_'), @@ -70,7 +70,7 @@ var paths = { }; function isDirectory(dir) { - var stat; + let stat; try { stat = fs.statSync(dir); } catch (e) {} return (stat && stat.isDirectory()); } @@ -129,15 +129,15 @@ function initStep() { } function fetchBranchesStep() { - var branchArgs = branches.map(function (b) { return b + ':' + b; }); + const branchArgs = branches.map(function (b) { return b + ':' + b; }); return spawnStep('git', ['fetch', '--no-tags', '--force', 'origin'].concat(branchArgs), paths.esSrc); } function findGeneratedApiFiles() { - var anyApiMethodDocs = /^(configuration|index|api_methods).*\.asciidoc$/; - var anyApiJsFiled = /^.+\.js$/; - var allBranches = _.isEqual(branches, utils.branches); + const anyApiMethodDocs = /^(configuration|index|api_methods).*\.asciidoc$/; + const anyApiJsFiled = /^.+\.js$/; + const allBranches = _.isEqual(branches, utils.branches); if (allBranches) { return [ @@ -147,11 +147,11 @@ function findGeneratedApiFiles() { } return branches.reduce(function (files, branch) { - var b = _.snakeCase(branch); + const b = _.snakeCase(branch); files.push(dirOpts(paths.docs, 'api_methods_' + b + '.asciidoc')); - var isDefault = branch === utils.branches._default; + const isDefault = branch === utils.branches._default; if (isDefault) { files.push(dirOpts(paths.docs, 'api_methods.asciidoc')); } @@ -164,8 +164,8 @@ function findGeneratedApiFiles() { function clearGeneratedFiles() { - var esArchives = /^_elasticsearch_(master|[\dx_]+|\.tar)$/; - var generatedFiles = []; + const esArchives = /^_elasticsearch_(master|[\dx_]+|\.tar)$/; + const generatedFiles = []; if (argv.api) { generatedFiles.push(findGeneratedApiFiles()); @@ -173,7 +173,7 @@ function clearGeneratedFiles() { generatedFiles.push(dirRegex(paths.src, esArchives)); - var rmSteps = _.chain(generatedFiles) + const rmSteps = _.chain(generatedFiles) .flatten() .uniq() .map(function (path) { @@ -191,7 +191,7 @@ function clearGeneratedFiles() { function removePrevArchive(branch) { if (!argv.update) return; - var dir = paths.getArchiveDir(branch); + const dir = paths.getArchiveDir(branch); if (!isDirectory(dir)) return; return spawnStep('rm', ['-rf', dir], paths.root); @@ -199,10 +199,10 @@ function removePrevArchive(branch) { function createArchive(branch) { return function (done) { - var dir = paths.getArchiveDir(branch); - var tarball = paths.getArchiveTarball(branch); - var specPathInRepo = paths.getSpecPathInRepo(branch); - var subDirCount = _.countBy(specPathInRepo, p => p === '/').true || 0; + const dir = paths.getArchiveDir(branch); + const tarball = paths.getArchiveTarball(branch); + const specPathInRepo = paths.getSpecPathInRepo(branch); + const subDirCount = _.countBy(specPathInRepo, p => p === '/').true || 0; if (isDirectory(dir)) { console.log(branch + ' archive already exists'); @@ -227,7 +227,7 @@ function generateStep(branch) { }; } -var steps = [ +const steps = [ initStep(), clearGeneratedFiles(), fetchBranchesStep() diff --git a/scripts/generate/js_api.js b/scripts/generate/js_api.js index a1b971149..d14b33397 100644 --- a/scripts/generate/js_api.js +++ b/scripts/generate/js_api.js @@ -3,26 +3,26 @@ module.exports = function (branch, done) { * Read the API actions form the rest-api-spec repo. * @type {[type]} */ - var _ = require('../../src/lib/utils'); - var utils = require('../../grunt/utils'); - var fs = require('fs'); - var async = require('async'); - var chalk = require('chalk'); - var path = require('path'); - var fromRoot = path.join.bind(path, require('find-root')(__dirname)); - var templates = require('./templates'); - var Version = require('../Version'); - var urlParamRE = /\{(\w+)\}/g; + const _ = require('../../src/lib/utils'); + const utils = require('../../grunt/utils'); + const fs = require('fs'); + const async = require('async'); + const chalk = require('chalk'); + const path = require('path'); + const fromRoot = path.join.bind(path, require('find-root')(__dirname)); + const templates = require('./templates'); + const Version = require('../Version'); + const urlParamRE = /\{(\w+)\}/g; - var files; // populated in readSpecFiles - var apiSpec; // populated by parseSpecFiles - var docVars; // slightly modified clone of apiSpec for the docs + let files; // populated in readSpecFiles + let apiSpec; // populated by parseSpecFiles + let docVars; // slightly modified clone of apiSpec for the docs - var branchSuffix = utils.branchSuffix(branch); - var esDir = fromRoot('src/_elasticsearch_' + _.snakeCase(branch)); + const branchSuffix = utils.branchSuffix(branch); + const esDir = fromRoot('src/_elasticsearch_' + _.snakeCase(branch)); - var version = Version.fromBranch(branch); - var overrides = version.mergeOpts(require('./overrides'), { + const version = Version.fromBranch(branch); + const overrides = version.mergeOpts(require('./overrides'), { aliases: {}, mergeConcatParams: {}, paramAsBody: {}, @@ -31,7 +31,7 @@ module.exports = function (branch, done) { descriptions: {}, }); - var steps = [ + const steps = [ readSpecFiles, parseSpecFiles, writeApiFile @@ -51,13 +51,13 @@ module.exports = function (branch, done) { }); function readSpecFiles(done) { - var apiDir = path.join(esDir, 'rest-api-spec/api/'); + const apiDir = path.join(esDir, 'rest-api-spec/api/'); files = fs.readdirSync(apiDir) .filter(function (filename) { - return filename[0] !== '_' + return filename[0] !== '_'; }) .map(function (filename) { - var module = require(apiDir + filename); + const module = require(apiDir + filename); delete require.cache[apiDir + filename]; return module; }); @@ -65,7 +65,7 @@ module.exports = function (branch, done) { } function parseSpecFiles(done) { - var actions = []; + const actions = []; files.forEach(function (spec) { __puke__transformSpec(spec).forEach(function (action) { @@ -74,16 +74,16 @@ module.exports = function (branch, done) { }); // collect the namespaces from the action locations - var namespaces = _.filter(_.map(actions, function (action) { + const namespaces = _.filter(_.map(actions, function (action) { return action.location .split('.') .slice(0, -1) .filter(step => step !== 'prototype') - .join('.prototype.') + .join('.prototype.'); })); // seperate the proxy actions - var groups = _.groupBy(actions, function (action) { + const groups = _.groupBy(actions, function (action) { return action.proxy ? 'proxies' : 'normal'; }); @@ -95,7 +95,7 @@ module.exports = function (branch, done) { }; if (!_.find(apiSpec.actions, { name: 'create' })) { - var create = _.assign( + const create = _.assign( {}, _.cloneDeep(_.find(apiSpec.actions, { name: 'index' })), { @@ -115,8 +115,8 @@ module.exports = function (branch, done) { [].concat(apiSpec.actions, apiSpec.proxies) .forEach(function (action) { - var examplePath = overrides.examples[action.name] || action.name + '.asciidoc'; - var descriptionPath = overrides.descriptions[action.name] || action.name + '.asciidoc'; + const examplePath = overrides.examples[action.name] || action.name + '.asciidoc'; + const descriptionPath = overrides.descriptions[action.name] || action.name + '.asciidoc'; try { action.examples = fs.readFileSync(fromRoot('docs/_examples', examplePath), 'utf8'); @@ -129,13 +129,13 @@ module.exports = function (branch, done) { } catch (e) { action.description = '// no description'; } - }) + }); done(); } function writeApiFile(done) { - var outputPath = fromRoot('src/lib/apis/' + _.snakeCase(branch) + '.js'); + const outputPath = fromRoot('src/lib/apis/' + _.snakeCase(branch) + '.js'); fs.writeFileSync(outputPath, templates.apiFile(apiSpec)); console.log(chalk.white.bold('wrote'), apiSpec.actions.length, 'api actions to', outputPath); done(); @@ -173,7 +173,7 @@ module.exports = function (branch, done) { } function writeMethodDocs(done) { - var filename = fromRoot('docs/api_methods' + branchSuffix + '.asciidoc'); + const filename = fromRoot('docs/api_methods' + branchSuffix + '.asciidoc'); fs.writeFile( filename, templates.apiMethods(docVars), @@ -187,7 +187,7 @@ module.exports = function (branch, done) { } function __puke__transformSpec(spec) { // eslint-disable-line - var actions = []; + const actions = []; // itterate all of the specs within the file, should only be one _.each(spec, function (def, name) { @@ -198,10 +198,10 @@ module.exports = function (branch, done) { def.documentation = 'http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/cat.html'; } - var steps = name.split('.'); + const steps = name.split('.'); function transformParamKeys(note, param, key) { - var cmlKey = _.camelCase(key); + const cmlKey = _.camelCase(key); if (cmlKey !== key) { param.name = key; } @@ -211,24 +211,24 @@ module.exports = function (branch, done) { def.url.params = _.transform(def.url.params, transformParamKeys, {}); def.url.parts = _.transform(def.url.parts, transformParamKeys, {}); - var allParams = _.extend({}, def.url.params, def.url.parts); + const allParams = _.extend({}, def.url.params, def.url.parts); _.forOwn(allParams, (paramSpec, paramName) => { - const toMerge = _.get(overrides, ['mergeConcatParams', name, paramName]) + const toMerge = _.get(overrides, ['mergeConcatParams', name, paramName]); if (toMerge) { _.merge(paramSpec, toMerge, (dest, src) => { if (_.isArray(dest) && _.isArray(src)) { - return dest.concat(src) + return dest.concat(src); } - }) + }); } if (paramSpec.options) { - const invalidOpts = paramSpec.options.some(opt => typeof opt !== 'string') - if (invalidOpts) throw new Error(`${name} has options that are not strings...`) + const invalidOpts = paramSpec.options.some(opt => typeof opt !== 'string'); + if (invalidOpts) throw new Error(`${name} has options that are not strings...`); } - }) + }); - var spec = { + const spec = { name: name, methods: _.map(def.methods, function (m) { return m.toUpperCase(); }), params: def.url.params, @@ -248,15 +248,15 @@ module.exports = function (branch, done) { spec.requestTimeout = 3000; } - var urls = _.difference(def.url.paths, overrides.aliases[name]); - var urlSignatures = []; + let urls = _.difference(def.url.paths, overrides.aliases[name]); + const urlSignatures = []; urls = _.map(urls, function (url) { - var optionalVars = {}; - var requiredVars = {}; - var param; - var name; - var target; - var match; + const optionalVars = {}; + const requiredVars = {}; + let param; + let name; + let target; + let match; if (url.charAt(0) !== '/') { url = '/' + url; @@ -317,10 +317,10 @@ module.exports = function (branch, done) { } // escape method names with "special" keywords - var location = spec.name.split('.').join('.prototype.') + const location = spec.name.split('.').join('.prototype.') .replace(/(^|\.)(delete|default)(\.|$)/g, '[\'$2\']'); - var action = { + const action = { _methods: spec.methods, spec: _.pick(spec, [ 'params', @@ -339,7 +339,7 @@ module.exports = function (branch, done) { }; function hasMethod(/* ...methods */) { - for (var i = 0; i < arguments.length; i++) { + for (let i = 0; i < arguments.length; i++) { if (~action._methods.indexOf(arguments[i])) { continue; } else { @@ -352,7 +352,7 @@ module.exports = function (branch, done) { return hasMethod.apply(null, arguments) && arguments.length === action._methods.length; } - var method; + let method; if (action._methods.length === 1) { method = action._methods[0]; diff --git a/scripts/generate/templates/index.js b/scripts/generate/templates/index.js index aec6069dd..82a262359 100644 --- a/scripts/generate/templates/index.js +++ b/scripts/generate/templates/index.js @@ -1,8 +1,8 @@ -var _ = require('../../../src/lib/utils'); -var utils = require('../../../grunt/utils'); -var fs = require('fs'); -var path = require('path'); +const _ = require('../../../src/lib/utils'); +const utils = require('../../../grunt/utils'); +const fs = require('fs'); +const path = require('path'); /** @@ -31,20 +31,20 @@ function stringify(thing, pretty) { * We'll collect the templates here * @type {Object} */ -var templates = {}; +const templates = {}; /** * These keys will be available as local variables to each template * @type {Object} */ -var templateGlobals = { +const templateGlobals = { stringify: stringify, _: _, indent: function (block, spaces) { - var indent = _.repeat(' ', spaces); + const indent = _.repeat(' ', spaces); return block.split('\n').map(function (line) { return indent + line; }).join('\n'); @@ -58,7 +58,7 @@ var templateGlobals = { switch (type && type.toLowerCase ? type.toLowerCase() : 'any') { case 'time': case 'duration': - if (paramName === 'timestamp') return 'Timestamp' + if (paramName === 'timestamp') return 'Timestamp'; return '<>'; case 'any': return 'anything'; @@ -96,7 +96,7 @@ var templateGlobals = { }; fs.readdirSync(path.resolve(__dirname)).forEach(function (filename) { - var name = filename.replace(/\..+$/, ''); + const name = filename.replace(/\..+$/, ''); if (name !== 'index') { templates[name] = _.template( fs.readFileSync(path.resolve(__dirname, filename), 'utf8'), diff --git a/scripts/generate/yaml_tests.js b/scripts/generate/yaml_tests.js index 093695b1a..de4f4ba76 100644 --- a/scripts/generate/yaml_tests.js +++ b/scripts/generate/yaml_tests.js @@ -2,16 +2,16 @@ module.exports = function (branch, done) { /** * Creates a JSON version of the YAML test suite that can be simply bundled for use in the browser. */ - var jsYaml = require('js-yaml'); - var fs = require('fs'); - var async = require('async'); - var chalk = require('chalk'); - var path = require('path'); - var fromRoot = path.join.bind(path, require('find-root')(__dirname)); - var _ = require(fromRoot('src/lib/utils')); - var tests = {}; // populated in readYamlTests + const jsYaml = require('js-yaml'); + const fs = require('fs'); + const async = require('async'); + const chalk = require('chalk'); + const path = require('path'); + const fromRoot = path.join.bind(path, require('find-root')(__dirname)); + const _ = require(fromRoot('src/lib/utils')); + const tests = {}; // populated in readYamlTests - var esDir = fromRoot('src/_elasticsearch_' + _.snakeCase(branch)); + const esDir = fromRoot('src/_elasticsearch_' + _.snakeCase(branch)); // generate the yaml tests async.series([ @@ -21,16 +21,16 @@ module.exports = function (branch, done) { ], done); function readYamlTests(done) { - var testDir = path.join(esDir, 'rest-api-spec/test/'); + const testDir = path.join(esDir, 'rest-api-spec/test/'); function readDirectories(dir) { fs.readdirSync(dir).forEach(function (filename) { - var filePath = path.join(dir, filename); - var stat = fs.statSync(filePath); + const filePath = path.join(dir, filename); + const stat = fs.statSync(filePath); if (stat.isDirectory()) { readDirectories(filePath); } else if (filename.match(/\.yaml$/)) { - var file = tests[path.relative(testDir, filePath)] = []; + const file = tests[path.relative(testDir, filePath)] = []; jsYaml.loadAll(fs.readFileSync(filePath, 'utf8'), function (doc) { file.push(doc); }); @@ -43,14 +43,14 @@ module.exports = function (branch, done) { } function writeYamlTests(done) { - var testFile = fromRoot('test/integration/yaml_suite/yaml_tests_' + _.snakeCase(branch) + '.json'); + const testFile = fromRoot('test/integration/yaml_suite/yaml_tests_' + _.snakeCase(branch) + '.json'); fs.writeFileSync(testFile, JSON.stringify(tests, null, ' '), 'utf8'); console.log(chalk.white.bold('wrote') + ' YAML tests as JSON to', testFile); done(); } function writeTestIndex(done) { - var file = fromRoot('test/integration/yaml_suite/index_' + _.snakeCase(branch) + '.js'); + const file = fromRoot('test/integration/yaml_suite/index_' + _.snakeCase(branch) + '.js'); fs.writeFileSync(file, 'require(\'./run\')(\'' + branch + '\');\n', 'utf8'); console.log(chalk.white.bold('wrote') + ' YAML index to', file); done(); diff --git a/scripts/release/bower.js b/scripts/release/bower.js index 3705c1dcb..c00c61763 100644 --- a/scripts/release/bower.js +++ b/scripts/release/bower.js @@ -1,15 +1,15 @@ -var fs = require('fs'); -var spawn = require('../_spawn'); -var async = require('async'); -var _ = require('lodash'); +const fs = require('fs'); +const spawn = require('../_spawn'); +const async = require('async'); +const _ = require('lodash'); -var root = require('path').join(__dirname, '../..'); -var bowerDir = root + '/src/bower_es_js'; +const root = require('path').join(__dirname, '../..'); +const bowerDir = root + '/src/bower_es_js'; // get both the bower and node package files -var bowerJson = require(bowerDir + '/bower.json'); -var bowerPackageJson = require(bowerDir + '/package.json'); -var esjsJson = require(root + '/package.json'); +const bowerJson = require(bowerDir + '/bower.json'); +const bowerPackageJson = require(bowerDir + '/package.json'); +const esjsJson = require(root + '/package.json'); // update the version to match the node version bowerJson.version = esjsJson.version; diff --git a/src/elasticsearch.angular.js b/src/elasticsearch.angular.js index 514374714..b25fd3255 100644 --- a/src/elasticsearch.angular.js +++ b/src/elasticsearch.angular.js @@ -4,8 +4,8 @@ * * It will also instruct the client to use Angular's $http service for it's ajax requests */ -var AngularConnector = require('./lib/connectors/angular'); -var Client = require('./lib/client'); +const AngularConnector = require('./lib/connectors/angular'); +const Client = require('./lib/client'); process.angular_build = true; @@ -13,7 +13,7 @@ process.angular_build = true; angular.module('elasticsearch', []) .factory('esFactory', ['$injector', '$q', function ($injector, $q) { - var factory = function (config) { + const factory = function (config) { config = config || {}; config.connectionClass = AngularConnector; config.$injector = $injector; diff --git a/src/elasticsearch.jquery.js b/src/elasticsearch.jquery.js index 740a2ee1f..a05f8c442 100644 --- a/src/elasticsearch.jquery.js +++ b/src/elasticsearch.jquery.js @@ -1,10 +1,10 @@ /* global jQuery */ (function ($) { process.jquery_build = true; - var es = require('./elasticsearch'); + const es = require('./elasticsearch'); function defer() { - var def = $.Deferred(); + const def = $.Deferred(); // def.promise is usually a property (in normal implementations) // we override the promise to keep things working def.promise = def.promise(); diff --git a/src/lib/client.js b/src/lib/client.js index a50c869ac..5c6ed4bd9 100755 --- a/src/lib/client.js +++ b/src/lib/client.js @@ -26,9 +26,9 @@ module.exports = Client; -var Transport = require('./transport'); -var clientAction = require('./client_action'); -var _ = require('./utils'); +const Transport = require('./transport'); +const clientAction = require('./client_action'); +const _ = require('./utils'); function Client(config) { config = config || {}; @@ -71,7 +71,7 @@ function Client(config) { config.sniffEndpoint = '/_cluster/nodes'; } - var Constructor = EsApiClient; + let Constructor = EsApiClient; if (config.plugins) { Constructor.prototype = _.cloneDeep(Constructor.prototype); diff --git a/src/lib/client_action.js b/src/lib/client_action.js index a8d6d26d1..975d7bdfe 100644 --- a/src/lib/client_action.js +++ b/src/lib/client_action.js @@ -1,5 +1,5 @@ -var _ = require('./utils'); +const _ = require('./utils'); /** * Constructs a client action factory that uses specific defaults @@ -37,7 +37,7 @@ exports.namespaceFactory = function () { function makeFactoryWithModifier(modifier) { modifier = modifier || _.identity; - var factory = function (spec) { + const factory = function (spec) { spec = modifier(spec); if (!_.isPlainObject(spec.params)) { @@ -63,7 +63,7 @@ function makeFactoryWithModifier(modifier) { if (typeof cb === 'function') { _.nextTick(cb, e); } else { - var def = this.transport.defer(); + const def = this.transport.defer(); def.reject(e); return def.promise; } @@ -96,7 +96,7 @@ function makeFactoryWithModifier(modifier) { return factory; } -var castType = { +const castType = { 'enum': function validSelection(param, val, name) { if (_.isString(val) && val.indexOf(',') > -1) { val = commaSepList(val); @@ -108,7 +108,7 @@ var castType = { }).join(','); } - for (var i = 0; i < param.options.length; i++) { + for (let i = 0; i < param.options.length; i++) { if (param.options[i] === String(val)) { return param.options[i]; } @@ -183,7 +183,7 @@ var castType = { }; function resolveUrl(url, params) { - var vars = {}, i, key; + let vars = {}, i, key; if (url.req) { // url has required params @@ -192,7 +192,7 @@ function resolveUrl(url, params) { url.reqParamKeys = _.keys(url.req); } - for (i = 0; i < url.reqParamKeys.length; i ++) { + for (i = 0; i < url.reqParamKeys.length; i++) { key = url.reqParamKeys[i]; if (!params.hasOwnProperty(key) || params[key] == null) { // missing a required param @@ -214,7 +214,7 @@ function resolveUrl(url, params) { url.optParamKeys = _.keys(url.opt); } - for (i = 0; i < url.optParamKeys.length; i ++) { + for (i = 0; i < url.optParamKeys.length; i++) { key = url.optParamKeys[i]; if (params[key]) { if (castType[url.opt[key].type] || params[key] == null) { @@ -223,7 +223,7 @@ function resolveUrl(url, params) { vars[key] = params[key]; } } else { - vars[key] = url.opt[key]['default']; + vars[key] = url.opt[key].default; } } } @@ -243,11 +243,11 @@ function resolveUrl(url, params) { function exec(transport, spec, params, cb) { - var request = { + const request = { method: spec.method }; - var query = {}; - var i; + const query = {}; + let i; // pass the timeout from the spec if (spec.requestTimeout) { @@ -297,7 +297,7 @@ function exec(transport, spec, params, cb) { if (!request.path) { // there must have been some mimimun requirements that were not met - var minUrl = spec.url || spec.urls[spec.urls.length - 1]; + const minUrl = spec.url || spec.urls[spec.urls.length - 1]; throw new TypeError('Unable to build a path with those params. Supply at least ' + _.keys(minUrl.req).join(', ')); } @@ -312,7 +312,7 @@ function exec(transport, spec, params, cb) { }, []); } - for (var key in params) { + for (const key in params) { if (params.hasOwnProperty(key) && params[key] != null) { switch (key) { case 'body': @@ -339,7 +339,7 @@ function exec(transport, spec, params, cb) { query[paramSpec.name] = params[key]; } - if (paramSpec['default'] && query[paramSpec.name] === paramSpec['default']) { + if (paramSpec.default && query[paramSpec.name] === paramSpec.default) { delete query[paramSpec.name]; } } @@ -350,7 +350,7 @@ function exec(transport, spec, params, cb) { } } - for (i = 0; i < spec.requireParamKeys.length; i ++) { + for (i = 0; i < spec.requireParamKeys.length; i++) { if (!query.hasOwnProperty(spec.requireParamKeys[i])) { throw new TypeError('Missing required parameter ' + spec.requireParamKeys[i]); } diff --git a/src/lib/connection.js b/src/lib/connection.js index 93c8c38a6..df3b2cd14 100644 --- a/src/lib/connection.js +++ b/src/lib/connection.js @@ -1,10 +1,10 @@ module.exports = ConnectionAbstract; -var _ = require('./utils'); -var EventEmitter = require('events').EventEmitter; -var Log = require('./log'); -var Host = require('./host'); -var errors = require('./errors'); +const _ = require('./utils'); +const EventEmitter = require('events').EventEmitter; +const Log = require('./log'); +const Host = require('./host'); +const errors = require('./errors'); /** * Abstract class used for Connection classes @@ -52,10 +52,10 @@ ConnectionAbstract.prototype.ping = function (params, cb) { cb = typeof cb === 'function' ? cb : null; } - var requestTimeout = this.pingTimeout; - var requestTimeoutId; - var aborted; - var abort; + let requestTimeout = this.pingTimeout; + let requestTimeoutId; + let aborted; + let abort; if (params && params.hasOwnProperty('requestTimeout')) { requestTimeout = params.requestTimeout; @@ -88,7 +88,7 @@ ConnectionAbstract.prototype.ping = function (params, cb) { }; ConnectionAbstract.prototype.setStatus = function (status) { - var origStatus = this.status; + const origStatus = this.status; this.status = status; this.emit('status set', status, origStatus, this); diff --git a/src/lib/connection_pool.js b/src/lib/connection_pool.js index 87c6dfcb9..6d51e4302 100644 --- a/src/lib/connection_pool.js +++ b/src/lib/connection_pool.js @@ -9,8 +9,8 @@ module.exports = ConnectionPool; -var _ = require('./utils'); -var Log = require('./log'); +const _ = require('./utils'); +const Log = require('./log'); function ConnectionPool(config) { config = config || {}; @@ -107,14 +107,14 @@ ConnectionPool.prototype.select = function (cb) { * @param {ConnectionAbstract} connection - the connection object itself */ ConnectionPool.prototype.onStatusSet = _.handler(function (status, oldStatus, connection) { - var index; + let index; - var died = (status === 'dead'); - var wasAlreadyDead = (died && oldStatus === 'dead'); - var revived = (!died && oldStatus === 'dead'); - var noChange = (oldStatus === status); - var from = this._conns[oldStatus]; - var to = this._conns[status]; + const died = (status === 'dead'); + const wasAlreadyDead = (died && oldStatus === 'dead'); + const revived = (!died && oldStatus === 'dead'); + const noChange = (oldStatus === status); + const from = this._conns[oldStatus]; + const to = this._conns[status]; if (noChange && !died) { return true; @@ -150,8 +150,8 @@ ConnectionPool.prototype.onStatusSet = _.handler(function (status, oldStatus, co * @param {ConnectionAbstract} connection */ ConnectionPool.prototype._onConnectionRevived = function (connection) { - var timeout; - for (var i = 0; i < this._timeouts.length; i++) { + let timeout; + for (let i = 0; i < this._timeouts.length; i++) { if (this._timeouts[i].conn === connection) { timeout = this._timeouts[i]; if (timeout.id) { @@ -169,9 +169,9 @@ ConnectionPool.prototype._onConnectionRevived = function (connection) { * @param {Boolean} alreadyWasDead - If the connection was preivously dead this must be set to true */ ConnectionPool.prototype._onConnectionDied = function (connection, alreadyWasDead) { - var timeout; + let timeout; if (alreadyWasDead) { - for (var i = 0; i < this._timeouts.length; i++) { + for (let i = 0; i < this._timeouts.length; i++) { if (this._timeouts[i].conn === connection) { timeout = this._timeouts[i]; break; @@ -198,17 +198,17 @@ ConnectionPool.prototype._onConnectionDied = function (connection, alreadyWasDea clearTimeout(timeout.id); } - var ms = this.calcDeadTimeout(timeout.attempt, this.deadTimeout); + const ms = this.calcDeadTimeout(timeout.attempt, this.deadTimeout); timeout.id = setTimeout(timeout.revive, ms); timeout.runAt = _.now() + ms; }; ConnectionPool.prototype._selectDeadConnection = function (cb) { - var orderedTimeouts = _.sortBy(this._timeouts, 'runAt'); - var log = this.log; + const orderedTimeouts = _.sortBy(this._timeouts, 'runAt'); + const log = this.log; process.nextTick(function next() { - var timeout = orderedTimeouts.shift(); + const timeout = orderedTimeouts.shift(); if (!timeout) { cb(void 0); return; @@ -247,7 +247,7 @@ ConnectionPool.prototype._selectDeadConnection = function (cb) { * @param {Number} [limit] - optional limit on the number of connections to return */ ConnectionPool.prototype.getConnections = function (status, limit) { - var list; + let list; if (status) { list = this._conns[status]; } else { @@ -304,11 +304,11 @@ ConnectionPool.prototype.removeConnection = function (connection) { * @param {Host[]} hosts - An array of Host instances. */ ConnectionPool.prototype.setHosts = function (hosts) { - var connection; - var i; - var id; - var host; - var toRemove = _.clone(this.index); + let connection; + let i; + let id; + let host; + const toRemove = _.clone(this.index); for (i = 0; i < hosts.length; i++) { host = hosts[i]; @@ -322,7 +322,7 @@ ConnectionPool.prototype.setHosts = function (hosts) { } } - var removeIds = _.keys(toRemove); + const removeIds = _.keys(toRemove); for (i = 0; i < removeIds.length; i++) { this.removeConnection(this.index[removeIds[i]]); } diff --git a/src/lib/connectors/angular.js b/src/lib/connectors/angular.js index 3336c7462..0b65590b6 100644 --- a/src/lib/connectors/angular.js +++ b/src/lib/connectors/angular.js @@ -6,14 +6,14 @@ */ module.exports = AngularConnector; -var _ = require('../utils'); -var ConnectionAbstract = require('../connection'); -var ConnectionFault = require('../errors').ConnectionFault; +const _ = require('../utils'); +const ConnectionAbstract = require('../connection'); +const ConnectionFault = require('../errors').ConnectionFault; function AngularConnector(host, config) { ConnectionAbstract.call(this, host, config); - var self = this; + const self = this; config.$injector.invoke(['$http', '$q', function ($http, $q) { self.$q = $q; self.$http = $http; @@ -23,7 +23,7 @@ function AngularConnector(host, config) { _.inherits(AngularConnector, ConnectionAbstract); AngularConnector.prototype.request = function (params, cb) { - var abort = this.$q.defer(); + const abort = this.$q.defer(); this.$http({ method: params.method, diff --git a/src/lib/connectors/browser_index.js b/src/lib/connectors/browser_index.js index 8553ee8da..ebe1dd399 100644 --- a/src/lib/connectors/browser_index.js +++ b/src/lib/connectors/browser_index.js @@ -1,9 +1,9 @@ -var opts = { +const opts = { xhr: require('./xhr'), jquery: require('./jquery'), angular: require('./angular') }; -var _ = require('../utils'); +const _ = require('../utils'); // remove modules that have been ignored by browserify _.each(opts, function (conn, name) { diff --git a/src/lib/connectors/http.js b/src/lib/connectors/http.js index 4368f1b2d..c8ea501c0 100644 --- a/src/lib/connectors/http.js +++ b/src/lib/connectors/http.js @@ -8,16 +8,16 @@ */ module.exports = HttpConnector; -var handles = { +const handles = { http: require('http'), https: require('https') }; -var _ = require('../utils'); -var parseUrl = require('url').parse; -var qs = require('querystring'); -var AgentKeepAlive = require('agentkeepalive'); -var ConnectionAbstract = require('../connection'); -var zlib = require('zlib'); +const _ = require('../utils'); +const parseUrl = require('url').parse; +const qs = require('querystring'); +const AgentKeepAlive = require('agentkeepalive'); +const ConnectionAbstract = require('../connection'); +const zlib = require('zlib'); /** * Connector used to talk to an elasticsearch node via HTTP @@ -51,9 +51,9 @@ _.inherits(HttpConnector, ConnectionAbstract); HttpConnector.prototype.onStatusSet = _.handler(function (status) { if (status === 'closed') { - var agent = this.agent; - var toRemove = []; - var collectSockets = function (sockets, host) { + const agent = this.agent; + const toRemove = []; + const collectSockets = function (sockets, host) { _.each(sockets, function (s) { if (s) toRemove.push([host, s]); }); @@ -65,7 +65,7 @@ HttpConnector.prototype.onStatusSet = _.handler(function (status) { _.each(agent.sockets, collectSockets); _.each(agent.freeSockets, collectSockets); _.each(toRemove, function (args) { - var host = args[0], socket = args[1]; + let host = args[0], socket = args[1]; agent.removeSocket(socket, parseUrl(host)); socket.destroy(); }); @@ -73,7 +73,7 @@ HttpConnector.prototype.onStatusSet = _.handler(function (status) { }); HttpConnector.prototype.createAgent = function (config) { - var Agent = this.hand.Agent; // the class + let Agent = this.hand.Agent; // the class if (config.forever) { config.keepAlive = config.forever; @@ -88,7 +88,7 @@ HttpConnector.prototype.createAgent = function (config) { }; HttpConnector.prototype.makeAgentConfig = function (config) { - var agentConfig = { + const agentConfig = { keepAlive: config.keepAlive, keepAliveMsecs: config.keepAliveInterval, maxSockets: config.maxSockets, @@ -105,9 +105,9 @@ HttpConnector.prototype.makeAgentConfig = function (config) { HttpConnector.prototype.makeReqParams = function (params) { params = params || {}; - var host = this.host; + const host = this.host; - var reqParams = { + const reqParams = { method: params.method || 'GET', protocol: host.protocol + ':', hostname: host.host, @@ -121,7 +121,7 @@ HttpConnector.prototype.makeReqParams = function (params) { reqParams.path = '/'; } - var query = host.getQuery(params.query); + const query = host.getQuery(params.query); if (query) { reqParams.path = reqParams.path + '?' + qs.stringify(query); } @@ -130,19 +130,19 @@ HttpConnector.prototype.makeReqParams = function (params) { }; HttpConnector.prototype.request = function (params, cb) { - var incoming; - var timeoutId; - var request; - var status = 0; - var headers = {}; - var log = this.log; - var response; + let incoming; + let timeoutId; + let request; + let status = 0; + let headers = {}; + const log = this.log; + let response; - var reqParams = this.makeReqParams(params); + const reqParams = this.makeReqParams(params); // general clean-up procedure to run after the request // completes, has an error, or is aborted. - var cleanUp = _.bind(function (err) { + const cleanUp = _.bind(function (err) { clearTimeout(timeoutId); request && request.removeAllListeners(); @@ -166,7 +166,7 @@ HttpConnector.prototype.request = function (params, cb) { headers = incoming.headers; response = ''; - var encoding = (headers['content-encoding'] || '').toLowerCase(); + const encoding = (headers['content-encoding'] || '').toLowerCase(); if (encoding === 'gzip' || encoding === 'deflate') { incoming = incoming.pipe(zlib.createUnzip()); } diff --git a/src/lib/connectors/jquery.js b/src/lib/connectors/jquery.js index f935e0497..a61da5c38 100644 --- a/src/lib/connectors/jquery.js +++ b/src/lib/connectors/jquery.js @@ -7,9 +7,9 @@ */ module.exports = JqueryConnector; -var _ = require('../utils'); -var ConnectionAbstract = require('../connection'); -var ConnectionFault = require('../errors').ConnectionFault; +const _ = require('../utils'); +const ConnectionAbstract = require('../connection'); +const ConnectionFault = require('../errors').ConnectionFault; function JqueryConnector(host, config) { ConnectionAbstract.call(this, host, config); @@ -17,7 +17,7 @@ function JqueryConnector(host, config) { _.inherits(JqueryConnector, ConnectionAbstract); JqueryConnector.prototype.request = function (params, cb) { - var ajax = { + const ajax = { url: this.host.makeUrl(params), data: params.body, type: params.method, diff --git a/src/lib/connectors/xhr.js b/src/lib/connectors/xhr.js index 2b21539a6..1afe05561 100644 --- a/src/lib/connectors/xhr.js +++ b/src/lib/connectors/xhr.js @@ -7,10 +7,10 @@ module.exports = XhrConnector; /* jshint browser:true */ -var _ = require('../utils'); -var ConnectionAbstract = require('../connection'); -var ConnectionFault = require('../errors').ConnectionFault; -var asyncDefault = !(navigator && /PhantomJS/i.test(navigator.userAgent)); +const _ = require('../utils'); +const ConnectionAbstract = require('../connection'); +const ConnectionFault = require('../errors').ConnectionFault; +const asyncDefault = !(navigator && /PhantomJS/i.test(navigator.userAgent)); function XhrConnector(host, config) { ConnectionAbstract.call(this, host, config); @@ -21,7 +21,7 @@ _.inherits(XhrConnector, ConnectionAbstract); * Simply returns an XHR object cross browser * @type {Function} */ -var getXhr = _.noop; +let getXhr = _.noop; if (typeof XMLHttpRequest !== 'undefined') { // rewrite the getXhr method to always return the native implementation @@ -34,7 +34,7 @@ if (typeof XMLHttpRequest !== 'undefined') { .map(function (appName) { /* jshint unused: false */ try { - var test = new window.ActiveXObject(appName); // eslint-disable-line no-unused-vars + const test = new window.ActiveXObject(appName); // eslint-disable-line no-unused-vars return function () { return new window.ActiveXObject(appName); }; @@ -51,19 +51,19 @@ if (!getXhr) { } XhrConnector.prototype.request = function (params, cb) { - var xhr = getXhr(); - var timeoutId; - var host = this.host; - var log = this.log; + const xhr = getXhr(); + let timeoutId; + const host = this.host; + const log = this.log; - var url = host.makeUrl(params); - var headers = host.getHeaders(params.headers); - var async = params.async === false ? false : asyncDefault; + const url = host.makeUrl(params); + const headers = host.getHeaders(params.headers); + const async = params.async === false ? false : asyncDefault; xhr.open(params.method || 'GET', url, async); if (headers) { - for (var key in headers) { + for (const key in headers) { if (headers[key] !== void 0) { xhr.setRequestHeader(key, headers[key]); } @@ -74,7 +74,7 @@ XhrConnector.prototype.request = function (params, cb) { if (xhr.readyState === 4) { clearTimeout(timeoutId); log.trace(params.method, url, params.body, xhr.responseText, xhr.status); - var err = xhr.status ? void 0 : new ConnectionFault(xhr.statusText || 'Request failed to complete.'); + const err = xhr.status ? void 0 : new ConnectionFault(xhr.statusText || 'Request failed to complete.'); cb(err, xhr.responseText, xhr.status); } }; diff --git a/src/lib/errors.js b/src/lib/errors.js index 377da5772..f6b8d6e30 100644 --- a/src/lib/errors.js +++ b/src/lib/errors.js @@ -1,8 +1,8 @@ -var _ = require('./utils'); -var errors = module.exports; +const _ = require('./utils'); +const errors = module.exports; -var canCapture = (typeof Error.captureStackTrace === 'function'); -var canStack = !!(new Error()).stack; +const canCapture = (typeof Error.captureStackTrace === 'function'); +const canStack = !!(new Error()).stack; function ErrorAbstract(msg, constructor, metadata) { this.message = msg; @@ -91,7 +91,7 @@ errors.RequestTypeError = function RequestTypeError(feature) { }; _.inherits(errors.RequestTypeError, ErrorAbstract); -var statusCodes = [ +const statusCodes = [ [300, 'Multiple Choices'], [301, 'Moved Permanently'], [302, 'Found'], @@ -137,18 +137,18 @@ var statusCodes = [ ]; _.each(statusCodes, function createStatusCodeError(tuple) { - var status = tuple[0]; - var names = tuple[1]; - var allNames = [].concat(names, status); - var primaryName = allNames[0]; - var className = _.studlyCase(primaryName); + const status = tuple[0]; + const names = tuple[1]; + let allNames = [].concat(names, status); + const primaryName = allNames[0]; + const className = _.studlyCase(primaryName); allNames = _.uniq(allNames.concat(className)); function StatusCodeError(msg, metadata) { this.status = status; this.displayName = className; - var esErrObject = null; + let esErrObject = null; if (_.isPlainObject(msg)) { esErrObject = msg; msg = null; @@ -167,7 +167,7 @@ _.each(statusCodes, function createStatusCodeError(tuple) { memo += '[' + cause.type + '] ' + cause.reason; - var extraData = _.omit(cause, ['type', 'reason']); + const extraData = _.omit(cause, ['type', 'reason']); if (_.size(extraData)) { memo += ', with ' + prettyPrint(extraData); } @@ -192,20 +192,20 @@ _.each(statusCodes, function createStatusCodeError(tuple) { function prettyPrint(data) { - const path = [] + const path = []; return (function print(v) { if (typeof v === 'object') { - if (path.indexOf(v) > -1) return '[circular]' - path.push(v) + if (path.indexOf(v) > -1) return '[circular]'; + path.push(v); try { return '{ ' + _.map(v, function (subv, name) { - return name + '=' + print(subv) - }).join(' & ') + ' }' + return name + '=' + print(subv); + }).join(' & ') + ' }'; } finally { - path.pop() + path.pop(); } } else { - return JSON.stringify(v) + return JSON.stringify(v); } - }(data)) + }(data)); } diff --git a/src/lib/host.js b/src/lib/host.js index 3ccddbfbf..6e5c8b48b 100644 --- a/src/lib/host.js +++ b/src/lib/host.js @@ -4,13 +4,13 @@ */ module.exports = Host; -var url = require('url'); -var qs = require('querystring'); -var _ = require('./utils'); +const url = require('url'); +const qs = require('querystring'); +const _ = require('./utils'); -var startsWithProtocolRE = /^([a-z]+:)?\/\//; -var defaultProto = 'http:'; -var btoa; +const startsWithProtocolRE = /^([a-z]+:)?\/\//; +let defaultProto = 'http:'; +let btoa; if (typeof window !== 'undefined' && typeof window.location !== 'undefined') { defaultProto = window.location.protocol; @@ -21,13 +21,13 @@ btoa = btoa || function (data) { return (new Buffer(data, 'utf8')).toString('base64'); }; -var urlParseFields = [ +const urlParseFields = [ 'protocol', 'hostname', 'pathname', 'port', 'auth', 'query' ]; -var simplify = ['host', 'path']; +const simplify = ['host', 'path']; -var sslDefaults = { +const sslDefaults = { pfx: null, key: null, passphrase: null, @@ -61,11 +61,11 @@ function Host(config, globalConfig) { this.ssl = _.defaults({}, config.ssl || {}, globalConfig.ssl || {}, sslDefaults); if (typeof config === 'string') { - var firstColon = config.indexOf(':'); - var firstSlash = config.indexOf('/'); - var noSlash = firstSlash === -1; - var portNoPath = firstColon > -1 && noSlash; - var portWithPath = !portNoPath && firstColon < firstSlash; + const firstColon = config.indexOf(':'); + const firstSlash = config.indexOf('/'); + const noSlash = firstSlash === -1; + const portNoPath = firstColon > -1 && noSlash; + const portWithPath = !portNoPath && firstColon < firstSlash; if ((noSlash || portNoPath || portWithPath) && !startsWithProtocolRE.test(config)) { config = defaultProto + '//' + config; } @@ -73,7 +73,7 @@ function Host(config, globalConfig) { // default logic for the port is to use 9200 for the default. When a string is specified though, // we will use the default from the protocol of the string. if (!config.port) { - var proto = config.protocol || 'http'; + let proto = config.protocol || 'http'; if (proto.charAt(proto.length - 1) === ':') { proto = proto.substring(0, proto.length - 1); } @@ -86,7 +86,7 @@ function Host(config, globalConfig) { if (_.isObject(config)) { // move hostname/portname to host/port semi-intelligently. _.each(simplify, function (to) { - var from = to + 'name'; + const from = to + 'name'; if (config[from] && config[to]) { if (config[to].indexOf(config[from]) === 0) { config[to] = config[from]; @@ -101,7 +101,7 @@ function Host(config, globalConfig) { } if (!config.auth && globalConfig.httpAuth) { - config.auth = globalConfig.httpAuth + config.auth = globalConfig.httpAuth; } if (config.auth) { @@ -145,14 +145,14 @@ function Host(config, globalConfig) { Host.prototype.makeUrl = function (params) { params = params || {}; // build the port - var port = ''; + let port = ''; if (this.port !== Host.defaultPorts[this.protocol]) { // add an actual port port = ':' + this.port; } // build the path - var path = '' + (this.path || '') + (params.path || ''); + let path = '' + (this.path || '') + (params.path || ''); // if path doesn't start with '/' add it. if (path.charAt(0) !== '/') { @@ -160,7 +160,7 @@ Host.prototype.makeUrl = function (params) { } // build the query string - var query = qs.stringify(this.getQuery(params.query)); + const query = qs.stringify(this.getQuery(params.query)); if (this.host) { return this.protocol + '://' + this.host + port + path + (query ? '?' + query : ''); @@ -175,7 +175,7 @@ function objectPropertyGetter(prop, preOverride) { overrides = preOverride.call(this, overrides); } - var obj = this[prop]; + let obj = this[prop]; if (!obj && !overrides) { return null; } diff --git a/src/lib/log.js b/src/lib/log.js index 804d601f8..fc4f4a511 100644 --- a/src/lib/log.js +++ b/src/lib/log.js @@ -1,6 +1,6 @@ -var _ = require('./utils'); -var url = require('url'); -var EventEmitter = require('events').EventEmitter; +const _ = require('./utils'); +const url = require('url'); +const EventEmitter = require('events').EventEmitter; /** * Log bridge, which is an [EventEmitter](http://nodejs.org/api/events.html#events_class_events_eventemitter) @@ -21,8 +21,8 @@ function Log(config) { config = config || {}; if (!config.log) return; - var i; - var outputs; + let i; + let outputs; if (_.isArrayOfStrings(config.log)) { outputs = [{ @@ -158,7 +158,7 @@ Log.parseLevels = function (input) { /* fall through */ case 'object': if (_.isArray(input)) { - var valid = _.intersection(input, Log.levels); + const valid = _.intersection(input, Log.levels); if (valid.length === input.length) { return valid; } @@ -209,7 +209,7 @@ Log.prototype.addOutput = function (config) { config.levels = Log.parseLevels(config.levels || config.level || 'warning'); delete config.level; - var Logger = _.funcEnum(config, 'type', Log.loggers, process.browser ? 'console' : 'stdio'); + const Logger = _.funcEnum(config, 'type', Log.loggers, process.browser ? 'console' : 'stdio'); return new Logger(this, config); }; diff --git a/src/lib/logger.js b/src/lib/logger.js index 5732d7fed..2105d183d 100644 --- a/src/lib/logger.js +++ b/src/lib/logger.js @@ -1,4 +1,4 @@ -var _ = require('./utils'); +const _ = require('./utils'); /** * Abstract class providing common functionality to loggers @@ -27,7 +27,7 @@ function padNumToTen(n) { * @return {String} - Timestamp in ISO 8601 UTC */ LoggerAbstract.prototype.timestamp = function () { - var d = new Date(); + const d = new Date(); return d.getUTCFullYear() + '-' + padNumToTen(d.getUTCMonth() + 1) + '-' + padNumToTen(d.getUTCDate()) + 'T' + @@ -37,7 +37,7 @@ LoggerAbstract.prototype.timestamp = function () { }; function indent(text, spaces) { - var space = _.repeat(' ', spaces || 2); + const space = _.repeat(' ', spaces || 2); return (text || '').split(/\r?\n/).map(function (line) { return space + line; }).join('\n'); @@ -65,7 +65,7 @@ LoggerAbstract.prototype.setupListeners = function (levels) { this.listeningLevels = []; _.each(levels, _.bind(function (level) { - var fnName = 'on' + _.ucfirst(level); + const fnName = 'on' + _.ucfirst(level); if (this.bound[fnName]) { this.listeningLevels.push(level); this.log.on(level, this.bound[fnName]); diff --git a/src/lib/loggers/console.js b/src/lib/loggers/console.js index d5ec9771f..223f0a4ca 100644 --- a/src/lib/loggers/console.js +++ b/src/lib/loggers/console.js @@ -12,8 +12,8 @@ module.exports = Console; -var LoggerAbstract = require('../logger'); -var _ = require('../utils'); +const LoggerAbstract = require('../logger'); +const _ = require('../utils'); function Console(log, config) { LoggerAbstract.call(this, log, config); @@ -48,7 +48,7 @@ Console.prototype.write = function (label, message, to) { * @return {undefined} */ Console.prototype.onError = _.handler(function (e) { - var to = console.error ? 'error' : 'log'; + const to = console.error ? 'error' : 'log'; this.write(e.name === 'Error' ? 'ERROR' : e.name, e.stack || e.message, to); }); diff --git a/src/lib/loggers/file.js b/src/lib/loggers/file.js index 4b4357f96..ddc97c23c 100755 --- a/src/lib/loggers/file.js +++ b/src/lib/loggers/file.js @@ -11,9 +11,9 @@ module.exports = File; -var StreamLogger = require('./stream'); -var _ = require('../utils'); -var fs = require('fs'); +const StreamLogger = require('./stream'); +const _ = require('../utils'); +const fs = require('fs'); function File(log, config) { config = config || {}; @@ -32,7 +32,7 @@ function File(log, config) { _.inherits(File, StreamLogger); File.prototype.onProcessExit = _.handler(function () { - var toWrite = _.getUnwrittenFromStream(this.stream); + const toWrite = _.getUnwrittenFromStream(this.stream); if (toWrite) { fs.appendFileSync(this.path, toWrite); } diff --git a/src/lib/loggers/stdio.js b/src/lib/loggers/stdio.js index 1ba868d33..a58a7d73e 100755 --- a/src/lib/loggers/stdio.js +++ b/src/lib/loggers/stdio.js @@ -12,14 +12,14 @@ module.exports = Stdio; -var chalk = require('chalk'); +const chalk = require('chalk'); // let the user define if they want color in the client config. chalk.enabled = true; -var LoggerAbstract = require('../logger'); -var _ = require('../utils'); +const LoggerAbstract = require('../logger'); +const _ = require('../utils'); -var defaultColors = { +const defaultColors = { error: chalk.red.bold, warning: chalk.yellow.bold, info: chalk.cyan.bold, diff --git a/src/lib/loggers/stream.js b/src/lib/loggers/stream.js index 235440d15..6f075c4e5 100755 --- a/src/lib/loggers/stream.js +++ b/src/lib/loggers/stream.js @@ -12,8 +12,8 @@ module.exports = Stream; -var LoggerAbstract = require('../logger'); -var _ = require('../utils'); +const LoggerAbstract = require('../logger'); +const _ = require('../utils'); function Stream(log, config) { LoggerAbstract.call(this, log, config); @@ -36,7 +36,7 @@ Stream.prototype.cleanUpListeners = _.handler(function () { // flush the write buffer to stderr synchronously Stream.prototype.onProcessExit = _.handler(function () { // process is dying, lets manually flush the buffer synchronously to stderr. - var unwritten = _.getUnwrittenFromStream(this.stream); + const unwritten = _.getUnwrittenFromStream(this.stream); if (unwritten) { console.error('Log stream did not get to finish writing. Flushing to stderr'); console.error(unwritten); diff --git a/src/lib/loggers/tracer.js b/src/lib/loggers/tracer.js index c79b48c5e..96bf28ea7 100755 --- a/src/lib/loggers/tracer.js +++ b/src/lib/loggers/tracer.js @@ -12,10 +12,10 @@ module.exports = Tracer; -var StreamLogger = require('./stream'); -var fs = require('fs'); -var _ = require('../utils'); -var url = require('url'); +const StreamLogger = require('./stream'); +const fs = require('fs'); +const _ = require('../utils'); +const url = require('url'); function Tracer(log, config) { if (config.path === false) { @@ -31,22 +31,22 @@ function Tracer(log, config) { } _.inherits(Tracer, StreamLogger); -var usefulUrlFields = ['protocol', 'slashes', 'port', 'hostname', 'pathname', 'query']; +const usefulUrlFields = ['protocol', 'slashes', 'port', 'hostname', 'pathname', 'query']; Tracer.prototype._formatTraceMessage = function (req) { - var reqUrl = _.pick(url.parse(req.url, true, false), usefulUrlFields); + const reqUrl = _.pick(url.parse(req.url, true, false), usefulUrlFields); - var originalHost = url.format(_.pick(reqUrl, 'protocol', 'hostname', 'port')); + const originalHost = url.format(_.pick(reqUrl, 'protocol', 'hostname', 'port')); reqUrl.port = this.curlPort; reqUrl.hostname = this.curlHost; reqUrl.query = _.defaults(reqUrl.query || {}, { pretty: true }); /* jshint quotmark: double */ - var curlCall = + const curlCall = '# ' + originalHost + '\n' + - "curl '" + url.format(reqUrl).replace(/'/g, "\\'") + "' -X" + req.method.toUpperCase() + - (req.body ? " -d '" + this._prettyJson(req.body) + "'" : ''); + 'curl \'' + url.format(reqUrl).replace(/'/g, '\\\'') + '\' -X' + req.method.toUpperCase() + + (req.body ? ' -d \'' + this._prettyJson(req.body) + '\'' : ''); /* jshint quotmark: single */ return { @@ -62,7 +62,7 @@ function comment(str) { } Tracer.prototype.write = function (label, msg) { - var lead = comment(label + ': ' + this.timestamp()) + '\n'; + const lead = comment(label + ': ' + this.timestamp()) + '\n'; if (typeof msg === 'string') { this.stream.write(lead + comment(msg) + '\n\n', 'utf8'); } else { diff --git a/src/lib/nodes_to_host.js b/src/lib/nodes_to_host.js index c87ce9041..af05105e8 100644 --- a/src/lib/nodes_to_host.js +++ b/src/lib/nodes_to_host.js @@ -1,14 +1,14 @@ -var _ = require('./utils'); +const _ = require('./utils'); -var extractHostPartsRE1x = /\[(?:(.*)\/)?(.+?):(\d+)\]/; +const extractHostPartsRE1x = /\[(?:(.*)\/)?(.+?):(\d+)\]/; function makeNodeParser(hostProp) { return function (nodes) { return _.transform(nodes, function (hosts, node, id) { - var address = _.get(node, hostProp) + let address = _.get(node, hostProp); if (!address) return; - var host = { + const host = { host: undefined, port: undefined, _meta: { @@ -18,13 +18,13 @@ function makeNodeParser(hostProp) { } }; - var malformedError = new Error( + const malformedError = new Error( 'Malformed ' + hostProp + '.' + ' Got ' + JSON.stringify(address) + ' and expected it to match "{hostname?}/{ip}:{port}".' ); - var matches1x = extractHostPartsRE1x.exec(address); + const matches1x = extractHostPartsRE1x.exec(address); if (matches1x) { host.host = matches1x[1] || matches1x[2]; host.port = parseInt(matches1x[3], 10); @@ -33,7 +33,7 @@ function makeNodeParser(hostProp) { } if (address.indexOf('/') > -1) { - var withHostParts = address.split('/'); + const withHostParts = address.split('/'); if (withHostParts.length !== 2) throw malformedError; host.host = withHostParts.shift(); @@ -44,7 +44,7 @@ function makeNodeParser(hostProp) { throw malformedError; } - var addressParts = address.split(':'); + const addressParts = address.split(':'); if (addressParts.length !== 2) { throw malformedError; } diff --git a/src/lib/selectors/round_robin.js b/src/lib/selectors/round_robin.js index e7de6858c..c2294524a 100644 --- a/src/lib/selectors/round_robin.js +++ b/src/lib/selectors/round_robin.js @@ -7,7 +7,7 @@ * @return {Connection} - The selected connection */ module.exports = function (connections) { - var connection = connections[0]; + const connection = connections[0]; connections.push(connections.shift()); return connection; }; diff --git a/src/lib/serializers/angular.js b/src/lib/serializers/angular.js index 1548badc1..efa6f2efd 100644 --- a/src/lib/serializers/angular.js +++ b/src/lib/serializers/angular.js @@ -1,6 +1,6 @@ /* global angular */ -var _ = require('../utils'); -var JsonSerializer = require('../serializers/json'); +const _ = require('../utils'); +const JsonSerializer = require('../serializers/json'); function AngularSerializer() {} _.inherits(AngularSerializer, JsonSerializer); diff --git a/src/lib/serializers/json.js b/src/lib/serializers/json.js index 3f9f8d646..15d4cbcd8 100755 --- a/src/lib/serializers/json.js +++ b/src/lib/serializers/json.js @@ -4,7 +4,7 @@ */ module.exports = Json; -var _ = require('../utils'); +const _ = require('../utils'); function Json() {} @@ -44,7 +44,7 @@ Json.prototype.deserialize = function (str) { }; Json.prototype.bulkBody = function (val) { - var body = '', i; + let body = '', i; if (_.isArray(val)) { for (i = 0; i < val.length; i++) { diff --git a/src/lib/transport.js b/src/lib/transport.js index dbbc0f45c..99b037cb9 100644 --- a/src/lib/transport.js +++ b/src/lib/transport.js @@ -4,25 +4,25 @@ */ module.exports = Transport; -var _ = require('./utils'); -var errors = require('./errors'); -var Host = require('./host'); -var patchSniffOnConnectionFault = require('./transport/sniff_on_connection_fault'); -var findCommonProtocol = require('./transport/find_common_protocol'); +const _ = require('./utils'); +const errors = require('./errors'); +const Host = require('./host'); +const patchSniffOnConnectionFault = require('./transport/sniff_on_connection_fault'); +const findCommonProtocol = require('./transport/find_common_protocol'); function Transport(config) { - var self = this; + const self = this; config = self._config = config || {}; - var LogClass = (typeof config.log === 'function') ? config.log : require('./log'); + const LogClass = (typeof config.log === 'function') ? config.log : require('./log'); config.log = self.log = new LogClass(config); // setup the connection pool - var ConnectionPool = _.funcEnum(config, 'connectionPool', Transport.connectionPools, 'main'); + const ConnectionPool = _.funcEnum(config, 'connectionPool', Transport.connectionPools, 'main'); self.connectionPool = new ConnectionPool(config); // setup the serializer - var Serializer = _.funcEnum(config, 'serializer', Transport.serializers, 'json'); + const Serializer = _.funcEnum(config, 'serializer', Transport.serializers, 'json'); self.serializer = new Serializer(config); // setup the nodesToHostCallback @@ -42,14 +42,14 @@ function Transport(config) { } // randomizeHosts option - var randomizeHosts = config.hasOwnProperty('randomizeHosts') ? !!config.randomizeHosts : true; + const randomizeHosts = config.hasOwnProperty('randomizeHosts') ? !!config.randomizeHosts : true; if (config.host) { config.hosts = config.host; } if (config.hosts) { - var hostsConfig = _.createArray(config.hosts, function (val) { + let hostsConfig = _.createArray(config.hosts, function (val) { if (_.isPlainObject(val) || _.isString(val) || val instanceof Host) { return val; } @@ -104,10 +104,10 @@ Transport.prototype.defer = function () { throw new Error( 'No Promise implementation found. In order for elasticsearch-js to create promises ' + 'either specify the `defer` configuration or include a global Promise shim' - ) + ); } - var defer = {}; + const defer = {}; defer.promise = new Promise(function (resolve, reject) { defer.resolve = resolve; defer.reject = reject; @@ -133,19 +133,19 @@ Transport.prototype.defer = function () { * @param {Function} cb - A function to call back with (error, responseBody, responseStatus) */ Transport.prototype.request = function (params, cb) { - var self = this; - var remainingRetries = this.maxRetries; - var requestTimeout = this.requestTimeout; + const self = this; + let remainingRetries = this.maxRetries; + let requestTimeout = this.requestTimeout; - var connection; // set in sendReqWithConnection - var aborted = false; // several connector will respond with an error when the request is aborted - var requestAborter; // an abort function, returned by connection#request() - var requestTimeoutId; // the id of the ^timeout - var ret; // the object returned to the user, might be a promise - var defer; // the defer object, will be set when we are using promises. + let connection; // set in sendReqWithConnection + let aborted = false; // several connector will respond with an error when the request is aborted + let requestAborter; // an abort function, returned by connection#request() + let requestTimeoutId; // the id of the ^timeout + let ret; // the object returned to the user, might be a promise + let defer; // the defer object, will be set when we are using promises. - var body = params.body; - var headers = !params.headers ? {} : _.transform(params.headers, function (headers, val, name) { + let body = params.body; + const headers = !params.headers ? {} : _.transform(params.headers, function (headers, val, name) { headers[String(name).toLowerCase()] = val; }); @@ -173,8 +173,8 @@ Transport.prototype.request = function (params, cb) { // serialize the body if (body) { - var serializer = self.serializer; - var serializeFn = serializer[params.bulkBody ? 'bulkBody' : 'serialize']; + const serializer = self.serializer; + const serializeFn = serializer[params.bulkBody ? 'bulkBody' : 'serialize']; body = serializeFn.call(serializer, body); if (!headers['content-type']) { @@ -230,7 +230,7 @@ Transport.prototype.request = function (params, cb) { if (err) { connection.setStatus('dead'); - var errMsg = err.message || ''; + let errMsg = err.message || ''; errMsg = '\n' + @@ -261,8 +261,8 @@ Transport.prototype.request = function (params, cb) { } self._timeout(requestTimeoutId); - var parsedBody; - var isJson = !headers || (headers['content-type'] && ~headers['content-type'].indexOf('application/json')); + let parsedBody; + const isJson = !headers || (headers['content-type'] && ~headers['content-type'].indexOf('application/json')); if (!err && body) { if (isJson) { @@ -283,7 +283,7 @@ Transport.prototype.request = function (params, cb) { && (!params.ignore || !_.include(params.ignore, status)) ) { - var errorMetadata = _.pick(params.req, ['path', 'query', 'body']); + const errorMetadata = _.pick(params.req, ['path', 'query', 'body']); errorMetadata.statusCode = status; errorMetadata.response = body; @@ -356,8 +356,8 @@ Transport.prototype.request = function (params, cb) { Transport.prototype._timeout = function (cb, delay) { if (this.closed) return; - var id; - var timers = this._timers || (this._timers = []); + let id; + const timers = this._timers || (this._timers = []); if ('function' !== typeof cb) { id = cb; @@ -378,7 +378,7 @@ Transport.prototype._timeout = function (cb, delay) { if (id) { clearTimeout(id); - var i = this._timers.indexOf(id); + const i = this._timers.indexOf(id); if (i !== -1) { this._timers.splice(i, 1); } @@ -392,10 +392,10 @@ Transport.prototype._timeout = function (cb, delay) { * @param {Function} cb - Function to call back once complete */ Transport.prototype.sniff = function (cb) { - var self = this; - var nodesToHostCallback = this.nodesToHostCallback; - var log = this.log; - var sniffedNodesProtocol = this.sniffedNodesProtocol; + const self = this; + const nodesToHostCallback = this.nodesToHostCallback; + const log = this.log; + const sniffedNodesProtocol = this.sniffedNodesProtocol; // make cb a function if it isn't cb = typeof cb === 'function' ? cb : _.noop; @@ -414,7 +414,7 @@ Transport.prototype.sniff = function (cb) { method: 'GET' }, function (err, resp, status) { if (!err && resp && resp.nodes) { - var hostsConfigs; + let hostsConfigs; try { hostsConfigs = nodesToHostCallback(resp.nodes); @@ -441,7 +441,7 @@ Transport.prototype.sniff = function (cb) { * that will be used to create Host objects. */ Transport.prototype.setHosts = function (hostsConfigs) { - var globalConfig = this._config; + const globalConfig = this._config; this.connectionPool.setHosts(_.map(hostsConfigs, function (conf) { return (conf instanceof Host) ? conf : new Host(conf, globalConfig); })); diff --git a/src/lib/transport/find_common_protocol.js b/src/lib/transport/find_common_protocol.js index ae1a0f536..9f64c35fc 100644 --- a/src/lib/transport/find_common_protocol.js +++ b/src/lib/transport/find_common_protocol.js @@ -1,14 +1,14 @@ -var isEmpty = require('lodash.isempty'); +const isEmpty = require('lodash.isempty'); module.exports = function (hosts) { if (isEmpty(hosts)) return false; - var commonProtocol = hosts.shift().protocol; - for (var i = 0; i < hosts.length; i++) { + const commonProtocol = hosts.shift().protocol; + for (let i = 0; i < hosts.length; i++) { if (commonProtocol !== hosts[i].protocol) { return false; } } return commonProtocol; -} +}; diff --git a/src/lib/transport/sniff_on_connection_fault.js b/src/lib/transport/sniff_on_connection_fault.js index e7bd8c089..06ce3acdd 100644 --- a/src/lib/transport/sniff_on_connection_fault.js +++ b/src/lib/transport/sniff_on_connection_fault.js @@ -1,4 +1,4 @@ -var _ = require('../utils'); +const _ = require('../utils'); /** @@ -11,9 +11,9 @@ var _ = require('../utils'); * @return {undefined} */ module.exports = function setupSniffOnConnectionFault(transport) { - var failures = 0; - var pool = transport.connectionPool; - var originalOnDied = pool._onConnectionDied; + let failures = 0; + const pool = transport.connectionPool; + const originalOnDied = pool._onConnectionDied; // do the actual sniff, if the sniff is unable to // connect to a node this function will be called again by the connectionPool @@ -24,8 +24,8 @@ module.exports = function setupSniffOnConnectionFault(transport) { // create a function that will count down to a // point n milliseconds into the future - var countdownTo = function (ms) { - var start = _.now(); + const countdownTo = function (ms) { + const start = _.now(); return function () { return start - ms; }; @@ -33,12 +33,12 @@ module.exports = function setupSniffOnConnectionFault(transport) { // overwrite the function, but still call it pool._onConnectionDied = function (connection, wasAlreadyDead) { - var ret = originalOnDied.call(pool, connection, wasAlreadyDead); + const ret = originalOnDied.call(pool, connection, wasAlreadyDead); // clear the failures if this is the first failure we have seen failures = work.timerId ? failures + 1 : 0; - var ms = pool.calcDeadTimeout(failures, 1000); + const ms = pool.calcDeadTimeout(failures, 1000); if (work.timerId && ms < work.timerId && work.countdown()) { // clear the timer diff --git a/src/lib/utils.js b/src/lib/utils.js index 20cd9edbb..e1303a5e4 100644 --- a/src/lib/utils.js +++ b/src/lib/utils.js @@ -1,6 +1,6 @@ -var path = require('path'); -var nodeUtils = require('util'); -var lodash = require('lodash'); +const path = require('path'); +const nodeUtils = require('util'); +const lodash = require('lodash'); /** * Custom utils library, basically a modified version of [lodash](http://lodash.com/docs) + @@ -10,7 +10,7 @@ var lodash = require('lodash'); * @class utils * @static */ -var _ = lodash.assign({}, lodash, nodeUtils); +const _ = lodash.assign({}, lodash, nodeUtils); /** * Link to [path.join](http://nodejs.org/api/path.html#path_path_join_path1_path2) @@ -67,7 +67,7 @@ _.each([ 'Function', 'RegExp' ], function (type) { - var check = _['is' + type]; + const check = _['is' + type]; _['isArrayOf' + type + 's'] = function (arr) { // quick shallow check of arrays @@ -94,10 +94,10 @@ _.ucfirst = function (word) { */ function adjustWordCase(firstWordCap, otherWordsCap, sep) { return function (string) { - var i = 0; - var words = []; - var word = ''; - var code, c, upper, lower; + let i = 0; + const words = []; + let word = ''; + let code, c, upper, lower; for (; i < string.length; i++) { code = string.charCodeAt(i); @@ -210,7 +210,7 @@ _.isNumeric = function (val) { }; // regexp to test for intervals -var intervalRE = /^(\d+(?:\.\d+)?)(M|w|d|h|m|s|y|ms)$/; +const intervalRE = /^(\d+(?:\.\d+)?)(M|w|d|h|m|s|y|ms)$/; /** * Test if a string represents an interval (eg. 1m, 2Y) @@ -315,7 +315,7 @@ _.scheduled = _.handler; */ _.makeBoundMethods = function (obj) { obj.bound = {}; - for (var prop in obj) { + for (const prop in obj) { // dearest maintainer, we want to look through the prototype if (typeof obj[prop] === 'function' && obj[prop]._provideBound === true) { obj.bound[prop] = _.bind(obj[prop], obj); @@ -332,7 +332,7 @@ _.noop = function () {}; * @return {Function|undefined} - If a valid option was specified, then the constructor is returned */ _.funcEnum = function (config, name, opts, def) { - var val = config[name]; + const val = config[name]; switch (typeof val) { case 'undefined': return opts[def]; @@ -371,9 +371,9 @@ _.funcEnum = function (config, name, opts, def) { */ _.createArray = function (input, transform) { transform = typeof transform === 'function' ? transform : _.identity; - var output = []; - var item; - var i; + const output = []; + let item; + let i; if (!_.isArray(input)) { input = [input]; @@ -399,11 +399,11 @@ _.createArray = function (input, transform) { * @return {string} - the remaining test to be written to the stream */ _.getUnwrittenFromStream = function (stream) { - var writeBuffer = _.getStreamWriteBuffer(stream); + const writeBuffer = _.getStreamWriteBuffer(stream); if (!writeBuffer) return; // flush the write buffer - var out = ''; + let out = ''; if (!writeBuffer.length) return out; _.each(writeBuffer, function (writeReq) { @@ -423,7 +423,7 @@ _.getUnwrittenFromStream = function (stream) { _.getStreamWriteBuffer = function (stream) { if (!stream || !stream._writableState) return; - var writeState = stream._writableState; + const writeState = stream._writableState; if (writeState.getBuffer) { return writeState.getBuffer(); @@ -433,7 +433,7 @@ _.getStreamWriteBuffer = function (stream) { }; _.clearWriteStreamBuffer = function (stream) { - var buffer = _.getStreamWriteBuffer(stream); + const buffer = _.getStreamWriteBuffer(stream); return buffer && buffer.splice(0); }; diff --git a/test/fixtures/keepalive.js b/test/fixtures/keepalive.js index 63c30c9b1..df5f74d31 100644 --- a/test/fixtures/keepalive.js +++ b/test/fixtures/keepalive.js @@ -1,10 +1,10 @@ -var clock = require('sinon').useFakeTimers(); -var Client = require('../../src/elasticsearch').Client; -var _ = require('lodash'); -var times = require('async').times; +const clock = require('sinon').useFakeTimers(); +const Client = require('../../src/elasticsearch').Client; +const _ = require('lodash'); +const times = require('async').times; process.once('message', function (port) { - var es = new Client({ + const es = new Client({ host: 'http://127.0.0.1:' + port, log: false }); @@ -19,8 +19,8 @@ process.once('message', function (port) { }, done); clock.tick(10); }, function (err) { - var conns = es.transport.connectionPool._conns; - var sockets = _([].concat(conns.dead, conns.alive)) + const conns = es.transport.connectionPool._conns; + const sockets = _([].concat(conns.dead, conns.alive)) .transform(function (sockets, conn) { sockets.push(_.values(conn.agent.sockets), _.values(conn.agent.freeSockets)); }, []) @@ -29,7 +29,7 @@ process.once('message', function (port) { es.close(); - var out = { + const out = { socketCount: err || sockets.length, remaining: _.filter(sockets, { destroyed: true }).length - sockets.length, timeouts: _.size(clock.timers) && _.map(clock.timers, 'func').map(String) diff --git a/test/fixtures/keepalive_server.js b/test/fixtures/keepalive_server.js index e0d365878..c55f7b109 100644 --- a/test/fixtures/keepalive_server.js +++ b/test/fixtures/keepalive_server.js @@ -4,13 +4,13 @@ // which prevent sinon from being able to ensure // timeouts aren't being left behind -var express = require('express'); -var app = express().post('/_search', function (req, res) { +const express = require('express'); +const app = express().post('/_search', function (req, res) { res.json(200, { hits: { hits: [] } }); }); -var server = require('http').createServer(app); +const server = require('http').createServer(app); server.listen(function () { - var port = server.address().port; + const port = server.address().port; process.connected ? process.send(port) : console.log(port); }); diff --git a/test/integration/yaml_suite/client_manager.js b/test/integration/yaml_suite/client_manager.js index 372a7b427..02eb7e72e 100644 --- a/test/integration/yaml_suite/client_manager.js +++ b/test/integration/yaml_suite/client_manager.js @@ -1,22 +1,22 @@ -var BROWSER = process.env.browser; -var VERBOSE = process.env.VERBOSE; -var JENKINS = !!process.env.JENKINS_HOME; +const BROWSER = process.env.browser; +const VERBOSE = process.env.VERBOSE; +const JENKINS = !!process.env.JENKINS_HOME; -var es; +let es; if (BROWSER) { es = window.elasticsearch; } else { es = require('../../../src/elasticsearch'); } -var _ = require('../../../src/lib/utils'); -var path = require('path'); -var fs = require('fs'); -var fromRoot = _.bindKey(path, 'join', require('find-root')(__dirname)); -var Bluebird = require('bluebird'); +const _ = require('../../../src/lib/utils'); +const path = require('path'); +const fs = require('fs'); +const fromRoot = _.bindKey(path, 'join', require('find-root')(__dirname)); +const Bluebird = require('bluebird'); // current client -var client = null; +let client = null; module.exports = { create: function create(apiVersion, port, host, cb) { @@ -24,8 +24,8 @@ module.exports = { doCreateClient({ logConfig: null }, function () { - var attemptsRemaining = 60; - var timeout = 500; + let attemptsRemaining = 60; + const timeout = 500; (function ping() { client.info({ @@ -59,7 +59,7 @@ module.exports = { options = {}; } - var logConfig = {}; + let logConfig = {}; if (_.has(options, 'logConfig')) { logConfig = options.logConfig; } else { diff --git a/test/integration/yaml_suite/run.js b/test/integration/yaml_suite/run.js index 9ec43a994..5fcce9e33 100644 --- a/test/integration/yaml_suite/run.js +++ b/test/integration/yaml_suite/run.js @@ -1,18 +1,18 @@ module.exports = function (branch) { - var path = require('path'); - var jsYaml = require('js-yaml'); - var YamlFile = require('./yaml_file'); - var root = require('find-root')(__dirname); - var rootReq = function (loc) { return require(path.join(root, loc)); }; - var _ = rootReq('src/lib/utils'); - var utils = rootReq('grunt/utils'); - var es = rootReq('src/elasticsearch'); - var clientManager = require('./client_manager'); + const path = require('path'); + const jsYaml = require('js-yaml'); + const YamlFile = require('./yaml_file'); + const root = require('find-root')(__dirname); + const rootReq = function (loc) { return require(path.join(root, loc)); }; + const _ = rootReq('src/lib/utils'); + const utils = rootReq('grunt/utils'); + const es = rootReq('src/elasticsearch'); + const clientManager = require('./client_manager'); - var port = parseInt(process.env.ES_PORT || 9200, 10); - var host = process.env.ES_HOST || 'localhost'; - var _release = branch.match(/^v(\d+\.\d+)\.\d+$/); - var apiVersion = _release ? _release[1] : branch; + const port = parseInt(process.env.ES_PORT || 9200, 10); + const host = process.env.ES_HOST || 'localhost'; + const _release = branch.match(/^v(\d+\.\d+)\.\d+$/); + const apiVersion = _release ? _release[1] : branch; console.log(' branch:', branch); console.log(' port:', port); @@ -32,7 +32,7 @@ module.exports = function (branch) { return clientManager.get().clearEs(); }); - var files = _.map(require('./yaml_tests_' + _.snakeCase(branch) + '.json'), function (docs, filename) { + const files = _.map(require('./yaml_tests_' + _.snakeCase(branch) + '.json'), function (docs, filename) { return new YamlFile(filename, docs); }); diff --git a/test/integration/yaml_suite/yaml_doc.js b/test/integration/yaml_suite/yaml_doc.js index cd7911536..237c08f51 100644 --- a/test/integration/yaml_suite/yaml_doc.js +++ b/test/integration/yaml_suite/yaml_doc.js @@ -9,39 +9,39 @@ */ module.exports = YamlDoc; -var _ = require('lodash'); -var expect = require('expect.js'); -var clientManager = require('./client_manager'); -var inspect = require('util').inspect; +const _ = require('lodash'); +const expect = require('expect.js'); +const clientManager = require('./client_manager'); +const inspect = require('util').inspect; -var implementedFeatures = ['gtelte', 'regex', 'benchmark', 'stash_in_path', 'groovy_scripting']; +const implementedFeatures = ['gtelte', 'regex', 'benchmark', 'stash_in_path', 'groovy_scripting']; /** * The version that ES is running, in comparable string form XXX-XXX-XXX, fetched when needed * @type {String} */ -var ES_VERSION = null; +let ES_VERSION = null; // core expression for finding a version -var versionExp = '((?:\\d+\\.){0,2}\\d+)(?:[\\.\\-]\\w+)?|'; +const versionExp = '((?:\\d+\\.){0,2}\\d+)(?:[\\.\\-]\\w+)?|'; // match all whitespace within a "regexp" match arg -var reWhitespaceRE = /\s+/g; +const reWhitespaceRE = /\s+/g; // match all comments within a "regexp" match arg -var reCommentsRE = /([\S\s]?)#[^\n]*\n/g; +const reCommentsRE = /([\S\s]?)#[^\n]*\n/g; /** * Regular Expression to extract a version number from a string * @type {RegExp} */ -var versionRE = new RegExp('^(?:' + versionExp + ')$'); +const versionRE = new RegExp('^(?:' + versionExp + ')$'); /** * Regular Expression to extract a version range from a string * @type {RegExp} */ -var versionRangeRE = new RegExp('^(?:' + versionExp + ')\\s*\\-\\s*(?:' + versionExp + ')$'); +const versionRangeRE = new RegExp('^(?:' + versionExp + ')\\s*\\-\\s*(?:' + versionExp + ')$'); /** * Fetches the client.info, and parses out the version number to a comparable string @@ -70,7 +70,7 @@ function versionToComparableString(version, def) { return def; } - var parts = _.map(version.split('.'), function (part) { + const parts = _.map(version.split('.'), function (part) { part = '' + _.parseInt(part); return (new Array(Math.max(4 - part.length, 0))).join('0') + part; }); @@ -106,7 +106,7 @@ function rangeMatchesCurrentVersion(rangeString, done) { function YamlDoc(doc, file) { - var self = this; + const self = this; self.file = file; self.description = _.keys(doc).shift(); @@ -116,7 +116,7 @@ function YamlDoc(doc, file) { // setup the actions, creating a bound and testable method for each self._actions = _.map(self.flattenTestActions(doc[self.description]), function (action) { // get the method that will do the action - var method = self['do_' + action.name]; + const method = self['do_' + action.name]; // check that it's a function expect(method || 'YamlDoc#' + action.name).to.be.a('function'); @@ -175,14 +175,14 @@ function YamlDoc(doc, file) { YamlDoc.compareRangeToVersion = function (range, version) { expect(range).to.match(versionRangeRE); - var rangeMatch = versionRangeRE.exec(range); + const rangeMatch = versionRangeRE.exec(range); expect(version).to.match(versionRE); - var versionMatch = versionRE.exec(version); + const versionMatch = versionRE.exec(version); - var min = versionToComparableString(rangeMatch[1], -Infinity); - var max = versionToComparableString(rangeMatch[2], Infinity); - var comp = versionToComparableString(versionMatch[1], Infinity); + const min = versionToComparableString(rangeMatch[1], -Infinity); + const max = versionToComparableString(rangeMatch[2], Infinity); + const comp = versionToComparableString(versionMatch[1], Infinity); return (min === -Infinity || min <= comp) && (max === Infinity || max >= comp); }; @@ -199,7 +199,7 @@ YamlDoc.prototype = { flattenTestActions: function (config) { // creates [ [ {name:"", args:"" }, ... ], ... ] // from [ {name:args, name:args}, {name:args} ] - var actionSets = _.map(config, function (set) { + const actionSets = _.map(config, function (set) { return _.map(_.toPairs(set), function (pair) { return { name: pair[0], args: pair[1] }; }); @@ -219,7 +219,7 @@ YamlDoc.prototype = { * @return {undefined} */ each: function (ittr) { - for (var i = 0; i < this._actions.length; i++) { + for (let i = 0; i < this._actions.length; i++) { if (ittr(this._actions[i].testable, this._actions[i].name) === false) { break; } @@ -249,9 +249,9 @@ YamlDoc.prototype = { * @return {*} - The value requested, or undefined if it was not found */ get: function (path, from) { - var self = this; - var log = process.env.LOG_GETS && !from ? console.log.bind(console) : function () {}; - var i; + const self = this; + const log = process.env.LOG_GETS && !from ? console.log.bind(console) : function () {}; + let i; if (path === '$body') { // shortcut, the test just wants the whole body @@ -273,10 +273,10 @@ YamlDoc.prototype = { log('getting', path, 'from', from); - var steps = _.map(path ? path.replace(/\\\./g, '\uffff').split('.') : [], function (step) { + const steps = _.map(path ? path.replace(/\\\./g, '\uffff').split('.') : [], function (step) { return step.replace(/\uffff/g, '.'); }); - var remainingSteps; + let remainingSteps; for (i = 0; from != null && i < steps.length; i++) { if (from[steps[i]] === void 0) { @@ -319,8 +319,8 @@ YamlDoc.prototype = { } if (args.features) { - var features = Array.isArray(args.features) ? args.features : [args.features]; - var notImplemented = _.difference(features, implementedFeatures); + const features = Array.isArray(args.features) ? args.features : [args.features]; + const notImplemented = _.difference(features, implementedFeatures); if (notImplemented.length) { if (this.description === 'setup') { @@ -343,10 +343,10 @@ YamlDoc.prototype = { * @return {[type]} [description] */ do_do: function (args, done) { - var catcher; + let catcher; if (process.env.LOG_DO) { - var __done = done; + const __done = done; done = function (err, resp) { console.log('doing', clientActionName, 'with', params); console.log('got', resp); @@ -388,7 +388,7 @@ YamlDoc.prototype = { delete args.catch; - var inputParams = {}; + const inputParams = {}; // resolve the headers for a request if (args.headers) { @@ -396,25 +396,25 @@ YamlDoc.prototype = { delete args.headers; } - var otherKeys = _.keys(args); - var action = otherKeys.shift(); + const otherKeys = _.keys(args); + const action = otherKeys.shift(); if (otherKeys.length) { return done(new TypeError('Unexpected top-level args to "do": ' + otherKeys.join(', '))); } - var client = clientManager.get(); + const client = clientManager.get(); var clientActionName = _.map(action.split('.'), _.camelCase).join('.'); - var clientAction = this.get(clientActionName, client); + const clientAction = this.get(clientActionName, client); _.assign(inputParams, args[action]); var params = _.transform(inputParams, _.bind(function (params, val, name) { - var camelName = _.camelCase(name); + const camelName = _.camelCase(name); // search through the params and url peices to find this param name - var paramName = name; - var spec = clientAction && clientAction.spec; - var knownParam = spec && spec.params && spec.params[camelName]; - var knownUrlParam = spec && !knownParam && !!_.find(spec.url ? [spec.url] : spec.urls, function (url) { + let paramName = name; + const spec = clientAction && clientAction.spec; + const knownParam = spec && spec.params && spec.params[camelName]; + const knownUrlParam = spec && !knownParam && !!_.find(spec.url ? [spec.url] : spec.urls, function (url) { if ((url.opt && url.opt[camelName]) || (url.req && url.req[camelName])) { return true; } @@ -447,8 +447,8 @@ YamlDoc.prototype = { catcher = null; } - var timeoutId; - var cb = _.bind(function (error, body) { + let timeoutId; + const cb = _.bind(function (error, body) { this._last_requests_response = body; clearTimeout(timeoutId); @@ -473,7 +473,7 @@ YamlDoc.prototype = { done(error); }, this); - var req = clientAction.call(client, params, cb); + const req = clientAction.call(client, params, cb); timeoutId = setTimeout(function () { // request timed out, so we will skip the rest of the tests and continue req.abort(); @@ -507,7 +507,7 @@ YamlDoc.prototype = { * @return {undefined} */ do_is_true: function (path) { - var val = this.get(path); + const val = this.get(path); try { expect(Boolean(val)).to.be(true, 'path: ' + path); } catch (e) { @@ -523,7 +523,7 @@ YamlDoc.prototype = { * @return {undefined} */ do_is_false: function (path) { - var val = this.get(path); + const val = this.get(path); try { expect(Boolean(val)).to.be(false, 'path: ' + path); } catch (e) { @@ -563,7 +563,7 @@ YamlDoc.prototype = { * @return {undefined} */ do_match: function (args) { - var self = this; + const self = this; // recursively replace all $var within args _.forOwn(args, function recurse(val, key, lvl) { @@ -579,10 +579,10 @@ YamlDoc.prototype = { }); _.forOwn(args, _.bind(function (match, path) { - var origMatch = match; + const origMatch = match; - var maybeRE = false; - var usedRE = false; + let maybeRE = false; + let usedRE = false; if (_.isString(match)) { // convert the matcher into a compatible string for building a regexp @@ -599,8 +599,8 @@ YamlDoc.prototype = { // whitespace is represented with \s .replace(reWhitespaceRE, ''); - var startsWithSlash = maybeRE[0] === '/'; - var endsWithSlash = maybeRE[maybeRE.length - 1] === '/'; + const startsWithSlash = maybeRE[0] === '/'; + const endsWithSlash = maybeRE[maybeRE.length - 1] === '/'; if (startsWithSlash && endsWithSlash) { usedRE = true; @@ -608,8 +608,8 @@ YamlDoc.prototype = { } } - var val = this.get(path); - var test = 'eql'; + let val = this.get(path); + let test = 'eql'; if (match instanceof RegExp) { test = 'match'; @@ -622,7 +622,7 @@ YamlDoc.prototype = { try { expect(val).to[test](match); } catch (e) { - var msg = [ + const msg = [ '\nUnable to match', inspect(match), 'with the path', diff --git a/test/integration/yaml_suite/yaml_file.js b/test/integration/yaml_suite/yaml_file.js index b96529fc6..7d2ae83ad 100644 --- a/test/integration/yaml_suite/yaml_file.js +++ b/test/integration/yaml_suite/yaml_file.js @@ -6,13 +6,13 @@ */ module.exports = YamlFile; -var YamlDoc = require('./yaml_doc'); -var clientManager = require('./client_manager'); -var _ = require('../../../src/lib/utils'); -var async = require('async'); +const YamlDoc = require('./yaml_doc'); +const clientManager = require('./client_manager'); +const _ = require('../../../src/lib/utils'); +const async = require('async'); function YamlFile(filename, docs) { - var file = this; + const file = this; // file level skipping flag file.skipping = false; diff --git a/test/mocks/browser_server.js b/test/mocks/browser_server.js index 3d0010519..7e9e66ded 100644 --- a/test/mocks/browser_server.js +++ b/test/mocks/browser_server.js @@ -1,22 +1,22 @@ -var interceptors = []; -var complete = []; -var MockHttpRequest = require('./browser_http'); -var XhrServer = MockHttpRequest.MockHttpServer; -var parseUrl = MockHttpRequest.prototype.parseUri; -var _ = require('lodash'); +const interceptors = []; +const complete = []; +const MockHttpRequest = require('./browser_http'); +const XhrServer = MockHttpRequest.MockHttpServer; +const parseUrl = MockHttpRequest.prototype.parseUri; +const _ = require('lodash'); -var server = new XhrServer(function (request) { - var reqDetails = { +const server = new XhrServer(function (request) { + const reqDetails = { method: request.method, host: request.urlParts.host, path: request.urlParts.relative }; - var response = _.find(interceptors, reqDetails); + const response = _.find(interceptors, reqDetails); if (response) { // remove of tick down the times if (response.times === 1) { - var i = interceptors.indexOf(response); + const i = interceptors.indexOf(response); complete.push(interceptors.splice(i, 1)); } else { response.times--; @@ -31,8 +31,8 @@ var server = new XhrServer(function (request) { server.start(); var mockNock = module.exports = function (url) { - var parsedUrl = parseUrl(url); - var req = { + const parsedUrl = parseUrl(url); + const req = { method: 'GET', host: parsedUrl.host, times: 1 diff --git a/test/mocks/incomming_message.js b/test/mocks/incomming_message.js index ce29326cd..2c218b45a 100644 --- a/test/mocks/incomming_message.js +++ b/test/mocks/incomming_message.js @@ -6,9 +6,9 @@ */ module.exports = MockIncommingMessage; -var sinon = require('sinon'); -var util = require('util'); -var Readable = require('stream').Readable; +const sinon = require('sinon'); +const util = require('util'); +let Readable = require('stream').Readable; if (!Readable) { Readable = require('events').EventEmitter; diff --git a/test/mocks/request.js b/test/mocks/request.js index 01314c6e0..79a8819d2 100644 --- a/test/mocks/request.js +++ b/test/mocks/request.js @@ -5,9 +5,9 @@ */ module.exports = MockRequest; -var sinon = require('sinon'); -var util = require('util'); -var http = require('http'); +const sinon = require('sinon'); +const util = require('util'); +const http = require('http'); function MockRequest() { sinon.stub(this, 'end'); diff --git a/test/mocks/server.js b/test/mocks/server.js index 740fc6fae..89c175a6f 100644 --- a/test/mocks/server.js +++ b/test/mocks/server.js @@ -1,3 +1,3 @@ -var nock = require('nock'); +const nock = require('nock'); nock.disableNetConnect(); module.exports = nock; diff --git a/test/mocks/writable_stream.js b/test/mocks/writable_stream.js index 1907b233c..12f311051 100644 --- a/test/mocks/writable_stream.js +++ b/test/mocks/writable_stream.js @@ -3,9 +3,9 @@ * @type {Constuctor} */ -var util = require('util'); -var MockWritableStream; // defined simply for 0.10+, in detail for older versions -var Writable = require('stream').Writable; +const util = require('util'); +let MockWritableStream; // defined simply for 0.10+, in detail for older versions +const Writable = require('stream').Writable; if (Writable) { @@ -18,7 +18,7 @@ if (Writable) { util.inherits(MockWritableStream, Writable); } else { // Node < 0.10 did not provide a usefull stream abstract - var Stream = require('stream').Stream; + const Stream = require('stream').Stream; module.exports = MockWritableStream = function (opts) { Stream.call(this); this.writable = true; @@ -31,8 +31,8 @@ if (Writable) { return false; } - var cb; - if (typeof(arguments[arguments.length - 1]) === 'function') { + let cb; + if (typeof (arguments[arguments.length - 1]) === 'function') { cb = arguments[arguments.length - 1]; } @@ -42,9 +42,9 @@ if (Writable) { }; MockWritableStream.prototype.end = function (data, encoding, cb) { - if (typeof(data) === 'function') { + if (typeof (data) === 'function') { cb = data; - } else if (typeof(encoding) === 'function') { + } else if (typeof (encoding) === 'function') { cb = encoding; this.write(data); } else if (arguments.length > 0) { @@ -54,7 +54,7 @@ if (Writable) { }; MockWritableStream.prototype.destroy = function (cb) { - var self = this; + const self = this; if (!this.writable) { if (cb) { diff --git a/test/unit/browser_builds/angular.js b/test/unit/browser_builds/angular.js index aa021498b..9f8e84842 100644 --- a/test/unit/browser_builds/angular.js +++ b/test/unit/browser_builds/angular.js @@ -1,23 +1,23 @@ /* global angular */ -var _ = require('lodash'); -var expect = require('expect.js'); -var Promise = require('bluebird'); -var sinon = require('sinon'); +const _ = require('lodash'); +const expect = require('expect.js'); +const Promise = require('bluebird'); +const sinon = require('sinon'); describe('Angular esFactory', function () { before(function () { require('../../../src/elasticsearch.angular.js'); }); - var uuid = (function () { var i = 0; return function () { return ++i; }; }()); - var esFactory; - var $http; - var $rootScope; - var $httpBackend; + const uuid = (function () { let i = 0; return function () { return ++i; }; }()); + let esFactory; + let $http; + let $rootScope; + let $httpBackend; function bootstrap(env) { beforeEach(function () { - var promiseProvider = _.noop; + let promiseProvider = _.noop; if (env.bluebirdPromises) { promiseProvider = function ($provide) { $provide.service('$q', function () { @@ -59,7 +59,7 @@ describe('Angular esFactory', function () { }); it('returns a new client when it is called', function () { - var client = esFactory({ + const client = esFactory({ hosts: null }); @@ -69,10 +69,10 @@ describe('Angular esFactory', function () { }); it('returns an error created by calling a method incorrectly', function () { - var client = esFactory({ hosts: null }); - var err; + const client = esFactory({ hosts: null }); + let err; - var prom = client.get().then(function () { + const prom = client.get().then(function () { throw new Error('expected request to fail'); }, function (err) { expect(err).to.have.property('message'); diff --git a/test/unit/browser_builds/generic.js b/test/unit/browser_builds/generic.js index e523fe7c9..93b82a934 100644 --- a/test/unit/browser_builds/generic.js +++ b/test/unit/browser_builds/generic.js @@ -1,8 +1,8 @@ -var expect = require('expect.js'); -var Transport = require('../../../src/lib/transport'); +const expect = require('expect.js'); +const Transport = require('../../../src/lib/transport'); describe('elasticsearch namespace', function () { - var es = window.elasticsearch; + const es = window.elasticsearch; it('is defined on the window', function () { expect(es).to.be.ok(); }); @@ -12,7 +12,7 @@ describe('elasticsearch namespace', function () { }); it('can create a client', function () { - var client = new es.Client({ hosts: null }); + const client = new es.Client({ hosts: null }); expect(client).to.have.keys('transport'); expect(client.transport).to.be.a(es.Transport); client.close(); diff --git a/test/unit/browser_builds/jquery.js b/test/unit/browser_builds/jquery.js index 11e04ad63..62e246277 100644 --- a/test/unit/browser_builds/jquery.js +++ b/test/unit/browser_builds/jquery.js @@ -1,6 +1,6 @@ /* global $ */ -var expect = require('expect.js'); -var Transport = require('../../../src/lib/transport'); +const expect = require('expect.js'); +const Transport = require('../../../src/lib/transport'); describe('jQuery.es namespace', function () { it('is defined on the global jQuery', function () { @@ -12,7 +12,7 @@ describe('jQuery.es namespace', function () { }); it('can create a client', function () { - var client = new $.es.Client({ hosts: null }); + const client = new $.es.Client({ hosts: null }); expect(client).to.have.keys('transport'); expect(client.transport).to.be.a($.es.Transport); client.close(); diff --git a/test/unit/buffer_flush_tests.js b/test/unit/buffer_flush_tests.js index 4d61a7ed8..285015e57 100644 --- a/test/unit/buffer_flush_tests.js +++ b/test/unit/buffer_flush_tests.js @@ -1,16 +1,16 @@ module.exports = function (makeLogger) { - var expect = require('expect.js'); - var stub = require('../utils/auto_release_stub').make(); - var fs = require('fs'); - var once = require('events').EventEmitter.prototype.once; - var _ = require('lodash'); + const expect = require('expect.js'); + const stub = require('../utils/auto_release_stub').make(); + const fs = require('fs'); + const once = require('events').EventEmitter.prototype.once; + const _ = require('lodash'); describe('buffer flush', function () { if (require('stream').Writable) { it('writes everything in the buffer to console.error', function () { - var line = 'This string is written 10 times to create buffered output\n'; + const line = 'This string is written 10 times to create buffered output\n'; - var exitHandler; + let exitHandler; stub(process, 'once', function (event, handler) { if (event === 'exit') { exitHandler = handler; @@ -18,7 +18,7 @@ module.exports = function (makeLogger) { once.call(process, event, handler); }); - var logger = makeLogger(); + const logger = makeLogger(); // write the line 10 times _.times(10, function () { @@ -26,7 +26,7 @@ module.exports = function (makeLogger) { }); // collect everything that is written to fs.appendFileSync - var flushedOutput = ''; + let flushedOutput = ''; stub(fs, 'appendFileSync', function (path, str) { flushedOutput += str; }); @@ -40,7 +40,7 @@ module.exports = function (makeLogger) { }); } else { it('does not fall apart with non streams2 streams', function () { - var exitHandler; + let exitHandler; stub(process, 'once', function (event, handler) { if (event === 'exit') { exitHandler = handler; @@ -48,7 +48,7 @@ module.exports = function (makeLogger) { once.call(process, event, handler); }); - var logger = makeLogger(); + const logger = makeLogger(); expect(function () { // call the event handler diff --git a/test/unit/coverage.js b/test/unit/coverage.js index a59557d9d..dde3445ed 100644 --- a/test/unit/coverage.js +++ b/test/unit/coverage.js @@ -1,4 +1,4 @@ -var blanket = require('blanket')({ +const blanket = require('blanket')({ pattern: require('path').join(__dirname, '../../src') }); diff --git a/test/unit/generic_logger_tests.js b/test/unit/generic_logger_tests.js index 42f788ceb..e92452bd1 100644 --- a/test/unit/generic_logger_tests.js +++ b/test/unit/generic_logger_tests.js @@ -1,13 +1,13 @@ -var expect = require('expect.js'); -var Log = require('../../src/lib/log'); -var LoggerAbstract = require('../../src/lib/logger'); -var TracerLogger = require('../../src/lib/loggers/tracer'); -var now = new Date('2013-03-01T00:00:00Z'); -var sinon = require('sinon'); +const expect = require('expect.js'); +const Log = require('../../src/lib/log'); +const LoggerAbstract = require('../../src/lib/logger'); +const TracerLogger = require('../../src/lib/loggers/tracer'); +const now = new Date('2013-03-01T00:00:00Z'); +const sinon = require('sinon'); module.exports = function (makeLogger) { - var stub = require('../utils/auto_release_stub').make(); - var parent = new Log(); + const stub = require('../utils/auto_release_stub').make(); + const parent = new Log(); afterEach(function () { parent.close(); @@ -15,7 +15,7 @@ module.exports = function (makeLogger) { describe('Constuctor', function () { it('calls setupListeners, passes its new levels', function () { - var logger = makeLogger(parent); + let logger = makeLogger(parent); stub(logger.constructor.prototype, 'setupListeners'); parent.close(); @@ -24,21 +24,21 @@ module.exports = function (makeLogger) { }); it('listens for the loggers\' "closing" event', function () { - var logger = makeLogger(parent); + const logger = makeLogger(parent); expect(parent.listenerCount('closing')).to.eql(1); }); }); describe('listening levels', function () { it('calls cleanUpListeners when the listeners are being setup', function () { - var logger = makeLogger(); + const logger = makeLogger(); stub(logger, 'cleanUpListeners'); logger.setupListeners([]); expect(logger.cleanUpListeners).to.have.property('callCount', 1); }); it('listens to just error when log is explicitly error', function () { - var logger = makeLogger(parent, 'error'); + const logger = makeLogger(parent, 'error'); expect(parent.listenerCount('error')).to.eql(1); expect(parent.listenerCount('warning')).to.eql(0); expect(parent.listenerCount('info')).to.eql(0); @@ -47,7 +47,7 @@ module.exports = function (makeLogger) { }); it('listens for all the events when level is "trace"', function () { - var logger = makeLogger(parent, 'trace'); + const logger = makeLogger(parent, 'trace'); expect(parent.listenerCount('error')).to.eql(1); expect(parent.listenerCount('warning')).to.eql(1); expect(parent.listenerCount('info')).to.eql(1); @@ -56,7 +56,7 @@ module.exports = function (makeLogger) { }); it('listens for specific events when level is an array', function () { - var logger = makeLogger(parent, ['error', 'trace']); + const logger = makeLogger(parent, ['error', 'trace']); expect(parent.listenerCount('error')).to.eql(1); expect(parent.listenerCount('warning')).to.eql(0); expect(parent.listenerCount('info')).to.eql(0); @@ -65,8 +65,8 @@ module.exports = function (makeLogger) { }); it('sets the logLevel property to the new levels', function () { - var logger = makeLogger(); - var levels = ['error']; + const logger = makeLogger(); + let levels = ['error']; logger.setupListeners(levels); expect(logger.listeningLevels).to.eql(levels).and.not.be(levels); @@ -80,14 +80,14 @@ module.exports = function (makeLogger) { }); it('rejects listening levels it can not listen to', function () { - var logger = makeLogger(); + const logger = makeLogger(); expect(function () { logger.setupListeners(['scream']); }).to.throwError(/unable to listen/i); }); it('emits events because something is listening', function () { - var logger = makeLogger(parent, 'trace'); + const logger = makeLogger(parent, 'trace'); stub(parent, 'emit'); parent.error(new Error('error message')); @@ -110,7 +110,7 @@ module.exports = function (makeLogger) { describe('#timestamp', function () { it('returns in the right format', function () { stub.autoRelease(sinon.useFakeTimers(now.getTime())); - var logger = makeLogger(); + const logger = makeLogger(); expect(logger.timestamp()).to.eql('2013-03-01T00:00:00Z'); }); }); @@ -118,7 +118,7 @@ module.exports = function (makeLogger) { describe('#format', function () { it('returns a single string with the message indented', function () { stub.autoRelease(sinon.useFakeTimers(now.getTime())); - var logger = makeLogger(); + const logger = makeLogger(); expect(logger.format('LABEL', 'MSG')).to.eql( 'LABEL: 2013-03-01T00:00:00Z\n' + ' MSG\n' + @@ -128,7 +128,7 @@ module.exports = function (makeLogger) { it('properly indents multi-line messages', function () { stub.autoRelease(sinon.useFakeTimers(now.getTime())); - var logger = makeLogger(); + const logger = makeLogger(); expect(logger.format('LABEL', 'MSG\nwith\nseveral lines')).to.eql( 'LABEL: 2013-03-01T00:00:00Z\n' + ' MSG\n' + @@ -141,7 +141,7 @@ module.exports = function (makeLogger) { describe('#onError', function () { it('uses the Error name when it is not just "Error"', function () { - var logger = makeLogger(); + const logger = makeLogger(); stub(logger, 'write', function (label, msg) { expect(label).to.eql('TypeError'); }); @@ -151,7 +151,7 @@ module.exports = function (makeLogger) { }); it('uses "ERROR" when the error name is "Error"', function () { - var logger = makeLogger(); + const logger = makeLogger(); stub(logger, 'write', function (label, msg) { expect(label).to.eql('ERROR'); }); @@ -163,7 +163,7 @@ module.exports = function (makeLogger) { describe('#onWarning', function () { it('uses the "WARNING" label', function () { - var logger = makeLogger(); + const logger = makeLogger(); stub(logger, 'write', function (label, msg) { expect(label).to.eql('WARNING'); }); @@ -172,7 +172,7 @@ module.exports = function (makeLogger) { }); it('echos the message', function () { - var logger = makeLogger(); + const logger = makeLogger(); stub(logger, 'write', function (label, msg) { expect(msg).to.eql('message'); }); @@ -184,7 +184,7 @@ module.exports = function (makeLogger) { describe('#onInfo', function () { it('uses the "INFO" label', function () { - var logger = makeLogger(); + const logger = makeLogger(); stub(logger, 'write', function (label, msg) { expect(label).to.eql('INFO'); }); @@ -193,7 +193,7 @@ module.exports = function (makeLogger) { }); it('echos the message', function () { - var logger = makeLogger(); + const logger = makeLogger(); stub(logger, 'write', function (label, msg) { expect(msg).to.eql('message'); }); @@ -205,7 +205,7 @@ module.exports = function (makeLogger) { describe('#onDebug', function () { it('uses the "DEBUG" label', function () { - var logger = makeLogger(); + const logger = makeLogger(); stub(logger, 'write', function (label, msg) { expect(label).to.eql('DEBUG'); }); @@ -214,7 +214,7 @@ module.exports = function (makeLogger) { }); it('echos the message', function () { - var logger = makeLogger(); + const logger = makeLogger(); stub(logger, 'write', function (label, msg) { expect(msg).to.eql('message'); }); @@ -226,7 +226,7 @@ module.exports = function (makeLogger) { describe('#onTrace', function () { it('uses the "TRACE" label', function () { - var logger = makeLogger(); + const logger = makeLogger(); stub(logger, 'write', function (label, msg) { expect(label).to.eql('TRACE'); }); diff --git a/test/unit/index.js b/test/unit/index.js index ed696a9c4..53d4e162a 100644 --- a/test/unit/index.js +++ b/test/unit/index.js @@ -1,6 +1,6 @@ require('bluebird').longStackTraces(); -var specDir = __dirname + '/specs'; +const specDir = __dirname + '/specs'; require('fs').readdirSync(specDir).forEach(function (file) { require(specDir + '/' + file); }); diff --git a/test/unit/specs/abstract_logger.js b/test/unit/specs/abstract_logger.js index 577c0fc9f..e64217d35 100644 --- a/test/unit/specs/abstract_logger.js +++ b/test/unit/specs/abstract_logger.js @@ -1,11 +1,11 @@ describe('Logger Abstract', function () { - var expect = require('expect.js'); - var sinon = require('sinon'); - var Log = require('../../../src/lib/log'); - var LoggerAbstract = require('../../../src/lib/logger'); + const expect = require('expect.js'); + const sinon = require('sinon'); + const Log = require('../../../src/lib/log'); + const LoggerAbstract = require('../../../src/lib/logger'); - var parentLog; - var stub = require('../../utils/auto_release_stub').make(); + let parentLog; + const stub = require('../../utils/auto_release_stub').make(); function makeLogger(parent, levels) { return new LoggerAbstract(parent || parentLog, { @@ -24,7 +24,7 @@ describe('Logger Abstract', function () { describe('#write', function () { it('requires that it is overwritten', function () { expect(function () { - var logger = makeLogger(); + const logger = makeLogger(); logger.write(); }).to.throwError(/overwritten/); }); diff --git a/test/unit/specs/client.js b/test/unit/specs/client.js index 0be3338f5..6d42b48cc 100644 --- a/test/unit/specs/client.js +++ b/test/unit/specs/client.js @@ -1,12 +1,12 @@ describe('Client instances creation', function () { - var stream = require('stream'); - var util = require('util'); + const stream = require('stream'); + const util = require('util'); - var es = require('../../../src/elasticsearch'); - var apis = require('../../../src/lib/apis'); - var expect = require('expect.js'); - var stub = require('../../utils/auto_release_stub').make(); - var client; + const es = require('../../../src/elasticsearch'); + const apis = require('../../../src/lib/apis'); + const expect = require('expect.js'); + const stub = require('../../utils/auto_release_stub').make(); + let client; describe('', function () { beforeEach(function () { @@ -18,16 +18,16 @@ describe('Client instances creation', function () { }); it('throws an error linking to the es module when you try to instanciate the exports', function () { - var Es = es; + const Es = es; expect(function () { - var c = new Es(); - return c + const c = new Es(); + return c; }).to.throwError(/previous "elasticsearch" module/); }); - var pkg = require('../../../package.json'); - var def = pkg.config.default_api_branch; - var prev = pkg.config.supported_es_branches[pkg.config.supported_es_branches.indexOf(def) + 1]; + const pkg = require('../../../package.json'); + const def = pkg.config.default_api_branch; + const prev = pkg.config.supported_es_branches[pkg.config.supported_es_branches.indexOf(def) + 1]; it('inherits the ' + def + ' API by default', function () { expect(client.bulk).to.be(apis[def].bulk); @@ -44,7 +44,7 @@ describe('Client instances creation', function () { }); it('closing the client causes it\'s transport to be closed', function () { - var called = false; + let called = false; client.transport.close = function () { called = true; }; @@ -72,7 +72,7 @@ describe('Client instances creation', function () { done(); }; - var client = new es.Client({ + const client = new es.Client({ log: [ { type: 'stream', stream: new NullStream() } ] diff --git a/test/unit/specs/client_action.js b/test/unit/specs/client_action.js index 1b755ee16..57f7e7be1 100644 --- a/test/unit/specs/client_action.js +++ b/test/unit/specs/client_action.js @@ -1,8 +1,8 @@ -var ca = require('../../../src/lib/client_action').factory; -var proxy = require('../../../src/lib/client_action').proxyFactory; -var expect = require('expect.js'); -var _ = require('lodash'); -var Promise = require('bluebird'); +const ca = require('../../../src/lib/client_action').factory; +const proxy = require('../../../src/lib/client_action').proxyFactory; +const expect = require('expect.js'); +const _ = require('lodash'); +const Promise = require('bluebird'); /** * Creates a simple mock of the client, whose "transport" has a request @@ -60,13 +60,13 @@ function makeClientActionProxy(fn, spec) { describe('Client Action runner', function () { - var action; + let action; // used to check that params are not clobbered - var params = (function () { - var _stash = {}; + const params = (function () { + let _stash = {}; afterEach(function () { _stash = {}; }); - var make = function (params) { + const make = function (params) { _stash.orig = params; _stash.copy = _.clone(params); return params; @@ -92,7 +92,7 @@ describe('Client Action runner', function () { describe('clientAction::proxy', function () { it('proxies to the passed function', function () { - var action = makeClientActionProxy(function (params, cb) { + const action = makeClientActionProxy(function (params, cb) { throw new Error('proxy function called'); }); @@ -102,8 +102,8 @@ describe('Client Action runner', function () { }); it('provides the proper context', function (done) { - var client; - var action = makeClientActionProxy(function (params, cb) { + let client; + const action = makeClientActionProxy(function (params, cb) { client = this; process.nextTick(function () { cb(void 0, params); @@ -117,7 +117,7 @@ describe('Client Action runner', function () { }); it('handles passing just the callback', function () { - var action = makeClientActionProxy(function (params, cb) { + const action = makeClientActionProxy(function (params, cb) { expect(_.isObject(params)).to.be.ok(); expect(cb).to.be.a('function'); }); @@ -126,7 +126,7 @@ describe('Client Action runner', function () { }); it('supports a param transformation function', function () { - var action = makeClientActionProxy(function (params, cb) { + const action = makeClientActionProxy(function (params, cb) { expect(params).to.have.property('transformed'); }, { transform: function (params) { @@ -138,8 +138,8 @@ describe('Client Action runner', function () { }); it('returns the proxied function\'s return value', function () { - var football = {}; - var action = makeClientActionProxy(function (params, cb) { + const football = {}; + const action = makeClientActionProxy(function (params, cb) { return football; }); @@ -537,7 +537,7 @@ describe('Client Action runner', function () { }); it('accepts numbers, strings, and dates', function (done) { - var now = new Date(); + const now = new Date(); action({ one: '42', @@ -587,7 +587,7 @@ describe('Client Action runner', function () { describe('passing of control params from spec', function () { it('passes bulkBody', function (done) { - var action = makeClientAction({ + const action = makeClientAction({ bulkBody: true }); @@ -598,7 +598,7 @@ describe('Client Action runner', function () { }); it('sets castExists when the method in the spec is HEAD', function (done) { - var action = makeClientAction({ + const action = makeClientAction({ method: 'HEAD' }); @@ -610,12 +610,12 @@ describe('Client Action runner', function () { }); describe('body handling', function () { - var action = makeClientAction({ + const action = makeClientAction({ needsBody: true }); it('passed the body when it is set', function (done) { - var body = '{"JSON":"PLEASE"}'; + const body = '{"JSON":"PLEASE"}'; action({ body: body }, function (err, params) { expect(params.body).to.be(body); @@ -635,7 +635,7 @@ describe('Client Action runner', function () { describe('passing of http method', function () { it('uppercases and passed the default method', function (done) { - var action = makeClientAction({ + const action = makeClientAction({ method: 'POST' }); @@ -646,7 +646,7 @@ describe('Client Action runner', function () { }); it('uppercases and passed the default method', function (done) { - var action = makeClientAction({ + const action = makeClientAction({ method: 'POST' }); @@ -659,7 +659,7 @@ describe('Client Action runner', function () { describe('passing of ignore param', function () { it('passes ignore as an array', function (done) { - var action = makeClientAction({}); + const action = makeClientAction({}); action({ ignore: 404 }, function (err, params) { expect(params.ignore).to.eql([404]); done(); @@ -669,7 +669,7 @@ describe('Client Action runner', function () { describe('passing requestTimeout', function () { it('passes passes the spec value by default', function (done) { - var action = makeClientAction({ + const action = makeClientAction({ requestTimeout: 100 }); @@ -680,7 +680,7 @@ describe('Client Action runner', function () { }); it('passes the provided value', function (done) { - var action = makeClientAction({ + const action = makeClientAction({ requestTimeout: 100 }); @@ -691,7 +691,7 @@ describe('Client Action runner', function () { }); it('passes nothing be default', function (done) { - var action = makeClientAction({}); + const action = makeClientAction({}); action({}, function (err, params) { expect(params.requestTimeout).be(void 0); @@ -702,7 +702,7 @@ describe('Client Action runner', function () { describe('url resolver', function () { - var action = makeClientAction({ + const action = makeClientAction({ urls: [ { fmt: '/<%=index%>/<%=type%>/<%=id%>/<%=thing%>', @@ -767,7 +767,7 @@ describe('Client Action runner', function () { }); describe('param collection', function () { - var action = makeClientAction({ + const action = makeClientAction({ params: { a: { type: 'list', required: true }, b: { type: 'duration', 'default': '15m' }, @@ -853,7 +853,7 @@ describe('Client Action runner', function () { }); it('does not modify the incoming params object', function () { - var action = makeClientAction({ + const action = makeClientAction({ url: { req: { index: { type: 'string' } diff --git a/test/unit/specs/connection_abstract.js b/test/unit/specs/connection_abstract.js index f9b67ff33..87dfe3801 100644 --- a/test/unit/specs/connection_abstract.js +++ b/test/unit/specs/connection_abstract.js @@ -1,42 +1,42 @@ -var ConnectionAbstract = require('../../../src/lib/connection'); -var Host = require('../../../src/lib/host'); -var sinon = require('sinon'); -var expect = require('expect.js'); -var _ = require('lodash'); -var errors = require('../../../src/lib/errors'); +const ConnectionAbstract = require('../../../src/lib/connection'); +const Host = require('../../../src/lib/host'); +const sinon = require('sinon'); +const expect = require('expect.js'); +const _ = require('lodash'); +const errors = require('../../../src/lib/errors'); -var stub = require('../../utils/auto_release_stub').make(); +const stub = require('../../utils/auto_release_stub').make(); describe('Connection Abstract', function () { - var host = new Host('localhost:9200'); + const host = new Host('localhost:9200'); it('constructs with defaults for host, and bound', function () { - var conn = new ConnectionAbstract(host); + const conn = new ConnectionAbstract(host); expect(conn.host).to.be(host); }); it('requires a valid host', function () { expect(function () { - var conn = new ConnectionAbstract(); + const conn = new ConnectionAbstract(); }).to.throwError(TypeError); expect(function () { - var conn = new ConnectionAbstract({}); + const conn = new ConnectionAbstract({}); }).to.throwError(TypeError); }); it('required that the request method is overridden', function () { expect(function () { - var conn = new ConnectionAbstract(host); + const conn = new ConnectionAbstract(host); conn.request(); }).to.throwError(/overwrit/); }); describe('#ping', function () { it('accpets just a callback', function () { - var conn = new ConnectionAbstract(host); + const conn = new ConnectionAbstract(host); stub(conn, 'request'); - var cb = function () {}; + const cb = function () {}; conn.ping(cb); expect(conn.request.callCount).to.eql(1); expect(conn.request.lastCall.args[0]).to.be.a('object'); @@ -44,7 +44,7 @@ describe('Connection Abstract', function () { }); it('accpets just params', function () { - var conn = new ConnectionAbstract(host); + const conn = new ConnectionAbstract(host); stub(conn, 'request'); conn.ping({}); expect(conn.request.callCount).to.eql(1); @@ -53,9 +53,9 @@ describe('Connection Abstract', function () { }); it('allows overriding the requestTimeout, method, and path', function () { - var conn = new ConnectionAbstract(host); + const conn = new ConnectionAbstract(host); stub(conn, 'request'); - var params = { + const params = { method: 'HEAD', path: '/', requestTimeout: 10000 @@ -67,8 +67,8 @@ describe('Connection Abstract', function () { }); it('defaults to the pingTimeout in the config', function () { - var conn = new ConnectionAbstract(host, { pingTimeout: 5000 }); - var clock = sinon.useFakeTimers('setTimeout', 'clearTimeout'); + const conn = new ConnectionAbstract(host, { pingTimeout: 5000 }); + const clock = sinon.useFakeTimers('setTimeout', 'clearTimeout'); stub.autoRelease(clock); stub(conn, 'request'); @@ -80,17 +80,17 @@ describe('Connection Abstract', function () { }); it('calls it\'s own request method', function () { - var conn = new ConnectionAbstract(host); + const conn = new ConnectionAbstract(host); stub(conn, 'request'); conn.ping(); expect(conn.request.callCount).to.eql(1); }); it('sets a timer for the request', function (done) { - var conn = new ConnectionAbstract(host); - var clock = sinon.useFakeTimers('setTimeout', 'clearTimeout'); + const conn = new ConnectionAbstract(host); + const clock = sinon.useFakeTimers('setTimeout', 'clearTimeout'); stub.autoRelease(clock); - var order = 0; + let order = 0; stub(conn, 'request', function (params, cb) { setTimeout(function () { @@ -113,10 +113,10 @@ describe('Connection Abstract', function () { }); }); it('calls the requestAborter if req takes too long', function (done) { - var conn = new ConnectionAbstract(host); - var clock = sinon.useFakeTimers('setTimeout', 'clearTimeout'); + const conn = new ConnectionAbstract(host); + const clock = sinon.useFakeTimers('setTimeout', 'clearTimeout'); stub.autoRelease(clock); - var order = 0; + let order = 0; stub(conn, 'request', function (params, cb) { setTimeout(function () { @@ -148,8 +148,8 @@ describe('Connection Abstract', function () { describe('#setStatus', function () { it('emits the "status set" event with `new`, `old` & `conn` args', function () { - var conn = new ConnectionAbstract(host); - var emitted = false; + const conn = new ConnectionAbstract(host); + let emitted = false; conn.emit = function (eventName) { emitted = { @@ -164,7 +164,7 @@ describe('Connection Abstract', function () { }); it('stores the status in this.status', function () { - var conn = new ConnectionAbstract(host); + const conn = new ConnectionAbstract(host); conn.setStatus('closed'); expect(conn.status).to.eql('closed'); diff --git a/test/unit/specs/connection_pool.js b/test/unit/specs/connection_pool.js index 0b4c8b5c3..fe8e6f4f9 100644 --- a/test/unit/specs/connection_pool.js +++ b/test/unit/specs/connection_pool.js @@ -1,11 +1,11 @@ -var ConnectionPool = require('../../../src/lib/connection_pool'); -var Host = require('../../../src/lib/host'); -var ConnectionAbstract = require('../../../src/lib/connection'); -var _ = require('lodash'); -var EventEmitter = require('events').EventEmitter; -var expect = require('expect.js'); -var sinon = require('sinon'); -var stub = require('../../utils/auto_release_stub').make(); +const ConnectionPool = require('../../../src/lib/connection_pool'); +const Host = require('../../../src/lib/host'); +const ConnectionAbstract = require('../../../src/lib/connection'); +const _ = require('lodash'); +const EventEmitter = require('events').EventEmitter; +const expect = require('expect.js'); +const sinon = require('sinon'); +const stub = require('../../utils/auto_release_stub').make(); function listenerCount(emitter, event) { if (EventEmitter.listenerCount) { @@ -19,7 +19,7 @@ function listenerCount(emitter, event) { describe('Connection Pool', function () { describe('Adding/Removing/Syncing Connections', function () { - var pool, host, connection, host2, connection2; + let pool, host, connection, host2, connection2; beforeEach(function () { pool = new ConnectionPool({}); @@ -93,7 +93,7 @@ describe('Connection Pool', function () { }); describe('Connection selection', function () { - var pool, host, host2; + let pool, host, host2; beforeEach(function () { pool = new ConnectionPool({}); @@ -135,7 +135,7 @@ describe('Connection Pool', function () { return list[0]; }; - var selected = null; + let selected = null; pool.select(function (err, selection) { if (err) { throw err; } @@ -163,20 +163,20 @@ describe('Connection Pool', function () { describe('Connection selection with no living nodes', function () { it('should ping all of the dead nodes, in order of oldest timeout, and return the first that\'s okay', function (done) { - var clock = sinon.useFakeTimers('setTimeout', 'clearTimeout'); + const clock = sinon.useFakeTimers('setTimeout', 'clearTimeout'); stub.autoRelease(clock); - var pool = new ConnectionPool({ + const pool = new ConnectionPool({ deadTimeout: 10000 }); - var connections = [ + const connections = [ new ConnectionAbstract(new Host('http://localhost:9200')), new ConnectionAbstract(new Host('http://localhost:9201')), new ConnectionAbstract(new Host('http://localhost:9202')), new ConnectionAbstract(new Host('http://localhost:9203')) ]; - var pingQueue = _.shuffle(connections); - var expectedSelection = pingQueue[pingQueue.length - 1]; + const pingQueue = _.shuffle(connections); + const expectedSelection = pingQueue[pingQueue.length - 1]; _.each(pingQueue, function (conn) { pool.addConnection(conn); @@ -184,7 +184,7 @@ describe('Connection Pool', function () { if (typeof params === 'function') { cb = params; } - var expectedConn = pingQueue.shift(); + const expectedConn = pingQueue.shift(); expect(conn).to.be(expectedConn); if (pingQueue.length) { process.nextTick(function () { @@ -211,7 +211,7 @@ describe('Connection Pool', function () { }); describe('Connection state management', function () { - var pool, host, host2, connection, connection2; + let pool, host, host2, connection, connection2; beforeEach(function () { pool = new ConnectionPool({}); @@ -243,12 +243,12 @@ describe('Connection Pool', function () { }); it('clears and resets the timeout when a connection redies', function () { - var clock = sinon.useFakeTimers(); + const clock = sinon.useFakeTimers(); stub.autoRelease(clock); connection.setStatus('dead'); expect(_.size(clock.timers)).to.eql(1); - var id = _(clock.timers).keys().first(); + const id = _(clock.timers).keys().first(); // it re-dies connection.setStatus('dead'); @@ -257,8 +257,8 @@ describe('Connection Pool', function () { }); it('does nothing when a connection is re-alive', function () { - var last = pool._conns.alive[pool._conns.alive.length - 1]; - var first = pool._conns.alive[0]; + const last = pool._conns.alive[pool._conns.alive.length - 1]; + const first = pool._conns.alive[0]; expect(last).to.not.be(first); @@ -286,17 +286,17 @@ describe('Connection Pool', function () { describe('#getConnections', function () { it('will return all values from the alive list by default', function () { - var pool = new ConnectionPool({}); + const pool = new ConnectionPool({}); pool._conns.alive = new Array(1000); - var length = pool._conns.alive.length; + let length = pool._conns.alive.length; while (length--) { pool._conns.alive[length] = length; } - var result = pool.getConnections(); + const result = pool.getConnections(); expect(result.length).to.be(1000); expect(_.reduce(result, function (sum, num) { - sum += num + sum += num; return sum; }, 0)).to.eql(499500); }); @@ -304,14 +304,14 @@ describe('Connection Pool', function () { describe('#calcDeadTimeout', function () { it('should be configurable via config.calcDeadTimeout', function () { - var pool = new ConnectionPool({ + const pool = new ConnectionPool({ calcDeadTimeout: 'flat' }); expect(pool.calcDeadTimeout).to.be(ConnectionPool.calcDeadTimeoutOptions.flat); pool.close(); }); it('"flat" always returns the base timeout', function () { - var pool = new ConnectionPool({ + const pool = new ConnectionPool({ calcDeadTimeout: 'flat' }); expect(pool.calcDeadTimeout(0, 1000)).to.eql(1000); @@ -319,7 +319,7 @@ describe('Connection Pool', function () { expect(pool.calcDeadTimeout(25, 10000)).to.eql(10000); }); it('"exponential" always increases the timeout based on the attempts', function () { - var pool = new ConnectionPool({ + const pool = new ConnectionPool({ calcDeadTimeout: 'exponential' }); expect(pool.calcDeadTimeout(0, 1000)).to.eql(1000); @@ -327,7 +327,7 @@ describe('Connection Pool', function () { expect(pool.calcDeadTimeout(25, 10000)).to.be.greaterThan(10000); }); it('"exponential" produces predicatable results', function () { - var pool = new ConnectionPool({ + const pool = new ConnectionPool({ calcDeadTimeout: 'exponential' }); expect(pool.calcDeadTimeout(0, 1000)).to.eql(1000); @@ -336,7 +336,7 @@ describe('Connection Pool', function () { expect(pool.calcDeadTimeout(25, 30000)).to.eql(18e5); }); it('"exponential" repects config.maxDeadtimeout', function () { - var pool = new ConnectionPool({ + const pool = new ConnectionPool({ calcDeadTimeout: 'exponential', maxDeadTimeout: 10000 }); diff --git a/test/unit/specs/console_logger.js b/test/unit/specs/console_logger.js index f7bacbeb0..2e38e6954 100644 --- a/test/unit/specs/console_logger.js +++ b/test/unit/specs/console_logger.js @@ -1,8 +1,8 @@ -var Log = require('../../../src/lib/log'); -var ConsoleLogger = require('../../../src/lib/loggers/console'); -var sinon = require('sinon'); -var expect = require('expect.js'); -var parentLog; +const Log = require('../../../src/lib/log'); +const ConsoleLogger = require('../../../src/lib/loggers/console'); +const sinon = require('sinon'); +const expect = require('expect.js'); +let parentLog; beforeEach(function () { parentLog = new Log(); @@ -14,24 +14,24 @@ afterEach(function () { function makeLogger(parent, levels) { parent = parent || parentLog; - var config = { + const config = { levels: Log.parseLevels(levels || 'trace') }; return new ConsoleLogger(parent, config); } -var stub = require('../../utils/auto_release_stub').make(); +const stub = require('../../utils/auto_release_stub').make(); describe('Console Logger', function () { require('../generic_logger_tests')(makeLogger); it('checks before using unique logging functions, falls back to #log()', function () { - var _warning = console.warn; + const _warning = console.warn; console.warn = null; sinon.stub(console, 'log'); - var logger = makeLogger(); + const logger = makeLogger(); logger.onWarning('message'); expect(console.log.callCount).to.be(1); diff --git a/test/unit/specs/errors.js b/test/unit/specs/errors.js index fb885c0e3..2a3b782e4 100644 --- a/test/unit/specs/errors.js +++ b/test/unit/specs/errors.js @@ -1,12 +1,12 @@ -var errors = require('../../../src/lib/errors'); -var expect = require('expect.js'); -var _ = require('lodash'); +const errors = require('../../../src/lib/errors'); +const expect = require('expect.js'); +const _ = require('lodash'); _.each(errors, function (CustomError, name) { if (name.charAt(0) !== '_') { describe(name, function () { it('extend the ErrorAbstract and Error classes', function () { - var err = new CustomError(); + const err = new CustomError(); expect(err).to.be.an(Error); expect(err).to.be.an(errors._Abstract); }); @@ -16,9 +16,9 @@ _.each(errors, function (CustomError, name) { describe('Error Abstract', function () { it('provides a stack property in the browser', function () { - var isBrowser = process.browser; + const isBrowser = process.browser; process.browser = true; - var err = new errors._Abstract(); + const err = new errors._Abstract(); process.browser = isBrowser; expect(err.stack).to.be.a('string'); @@ -27,7 +27,7 @@ describe('Error Abstract', function () { describe('StatusCodeError', function () { it('exposes status code as a number', function () { - var err = new errors['404'](); + const err = new errors['404'](); expect(err.status).to.be(404); expect(err.status).to.not.be('404'); }); diff --git a/test/unit/specs/file_logger.js b/test/unit/specs/file_logger.js index 4766cae6b..a4d6835ee 100644 --- a/test/unit/specs/file_logger.js +++ b/test/unit/specs/file_logger.js @@ -1,13 +1,13 @@ describe('File Logger', function () { - var Log = require('../../../src/lib/log'); - var FileLogger = require('../../../src/lib/loggers/file'); - var once = require('events').EventEmitter.prototype.once; - var _ = require('../../../src/lib/utils'); - var parentLog; - var logger; - var expect = require('expect.js'); - var fs = require('fs'); - var stub = require('../../utils/auto_release_stub').make(); + const Log = require('../../../src/lib/log'); + const FileLogger = require('../../../src/lib/loggers/file'); + const once = require('events').EventEmitter.prototype.once; + const _ = require('../../../src/lib/utils'); + let parentLog; + let logger; + const expect = require('expect.js'); + const fs = require('fs'); + const stub = require('../../utils/auto_release_stub').make(); beforeEach(function () { parentLog = new Log(); @@ -36,9 +36,9 @@ describe('File Logger', function () { describe('buffer flush', function () { if (require('stream').Writable) { it('writes everything in the buffer to console.error', function () { - var line = 'This string is written 10 times to create buffered output\n'; + const line = 'This string is written 10 times to create buffered output\n'; - var exitHandler; + let exitHandler; stub(process, 'once', function (event, handler) { if (event === 'exit') { exitHandler = handler; @@ -46,7 +46,7 @@ describe('File Logger', function () { once.call(process, event, handler); }); - var logger = makeLogger(); + const logger = makeLogger(); // write the line 10 times _.times(10, function () { @@ -54,7 +54,7 @@ describe('File Logger', function () { }); // collect everything that is written to fs.appendFileSync - var flushedOutput = ''; + let flushedOutput = ''; stub(fs, 'appendFileSync', function (path, str) { flushedOutput += str; }); @@ -68,7 +68,7 @@ describe('File Logger', function () { }); } else { it('does not fall apart with non streams2 streams', function () { - var exitHandler; + let exitHandler; stub(process, 'once', function (event, handler) { if (event === 'exit') { exitHandler = handler; @@ -76,7 +76,7 @@ describe('File Logger', function () { once.call(process, event, handler); }); - var logger = makeLogger(); + const logger = makeLogger(); expect(function () { // call the event handler diff --git a/test/unit/specs/host.js b/test/unit/specs/host.js index 74589bbef..a56669f0f 100644 --- a/test/unit/specs/host.js +++ b/test/unit/specs/host.js @@ -1,10 +1,10 @@ -var Host = require('../../../src/lib/host'); -var _ = require('lodash'); -var expect = require('expect.js'); -var url = require('url'); -var expectSubObject = require('../../utils/expect_sub_object'); +const Host = require('../../../src/lib/host'); +const _ = require('lodash'); +const expect = require('expect.js'); +const url = require('url'); +const expectSubObject = require('../../utils/expect_sub_object'); -var hostDefaults = { +const hostDefaults = { protocol: 'http', host: 'localhost', port: 9200, @@ -24,20 +24,20 @@ var hostDefaults = { } }; -var base64 = function (str) { - var buffer = Buffer.from ? Buffer.from(str, 'utf8') : new Buffer(str, 'utf8') - return buffer.toString('base64') -} +const base64 = function (str) { + const buffer = Buffer.from ? Buffer.from(str, 'utf8') : new Buffer(str, 'utf8'); + return buffer.toString('base64'); +}; describe('Host class', function () { describe('construction', function () { it('properly sets the defaults', function () { - var host = new Host(); + const host = new Host(); expect(host).to.eql(hostDefaults); }); it('accepts a string for query', function () { - var host = new Host({ query: 'beep=boop' }); + const host = new Host({ query: 'beep=boop' }); expect(host.query).to.eql({ beep: 'boop' @@ -45,15 +45,15 @@ describe('Host class', function () { }); it('accepts other generic params', function () { - var headers = { 'X-Special-Routing-Header': 'pie' }; - var host = new Host({ headers: headers }); + const headers = { 'X-Special-Routing-Header': 'pie' }; + const host = new Host({ headers: headers }); expect(host.headers).to.eql(headers); }); describe('from a string', function () { it('accepts a string for the entire url', function () { - var host = new Host('john:dude@pizza.com:420/pizza/cheese?shrooms=true'); + const host = new Host('john:dude@pizza.com:420/pizza/cheese?shrooms=true'); expectSubObject(host, { protocol: 'http', @@ -67,7 +67,7 @@ describe('Host class', function () { }); it('uses the default port based on the protocol', function () { - var host; + let host; host = new Host('https://google.com'); expect(host.port).to.be(443); @@ -82,7 +82,7 @@ describe('Host class', function () { }); it('parses simple urls properly', function () { - var host; + let host; host = new Host('localhost'); expect(host.host).to.be('localhost'); @@ -108,19 +108,19 @@ describe('Host class', function () { describe('based on the output from url.parse', function () { it('might cause weird things to happen', function () { - var parsedUrl = url.parse('pizza.com:888'); + const parsedUrl = url.parse('pizza.com:888'); // I imagine most people don't expect expect(parsedUrl.protocol).to.eql('pizza.com:'); expect(parsedUrl.host).to.eql('888'); - var host = new Host(parsedUrl); + const host = new Host(parsedUrl); expect(host.protocol).to.eql('pizza.com'); expect(host.host).to.eql('888'); }); it('will cause extra properties', function () { - var host = new Host(url.parse('https://joe:diner@pizza.com:888/path?query=yes#section')); + const host = new Host(url.parse('https://joe:diner@pizza.com:888/path?query=yes#section')); expect(host.protocol).to.eql('https'); expect(host.host).to.eql('pizza.com'); expect(host.port).to.eql(888); @@ -135,13 +135,13 @@ describe('Host class', function () { }); it('ignores anything that\'s not a string or object-y', function () { - var host = new Host(1234); + const host = new Host(1234); expect(host).to.eql(hostDefaults); }); it('defaults auth values from the `httpAuth` setting', function () { - var host = new Host('http://localhost:9200', { + const host = new Host('http://localhost:9200', { httpAuth: 'username:password' }); @@ -151,7 +151,7 @@ describe('Host class', function () { describe('#makeUrl', function () { it('merges parameters', function () { - var host = new Host({ + const host = new Host({ path: '/prefix', query: { user_id: 123 @@ -167,7 +167,7 @@ describe('Host class', function () { }); it('ensures that path starts with a forward-slash', function () { - var host = new Host(); + const host = new Host(); host.path = 'prefix'; expect(host.makeUrl({ path: '/this and that' })) @@ -175,14 +175,14 @@ describe('Host class', function () { }); it('does not try to prevent double forward-slashes', function () { - var host = new Host({ path: 'prefix/' }); + const host = new Host({ path: 'prefix/' }); expect(host.makeUrl({ path: '/this and that' })) .to.be('http://localhost:9200/prefix//this and that'); }); it('creates proper url without any params', function () { - var host = new Host({}); + let host = new Host({}); expect(host.makeUrl()).to.be('http://localhost:9200/'); host = new Host({ host: 'john', port: 80 }); @@ -193,7 +193,7 @@ describe('Host class', function () { }); it('outputs valid relative urls when the host is empty', function () { - var host = new Host({ + const host = new Host({ host: false, path: '/path', query: { this: 'that' } @@ -205,7 +205,7 @@ describe('Host class', function () { describe('#toString', function () { it('produces the same output as makeUrl when it is called without params', function () { - var host = new Host({ + const host = new Host({ path: '/pasta', host: 'google.com' }); @@ -216,7 +216,7 @@ describe('Host class', function () { describe('#getHeaders', function () { it('merges the passed in headers with the default headers', function () { - var host = new Host({ headers: { 'Joe-Smith': 'present' } }); + const host = new Host({ headers: { 'Joe-Smith': 'present' } }); expect(host.getHeaders({ 'John-Smith': 'present' @@ -227,7 +227,7 @@ describe('Host class', function () { }); it('overrides the default headers with the passed in headers', function () { - var host = new Host({ headers: { 'Joe-Smith': 'present' } }); + const host = new Host({ headers: { 'Joe-Smith': 'present' } }); expect(host.getHeaders({ 'John-Smith': 'present', @@ -239,7 +239,7 @@ describe('Host class', function () { }); it('adds Accept-Encoding header when the suggestCompression setting is true', function () { - var host = new Host({ suggestCompression: true }); + const host = new Host({ suggestCompression: true }); expect(host.getHeaders()).to.eql({ 'Accept-Encoding': 'gzip,deflate' }); diff --git a/test/unit/specs/http_connector.js b/test/unit/specs/http_connector.js index 74d070063..c9b66acc3 100644 --- a/test/unit/specs/http_connector.js +++ b/test/unit/specs/http_connector.js @@ -1,32 +1,32 @@ describe('Http Connector', function () { - var _ = require('lodash'); - var expect = require('expect.js'); - var nock = require('nock'); - var sinon = require('sinon'); - var util = require('util'); - var parseUrl = require('url').parse; - var http = require('http'); - var https = require('https'); - var AgentKeepAlive = require('agentkeepalive'); + const _ = require('lodash'); + const expect = require('expect.js'); + const nock = require('nock'); + const sinon = require('sinon'); + const util = require('util'); + const parseUrl = require('url').parse; + const http = require('http'); + const https = require('https'); + const AgentKeepAlive = require('agentkeepalive'); - var Host = require('../../../src/lib/host'); - var errors = require('../../../src/lib/errors'); - var HttpConnection = require('../../../src/lib/connectors/http'); - var ConnectionAbstract = require('../../../src/lib/connection'); + const Host = require('../../../src/lib/host'); + const errors = require('../../../src/lib/errors'); + const HttpConnection = require('../../../src/lib/connectors/http'); + const ConnectionAbstract = require('../../../src/lib/connection'); - var expectSubObject = require('../../utils/expect_sub_object'); - var MockRequest = require('../../mocks/request'); - var MockIncommingMessage = require('../../mocks/incomming_message'); - var zlib = require('zlib'); + const expectSubObject = require('../../utils/expect_sub_object'); + const MockRequest = require('../../mocks/request'); + const MockIncommingMessage = require('../../mocks/incomming_message'); + const zlib = require('zlib'); nock.disableNetConnect(); - var stub = require('../../utils/auto_release_stub').make(); + const stub = require('../../utils/auto_release_stub').make(); function makeStubReqMethod(prep) { return function (params, cb) { - var req = new MockRequest(); + const req = new MockRequest(); if (prep) { prep(req, params, cb); } @@ -45,12 +45,12 @@ describe('Http Connector', function () { describe('Constructor', function () { it('creates an object that extends ConnectionAbstract', function () { - var con = new HttpConnection(new Host()); + const con = new HttpConnection(new Host()); expect(con).to.be.a(ConnectionAbstract); }); it('sets certain defaults', function () { - var con = new HttpConnection(new Host()); + const con = new HttpConnection(new Host()); expect(con.hand).to.be(require('http')); // con.requestTimeout @@ -62,27 +62,27 @@ describe('Http Connector', function () { it('expects the host to have a protocol of http or https', function () { expect(function () { - var con = new HttpConnection(new Host('thrifty://es.com/stuff')); + const con = new HttpConnection(new Host('thrifty://es.com/stuff')); }).to.throwError(/invalid protocol/i); }); it('allows defining a custom agent', function () { - var football = {}; - var con = new HttpConnection(new Host(), { createNodeAgent: _.constant(football) }); + const football = {}; + const con = new HttpConnection(new Host(), { createNodeAgent: _.constant(football) }); expect(con.agent).to.be(football); }); it('allows setting agent to false', function () { - var con = new HttpConnection(new Host(), { createNodeAgent: _.constant(false) }); + const con = new HttpConnection(new Host(), { createNodeAgent: _.constant(false) }); expect(con.agent).to.be(false); }); }); describe('#makeReqParams', function () { it('properly reads the host object', function () { - var host = new Host('john:dude@pizza.com:9200/pizza/cheese?shrooms=true'); - var con = new HttpConnection(host, {}); - var reqParams = con.makeReqParams(); + const host = new Host('john:dude@pizza.com:9200/pizza/cheese?shrooms=true'); + const con = new HttpConnection(host, {}); + const reqParams = con.makeReqParams(); expect(reqParams).to.not.have.property('auth'); expect(reqParams).to.eql({ @@ -97,13 +97,13 @@ describe('Http Connector', function () { }); it('merges a query object with the hosts\'', function () { - var con = new HttpConnection(new Host({ + const con = new HttpConnection(new Host({ query: { user_id: 123 } })); - var reqParams = con.makeReqParams({ + const reqParams = con.makeReqParams({ query: { jvm: 'yes' } @@ -113,8 +113,8 @@ describe('Http Connector', function () { }); it('merges the path prefix', function () { - var con = new HttpConnection(new Host('https://google.com/path/prefix/for/user/1')); - var reqParams = con.makeReqParams({ + const con = new HttpConnection(new Host('https://google.com/path/prefix/for/user/1')); + const reqParams = con.makeReqParams({ method: 'GET', path: '/items', query: { @@ -128,9 +128,9 @@ describe('Http Connector', function () { }); it('merges the query', function () { - var con = new HttpConnection(new Host('http://google.com/pref-x?userId=12345&token=42069')); + const con = new HttpConnection(new Host('http://google.com/pref-x?userId=12345&token=42069')); - var reqParams = con.makeReqParams({ + const reqParams = con.makeReqParams({ method: 'PUT', path: '/stuff', query: { @@ -144,9 +144,9 @@ describe('Http Connector', function () { }); it('Works well with minimum params', function () { - var con = new HttpConnection(new Host('http://google.com')); + const con = new HttpConnection(new Host('http://google.com')); - var reqParams = con.makeReqParams({ + const reqParams = con.makeReqParams({ method: 'PUT', path: '/stuff' }); @@ -170,7 +170,7 @@ describe('Http Connector', function () { }); it('calls http based on the host', function (done) { - var con = new HttpConnection(new Host('http://google.com')); + const con = new HttpConnection(new Host('http://google.com')); con.request({}, function () { expect(http.request.callCount).to.be(1); expect(https.request.callCount).to.be(0); @@ -180,7 +180,7 @@ describe('Http Connector', function () { }); it('calls https based on the host', function (done) { - var con = new HttpConnection(new Host('https://google.com')); + const con = new HttpConnection(new Host('https://google.com')); con.request({}, function () { expect(http.request.callCount).to.be(0); expect(https.request.callCount).to.be(1); @@ -190,7 +190,7 @@ describe('Http Connector', function () { }); it('does not log error events', function (done) { - var con = new HttpConnection(new Host('http://google.com')); + const con = new HttpConnection(new Host('http://google.com')); stub(con.log, 'error'); stub(con.log, 'trace'); @@ -217,7 +217,7 @@ describe('Http Connector', function () { }); it('logs error events', function (done) { - var con = new HttpConnection(new Host('http://google.com')); + const con = new HttpConnection(new Host('http://google.com')); stub(con.log, 'error'); @@ -238,7 +238,7 @@ describe('Http Connector', function () { function makeStubReqWithMsgWhichErrorsMidBody(err) { return makeStubReqMethod(function (req, params, cb) { process.nextTick(function () { - var incom = new MockIncommingMessage(); + const incom = new MockIncommingMessage(); incom.statusCode = 200; setTimeout(function () { incom.emit('data', '{ "not json"'); @@ -250,7 +250,7 @@ describe('Http Connector', function () { } it('does not log errors', function (done) { - var con = new HttpConnection(new Host('https://google.com')); + const con = new HttpConnection(new Host('https://google.com')); stub(con.log, 'error'); stub(https, 'request', makeStubReqWithMsgWhichErrorsMidBody()); @@ -261,7 +261,7 @@ describe('Http Connector', function () { }); it('passes the original error on', function (done) { - var con = new HttpConnection(new Host('https://google.com')); + const con = new HttpConnection(new Host('https://google.com')); stub(https, 'request', makeStubReqWithMsgWhichErrorsMidBody(new Error('no more message :('))); con.request({}, function (err, resp, status) { @@ -272,7 +272,7 @@ describe('Http Connector', function () { }); it('does not pass the partial body along', function (done) { - var con = new HttpConnection(new Host('https://google.com')); + const con = new HttpConnection(new Host('https://google.com')); stub(https, 'request', makeStubReqWithMsgWhichErrorsMidBody()); con.request({}, function (err, resp, status) { @@ -282,7 +282,7 @@ describe('Http Connector', function () { }); it('does not pass the status code along', function (done) { - var con = new HttpConnection(new Host('https://google.com')); + const con = new HttpConnection(new Host('https://google.com')); stub(https, 'request', makeStubReqWithMsgWhichErrorsMidBody()); con.request({}, function (err, resp, status) { @@ -294,9 +294,9 @@ describe('Http Connector', function () { describe('#request\'s responder', function () { it('collects the whole request body', function (done) { - var server = nock('http://esjs.com:9200'); - var con = new HttpConnection(new Host('http://esjs.com:9200')); - var body = '{ "USER": "doc" }'; + const server = nock('http://esjs.com:9200'); + const con = new HttpConnection(new Host('http://esjs.com:9200')); + const body = '{ "USER": "doc" }'; server .get('/users/1') @@ -315,13 +315,13 @@ describe('Http Connector', function () { }); it('collects the whole request body (gzip compressed)', function (done) { - var server = nock('http://esjs.com:9200'); - var con = new HttpConnection(new Host('http://esjs.com:9200')); - var elements = []; - for (var i = 0; i < 500; i++) { + const server = nock('http://esjs.com:9200'); + const con = new HttpConnection(new Host('http://esjs.com:9200')); + const elements = []; + for (let i = 0; i < 500; i++) { elements.push({ USER: 'doc' }); } - var body = JSON.stringify(elements); + const body = JSON.stringify(elements); zlib.gzip(body, function (err, compressedBody) { server .get('/users/1') @@ -341,13 +341,13 @@ describe('Http Connector', function () { }); it('collects the whole request body (deflate compressed)', function (done) { - var server = nock('http://esjs.com:9200'); - var con = new HttpConnection(new Host('http://esjs.com:9200')); - var elements = []; - for (var i = 0; i < 500; i++) { + const server = nock('http://esjs.com:9200'); + const con = new HttpConnection(new Host('http://esjs.com:9200')); + const elements = []; + for (let i = 0; i < 500; i++) { elements.push({ USER: 'doc' }); } - var body = JSON.stringify(elements); + const body = JSON.stringify(elements); zlib.deflate(body, function (err, compressedBody) { server .get('/users/1') @@ -367,9 +367,9 @@ describe('Http Connector', function () { }); it('Can handle decompression errors', function (done) { - var server = nock('http://esjs.com:9200'); - var con = new HttpConnection(new Host('http://esjs.com:9200')); - var body = 'blah'; + const server = nock('http://esjs.com:9200'); + const con = new HttpConnection(new Host('http://esjs.com:9200')); + const body = 'blah'; server .get('/users/1') .reply(200, body, { 'Content-Encoding': 'gzip' }); @@ -387,9 +387,9 @@ describe('Http Connector', function () { }); it('Ignores serialization errors', function (done) { - var server = nock('http://esjs.com:9200'); - var con = new HttpConnection(new Host('http://esjs.com:9200')); - var body = '{ "USER":'; + const server = nock('http://esjs.com:9200'); + const con = new HttpConnection(new Host('http://esjs.com:9200')); + const body = '{ "USER":'; // partial body server @@ -410,9 +410,9 @@ describe('Http Connector', function () { describe('HTTP specifics', function () { it('uses TCP no delay', function (done) { - var con = new HttpConnection(new Host('localhost')); + const con = new HttpConnection(new Host('localhost')); stub(http.ClientRequest.prototype, 'setNoDelay'); - var server = nock('http://localhost').get('/').reply(200); + const server = nock('http://localhost').get('/').reply(200); con.request({}, function (err, resp, status) { expect(http.ClientRequest.prototype.setNoDelay.callCount).to.eql(1); @@ -423,11 +423,11 @@ describe('Http Connector', function () { }); it('sets the Content-Length header properly', function (done) { - var con = new HttpConnection(new Host('localhost')); + const con = new HttpConnection(new Host('localhost')); stub(http.ClientRequest.prototype, 'setHeader'); - var server = nock('http://localhost').get('/').reply(200); + const server = nock('http://localhost').get('/').reply(200); - var body = 'pasta and 𝄞'; + const body = 'pasta and 𝄞'; expect(body.length).to.eql(12); // nope expect(Buffer.byteLength(body, 'utf8')).to.eql(14); // yep @@ -441,9 +441,9 @@ describe('Http Connector', function () { }); it('does not set the Accept-Encoding header by default', function (done) { - var con = new HttpConnection(new Host()); - var respBody = 'i should not be encoded'; - var server = nock('http://localhost:9200') + const con = new HttpConnection(new Host()); + const respBody = 'i should not be encoded'; + const server = nock('http://localhost:9200') .matchHeader('accept-encoding', undefined) .get('/') .once() @@ -457,9 +457,9 @@ describe('Http Connector', function () { }); it('sets the Accept-Encoding header when specified', function (done) { - var con = new HttpConnection(new Host({ suggestCompression: true })); - var respBody = 'i should be encoded'; - var server = nock('http://localhost:9200') + const con = new HttpConnection(new Host({ suggestCompression: true })); + const respBody = 'i should be encoded'; + const server = nock('http://localhost:9200') .matchHeader('accept-encoding', 'gzip,deflate') .get('/') .once() @@ -476,12 +476,12 @@ describe('Http Connector', function () { describe('Connection cleanup', function () { it('destroys any connections created', function (done) { this.timeout(5 * 60 * 1000); - var cp = require('child_process'); - var path = require('path'); - var fixture = _.partial(path.join, __dirname, '../../fixtures'); - var timeout; // start the timeout once we hear back from the client + const cp = require('child_process'); + const path = require('path'); + const fixture = _.partial(path.join, __dirname, '../../fixtures'); + let timeout; // start the timeout once we hear back from the client - var server = cp.fork(fixture('keepalive_server.js')) + const server = cp.fork(fixture('keepalive_server.js')) .on('message', function (port) { client.send(port); }); @@ -507,8 +507,8 @@ describe('Http Connector', function () { }); it('properly removes all elements from the socket', function () { - var con = new HttpConnection(new Host('localhost')); - var sockets = [ + const con = new HttpConnection(new Host('localhost')); + const sockets = [ { destroy: function () {} }, { destroy: function () {} }, { destroy: function () {} }, @@ -520,7 +520,7 @@ describe('Http Connector', function () { { destroy: function () {} }, { destroy: function () {} } ]; - var name = con.agent.getName(parseUrl('http://localhost/')); + const name = con.agent.getName(parseUrl('http://localhost/')); con.agent.sockets[name] = sockets; con.setStatus('closed'); expect(sockets).to.eql([]); diff --git a/test/unit/specs/json_serializer.js b/test/unit/specs/json_serializer.js index 9a876ba0f..012710bc7 100644 --- a/test/unit/specs/json_serializer.js +++ b/test/unit/specs/json_serializer.js @@ -1,8 +1,8 @@ describe('JSON serializer', function () { - var JsonSerializer = require('../../../src/lib/serializers/json'); - var expect = require('expect.js'); - var sinon = require('sinon'); - var stub = require('../../utils/auto_release_stub').make(); + const JsonSerializer = require('../../../src/lib/serializers/json'); + const expect = require('expect.js'); + const sinon = require('sinon'); + const stub = require('../../utils/auto_release_stub').make(); function makeSerializer() { return new JsonSerializer(); @@ -10,29 +10,29 @@ describe('JSON serializer', function () { describe('#serialize', function () { it('defers to JSON.stringify', function () { - var stub = sinon.stub(JSON, 'stringify'); - var ser = makeSerializer(); + const stub = sinon.stub(JSON, 'stringify'); + const ser = makeSerializer(); ser.serialize({ some: 'object' }); expect(stub.callCount).to.eql(1); stub.restore(); }); it('does not modify strings', function () { - var ser = makeSerializer(); - var thing = 'pretend that I am serialized'; + const ser = makeSerializer(); + const thing = 'pretend that I am serialized'; expect(ser.serialize(thing)).to.be(thing); }); it('returns nothing for invalid values', function () { - var ser = makeSerializer(); + const ser = makeSerializer(); expect(ser.serialize(null)).to.be(undefined); expect(ser.serialize(false)).to.be(undefined); }); it('throws serialization errors', function () { - var ser = makeSerializer(); - var thing = { name: 'thing' }; + const ser = makeSerializer(); + const thing = { name: 'thing' }; thing.self = thing; expect(function () { @@ -44,46 +44,46 @@ describe('JSON serializer', function () { describe('#deserialize', function () { it('defers to JSON.parse', function () { stub(JSON, 'parse'); - var ser = makeSerializer(); + const ser = makeSerializer(); ser.deserialize('{ "some": "JSON" }'); expect(JSON.parse.callCount).to.eql(1); }); it('ignores non string values', function () { - var ser = makeSerializer(); - var thing = ['pretend that I am not here']; + const ser = makeSerializer(); + const thing = ['pretend that I am not here']; expect(ser.deserialize(thing)).to.be(undefined); expect(ser.deserialize(null)).to.be(undefined); expect(ser.deserialize(false)).to.be(undefined); }); it('catches serialization errors, returns nothing', function () { - var ser = makeSerializer(); - var thing = '{ name: \'thing\' }'; + const ser = makeSerializer(); + const thing = '{ name: \'thing\' }'; expect(ser.deserialize(thing)).to.be(undefined); }); }); describe('#bulkBody', function () { - var body = [ + const body = [ { index: 'thing' }, { document: 'hi' } ]; - var bulk = '{"index":"thing"}\n{"document":"hi"}\n'; + const bulk = '{"index":"thing"}\n{"document":"hi"}\n'; it('creates a string out of an array of obejcts', function () { - var ser = makeSerializer(); + const ser = makeSerializer(); expect(ser.bulkBody(body)).to.eql(bulk); }); it('adds a newline to the end of strings', function () { - var ser = makeSerializer(); + const ser = makeSerializer(); expect(ser.bulkBody(bulk.substr(0, bulk.length - 1))).to.eql(bulk); }); it('throws an error for anything else', function () { - var ser = makeSerializer(); + const ser = makeSerializer(); expect(function () { ser.bulkBody({}); }).to.throwError(); diff --git a/test/unit/specs/log.js b/test/unit/specs/log.js index fd37b9a99..562ecfffd 100644 --- a/test/unit/specs/log.js +++ b/test/unit/specs/log.js @@ -1,6 +1,6 @@ -var Log = require('../../../src/lib/log'); -var _ = require('lodash'); -var expect = require('expect.js'); +const Log = require('../../../src/lib/log'); +const _ = require('lodash'); +const expect = require('expect.js'); describe('Log class', function () { describe('::parseLevels', function () { @@ -32,7 +32,7 @@ describe('Log class', function () { }); describe('#addOutput', function () { - var log; + let log; Log.loggers.stub = function (log, config) { this.config = config; @@ -47,7 +47,7 @@ describe('Log class', function () { }); it('Accepts a config object with `level: "{{level}}"`', function () { - var logger = log.addOutput({ + const logger = log.addOutput({ type: 'stub', level: 'warning' }); @@ -58,7 +58,7 @@ describe('Log class', function () { }); it('Accepts a config object with `level: ["{{level}}"]`', function () { - var logger = log.addOutput({ + const logger = log.addOutput({ type: 'stub', level: ['warning'] }); @@ -70,7 +70,7 @@ describe('Log class', function () { it('Accepts a config object with `levels: "{{level}}"`', function () { - var logger = log.addOutput({ + const logger = log.addOutput({ type: 'stub', levels: 'warning' }); @@ -81,7 +81,7 @@ describe('Log class', function () { }); it('Accepts a config object with `levels: ["{{level}}"]`', function () { - var logger = log.addOutput({ + const logger = log.addOutput({ type: 'stub', level: ['warning'] }); @@ -100,15 +100,15 @@ describe('Log class', function () { expect(Log.join([{ foo: 'bar' }])).to.eql('{\n "foo": "bar"\n}\n'); }); - it('fully stringifies deeply nested objects', function() { - var object = { foo: { bar: { baz: 'value' } } }; - var expected = '{\n "bar": {\n "baz": "value"\n }\n}\n'; + it('fully stringifies deeply nested objects', function () { + const object = { foo: { bar: { baz: 'value' } } }; + const expected = '{\n "bar": {\n "baz": "value"\n }\n}\n'; expect(Log.join(object)).to.eql(expected); }); }); describe('instance without any outputs', function () { - var log; + let log; beforeEach(function () { log = new Log(); }); @@ -128,7 +128,7 @@ describe('Log class', function () { }); describe('instance without one output listening to all events', function () { - var log, call; + let log, call; beforeEach(function () { call = void 0; log = new Log({ @@ -154,7 +154,7 @@ describe('Log class', function () { }); it('should emit an "error" event with an Error object arg', function () { - var err = new Error('error'); + const err = new Error('error'); log.error(err); expect(call.event).to.eql('error'); expect(call.args[0]).to.be(err); @@ -200,7 +200,7 @@ describe('Log class', function () { describe('constructor', function () { it('looks for output config options at config.log', function () { - var log = new Log({ log: { type: process.browser ? 'console' : 'stdio', level: 'error' } }); + const log = new Log({ log: { type: process.browser ? 'console' : 'stdio', level: 'error' } }); expect(log.listenerCount('error')).to.eql(1); expect(log.listenerCount('warning')).to.eql(0); expect(log.listenerCount('info')).to.eql(0); @@ -209,7 +209,7 @@ describe('Log class', function () { }); it('accepts a string and treat it as a log level', function () { - var log = new Log({ log: 'error' }); + const log = new Log({ log: 'error' }); expect(log.listenerCount('error')).to.eql(1); expect(log.listenerCount('warning')).to.eql(0); expect(log.listenerCount('info')).to.eql(0); @@ -218,7 +218,7 @@ describe('Log class', function () { }); it('accepts an array of strings and treat it as a log level config', function () { - var log = new Log({ log: ['error', 'trace'] }); + const log = new Log({ log: ['error', 'trace'] }); expect(log.listenerCount('error')).to.eql(1); expect(log.listenerCount('warning')).to.eql(0); expect(log.listenerCount('info')).to.eql(0); @@ -227,7 +227,7 @@ describe('Log class', function () { }); it('accepts an array of output config objects', function () { - var log = new Log({ log: [{ level: 'error' }, { level: 'trace' }] }); + const log = new Log({ log: [{ level: 'error' }, { level: 'trace' }] }); expect(log.listenerCount('error')).to.eql(2); expect(log.listenerCount('warning')).to.eql(1); expect(log.listenerCount('info')).to.eql(1); @@ -237,22 +237,22 @@ describe('Log class', function () { it('rejects numbers and other truthy data-types', function () { expect(function () { - var log = new Log({ log: 1515 }); + const log = new Log({ log: 1515 }); }).to.throwError(/invalid logging output config/i); expect(function () { - var log = new Log({ log: /regexp/ }); + const log = new Log({ log: /regexp/ }); }).to.throwError(/invalid logging output config/i); expect(function () { - var log = new Log({ log: new Date() }); + const log = new Log({ log: new Date() }); }).to.throwError(/invalid logging output config/i); expect(function () { - var log = new Log({ log: [1515] }); + const log = new Log({ log: [1515] }); }).to.throwError(/invalid logging output config/i); expect(function () { - var log = new Log({ log: [/regexp/] }); + const log = new Log({ log: [/regexp/] }); }).to.throwError(/invalid logging output config/i); expect(function () { - var log = new Log({ log: [new Date()] }); + const log = new Log({ log: [new Date()] }); }).to.throwError(/invalid logging output config/i); }); }); diff --git a/test/unit/specs/nodes_to_host_callback.js b/test/unit/specs/nodes_to_host_callback.js index cd161ace3..10bfa79e5 100644 --- a/test/unit/specs/nodes_to_host_callback.js +++ b/test/unit/specs/nodes_to_host_callback.js @@ -1,11 +1,11 @@ describe('Nodes to host callback', function () { - var callback = require('../../../src/lib/nodes_to_host'); - var expect = require('expect.js'); + const callback = require('../../../src/lib/nodes_to_host'); + const expect = require('expect.js'); - var nodes90 = require('../../fixtures/short_node_list.0.90.json'); - var nodes10 = require('../../fixtures/short_node_list.1.0.json'); - var nodes20 = require('../../fixtures/short_node_list.2.0.json'); - var nodes50 = require('../../fixtures/short_node_list.5.0.json'); + const nodes90 = require('../../fixtures/short_node_list.0.90.json'); + const nodes10 = require('../../fixtures/short_node_list.1.0.json'); + const nodes20 = require('../../fixtures/short_node_list.2.0.json'); + const nodes50 = require('../../fixtures/short_node_list.5.0.json'); context('0.x style', function () { it('properly creates host objects', function () { @@ -109,7 +109,7 @@ describe('Nodes to host callback', function () { it('ignores hosts that don\'t have an http_host property', function () { - var hosts = callback({ + const hosts = callback({ node_id: { not: 'much of a node' } diff --git a/test/unit/specs/random_selector.js b/test/unit/specs/random_selector.js index 91b0149b0..e91c14713 100644 --- a/test/unit/specs/random_selector.js +++ b/test/unit/specs/random_selector.js @@ -1,14 +1,14 @@ describe('Random Selector', function () { - var randomSelector = require('../../../src/lib/selectors/random'); - var _ = require('lodash'); - var expect = require('expect.js'); + const randomSelector = require('../../../src/lib/selectors/random'); + const _ = require('lodash'); + const expect = require('expect.js'); it('chooses a selection by random', function () { - var log = { a: 0, b: 0, c: 0 }; - var choices = _.keys(log); + const log = { a: 0, b: 0, c: 0 }; + const choices = _.keys(log); _.times(1000, function () { - var choice = randomSelector(choices); + const choice = randomSelector(choices); log[choice]++; }); diff --git a/test/unit/specs/round_robin_selector.js b/test/unit/specs/round_robin_selector.js index 2298a0180..00c175af5 100644 --- a/test/unit/specs/round_robin_selector.js +++ b/test/unit/specs/round_robin_selector.js @@ -1,12 +1,12 @@ describe('Round Robin Selector', function () { - var selector = require('../../../src/lib/selectors/round_robin'); - var _ = require('lodash'); - var expect = require('expect.js'); + const selector = require('../../../src/lib/selectors/round_robin'); + const _ = require('lodash'); + const expect = require('expect.js'); it('chooses options in order', function () { - var options = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]; - var expected = _.clone(options); - var selections = []; + const options = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]; + const expected = _.clone(options); + const selections = []; _.times(options.length, function () { selections.push(selector(options)); diff --git a/test/unit/specs/stdio_logger.js b/test/unit/specs/stdio_logger.js index 6e4d5c833..fc8356bf6 100644 --- a/test/unit/specs/stdio_logger.js +++ b/test/unit/specs/stdio_logger.js @@ -1,10 +1,10 @@ describe('Stdio Logger', function () { - var Log = require('../../../src/lib/log'); - var StdioLogger = require('../../../src/lib/loggers/stdio'); - var expect = require('expect.js'); - var sinon = require('sinon'); - var parentLog; + const Log = require('../../../src/lib/log'); + const StdioLogger = require('../../../src/lib/loggers/stdio'); + const expect = require('expect.js'); + const sinon = require('sinon'); + let parentLog; beforeEach(function () { parentLog = new Log(); @@ -16,37 +16,37 @@ describe('Stdio Logger', function () { function makeLogger(parent, levels) { parent = parent || parentLog; - var config = { + const config = { levels: Log.parseLevels(levels || 'trace') }; return new StdioLogger(parent, config); } - var stub = require('../../utils/auto_release_stub').make(); + const stub = require('../../utils/auto_release_stub').make(); require('../generic_logger_tests')(makeLogger); describe('colorizing', function () { - var chalk = require('chalk'); - var now = '2013-01-01T00:00:00Z'; - var nowDate = new Date(now); - var nowTime = nowDate.getTime(); - var clock; + const chalk = require('chalk'); + const now = '2013-01-01T00:00:00Z'; + const nowDate = new Date(now); + const nowTime = nowDate.getTime(); + let clock; beforeEach(function () { stub.autoRelease(sinon.useFakeTimers(nowTime)); }); it('uses colors when it\'s supported', function () { - var logger = makeLogger(); - var hasColor = require('chalk').supportsColor; + const logger = makeLogger(); + const hasColor = require('chalk').supportsColor; expect(logger.color).to.be(hasColor); }); it('obeys the logger.color === false', function () { - var logger = makeLogger(); + const logger = makeLogger(); stub(process.stdout, 'write'); - var withoutColor = 'Elasticsearch INFO: ' + now + '\n something\n\n'; + const withoutColor = 'Elasticsearch INFO: ' + now + '\n something\n\n'; logger.color = false; logger.onInfo('something'); @@ -54,10 +54,10 @@ describe('Stdio Logger', function () { }); it('obeys the logger.color === true', function () { - var logger = makeLogger(); + const logger = makeLogger(); stub(process.stdout, 'write'); - var withoutColor = 'Elasticsearch DEBUG: ' + now + '\n be weary\n\n'; + const withoutColor = 'Elasticsearch DEBUG: ' + now + '\n be weary\n\n'; logger.color = true; logger.onDebug('be weary'); diff --git a/test/unit/specs/stream_logger.js b/test/unit/specs/stream_logger.js index f4c3d65ce..834c044fa 100644 --- a/test/unit/specs/stream_logger.js +++ b/test/unit/specs/stream_logger.js @@ -1,14 +1,14 @@ describe('Stream Logger', function () { - var Log = require('../../../src/lib/log'); - var StreamLogger = require('../../../src/lib/loggers/stream'); - var MockWritableStream = require('../../mocks/writable_stream'); - var once = require('events').EventEmitter.prototype.once; - var stream = new MockWritableStream(); - var _ = require('../../../src/lib/utils'); - var expect = require('expect.js'); - var parentLog; + const Log = require('../../../src/lib/log'); + const StreamLogger = require('../../../src/lib/loggers/stream'); + const MockWritableStream = require('../../mocks/writable_stream'); + const once = require('events').EventEmitter.prototype.once; + const stream = new MockWritableStream(); + const _ = require('../../../src/lib/utils'); + const expect = require('expect.js'); + let parentLog; - var stub = require('../../utils/auto_release_stub').make(); + const stub = require('../../utils/auto_release_stub').make(); beforeEach(function () { stub(stream, 'write'); @@ -24,7 +24,7 @@ describe('Stream Logger', function () { function makeLogger(parent, levels) { parent = parent || parentLog; - var config = { + const config = { levels: Log.parseLevels(levels || 'trace'), stream: stream }; @@ -36,12 +36,12 @@ describe('Stream Logger', function () { describe('buffer flush', function () { if (require('stream').Writable) { it('writes everything in the buffer to console.error', function () { - var logger = makeLogger(); - var line = 'This string is written 10 times to create buffered output\n'; + const logger = makeLogger(); + const line = 'This string is written 10 times to create buffered output\n'; // get the last handler for process's "exit" event - var exitHandlers = process._events.exit; - var exitHandler = _.isArray(exitHandlers) ? _.last(exitHandlers) : exitHandlers; + const exitHandlers = process._events.exit; + const exitHandler = _.isArray(exitHandlers) ? _.last(exitHandlers) : exitHandlers; // allow the logger to acctually write to the stream stream.write.restore(); @@ -52,7 +52,7 @@ describe('Stream Logger', function () { }); // collect everything that is written to console.error - var flushedOutput = ''; + let flushedOutput = ''; stub(console, 'error', function (str) { flushedOutput += str; }); @@ -69,7 +69,7 @@ describe('Stream Logger', function () { }); } else { it('does not fall apart with non streams2 streams', function () { - var exitHandler; + let exitHandler; stub(process, 'once', function (event, handler) { if (event === 'exit') { exitHandler = handler; @@ -77,7 +77,7 @@ describe('Stream Logger', function () { once.call(process, event, handler); }); - var logger = makeLogger(); + const logger = makeLogger(); expect(function () { // call the event handler diff --git a/test/unit/specs/tracer_logger.js b/test/unit/specs/tracer_logger.js index d78269c11..4b7dee22a 100644 --- a/test/unit/specs/tracer_logger.js +++ b/test/unit/specs/tracer_logger.js @@ -1,10 +1,10 @@ describe('Tracer Logger', function () { - var Log = require('../../../src/lib/log'); - var TracerLogger = require('../../../src/lib/loggers/tracer'); - var sinon = require('sinon'); - var expect = require('expect.js'); - var parentLog; + const Log = require('../../../src/lib/log'); + const TracerLogger = require('../../../src/lib/loggers/tracer'); + const sinon = require('sinon'); + const expect = require('expect.js'); + let parentLog; beforeEach(function () { parentLog = new Log(); @@ -16,21 +16,21 @@ describe('Tracer Logger', function () { function makeLogger(parent, levels) { parent = parent || parentLog; - var config = { + const config = { levels: Log.parseLevels(levels || 'trace') }; return new TracerLogger(parent, config); } - var stub = require('../../utils/auto_release_stub').make(); + const stub = require('../../utils/auto_release_stub').make(); // require('../generic_logger_tests')(makeLogger); describe('#formatTraceMessage', function () { it('includes the original host', function () { - var logger = makeLogger(); + const logger = makeLogger(); - var formatted = logger._formatTraceMessage({ + const formatted = logger._formatTraceMessage({ method: 'DELETE', url: 'https://originalHost.com:9522/path/to/thing?qs=100', body: '{ "yes": true }', @@ -45,7 +45,7 @@ describe('Tracer Logger', function () { }); describe('#write', function () { - var logger; + let logger; beforeEach(function () { logger = makeLogger(); stub(logger.stream, 'write'); diff --git a/test/unit/specs/transport.js b/test/unit/specs/transport.js index d3a578056..11351b522 100644 --- a/test/unit/specs/transport.js +++ b/test/unit/specs/transport.js @@ -1,12 +1,12 @@ -var Transport = require('../../../src/lib/transport'); -var Host = require('../../../src/lib/host'); -var errors = require('../../../src/lib/errors'); +const Transport = require('../../../src/lib/transport'); +const Host = require('../../../src/lib/host'); +const errors = require('../../../src/lib/errors'); -var sinon = require('sinon'); -var expect = require('expect.js'); -var _ = require('lodash'); -var nodeList = require('../../fixtures/short_node_list.5.0.json'); -var stub = require('../../utils/auto_release_stub').make(); +const sinon = require('sinon'); +const expect = require('expect.js'); +const _ = require('lodash'); +const nodeList = require('../../fixtures/short_node_list.5.0.json'); +const stub = require('../../utils/auto_release_stub').make(); /** * Allows the tests call #request() without it doing anything past trying to select @@ -31,7 +31,7 @@ describe('Transport Class', function () { describe('Constructor', function () { it('Accepts a log class and intanciates it at this.log', function () { function CustomLogClass() {} - var trans = new Transport({ + const trans = new Transport({ log: CustomLogClass }); @@ -39,7 +39,7 @@ describe('Transport Class', function () { }); it('Accepts a connection pool class and intanciates it at this.connectionPool', function () { - var trans = new Transport({ + const trans = new Transport({ connectionPool: CustomConnectionPool }); @@ -49,7 +49,7 @@ describe('Transport Class', function () { it('Accepts the name of a connectionPool class that is defined on Transport.connectionPools', function () { Transport.connectionPools.custom = CustomConnectionPool; - var trans = new Transport({ + const trans = new Transport({ connectionPool: 'custom' }); @@ -59,7 +59,7 @@ describe('Transport Class', function () { it('Throws an error when connectionPool config is set wrong', function () { expect(function () { - var trans = new Transport({ + const trans = new Transport({ connectionPool: 'pasta' }); }).to.throwError(/invalid connectionpool/i); @@ -67,7 +67,7 @@ describe('Transport Class', function () { it('calls sniff immediately if sniffOnStart is true', function () { stub(Transport.prototype, 'sniff'); - var trans = new Transport({ + const trans = new Transport({ sniffOnStart: true }); @@ -75,16 +75,16 @@ describe('Transport Class', function () { }); it('schedules a sniff when sniffInterval is set', function () { - var clock = sinon.useFakeTimers('setTimeout'); + const clock = sinon.useFakeTimers('setTimeout'); stub.autoRelease(clock); stub(Transport.prototype, 'sniff'); - var trans = new Transport({ + const trans = new Transport({ sniffInterval: 25000 }); expect(_.size(clock.timers)).to.eql(1); - var id = _.keys(clock.timers).pop(); + const id = _.keys(clock.timers).pop(); clock.tick(25000); expect(trans.sniff.callCount).to.eql(1); expect(_.size(clock.timers)).to.eql(1); @@ -94,15 +94,15 @@ describe('Transport Class', function () { describe('config.sniffedNodesProtocol', function () { it('Assigns to itself', function () { - var football = {}; - var trans = new Transport({ + const football = {}; + const trans = new Transport({ sniffedNodesProtocol: football }); expect(trans).to.have.property('sniffedNodesProtocol', football); }); it('Defaults to null when no hosts given', function () { - var trans = new Transport({ + const trans = new Transport({ hosts: [] }); @@ -110,7 +110,7 @@ describe('Transport Class', function () { }); it('Defaults to "http" when a single http host given', function () { - var trans = new Transport({ + const trans = new Transport({ hosts: [ new Host({ protocol: 'http' @@ -122,7 +122,7 @@ describe('Transport Class', function () { }); it('Defaults to "http" when multiple http host given', function () { - var trans = new Transport({ + const trans = new Transport({ hosts: [ new Host(), 'http://google.com', @@ -137,7 +137,7 @@ describe('Transport Class', function () { }); it('Defaults to "https" when a single https host given', function () { - var trans = new Transport({ + const trans = new Transport({ host: { protocol: 'https' } @@ -147,7 +147,7 @@ describe('Transport Class', function () { }); it('Defaults to "https" when every seed host uses https', function () { - var trans = new Transport({ + const trans = new Transport({ hosts: [ 'https://localhost:9200', new Host({ @@ -166,7 +166,7 @@ describe('Transport Class', function () { describe('host config', function () { it('rejects non-strings/objects', function () { expect(function () { - var trans = new Transport({ + const trans = new Transport({ host: [ 'localhost', 9393 @@ -175,7 +175,7 @@ describe('Transport Class', function () { }).to.throwError(TypeError); expect(function () { - var trans = new Transport({ + const trans = new Transport({ host: [ [9292] ] @@ -185,7 +185,7 @@ describe('Transport Class', function () { it('accepts the config value on the host: key', function () { stub(Transport.connectionPools.main.prototype, 'setHosts'); - var trans = new Transport({ + const trans = new Transport({ host: 'localhost' }); @@ -197,7 +197,7 @@ describe('Transport Class', function () { it('accepts the config value on the hosts: key', function () { stub(Transport.connectionPools.main.prototype, 'setHosts'); - var trans = new Transport({ + const trans = new Transport({ hosts: 'localhost' }); @@ -209,8 +209,8 @@ describe('Transport Class', function () { it('accepts A host object as the config', function () { stub(Transport.connectionPools.main.prototype, 'setHosts'); - var h = new Host('localhost'); - var trans = new Transport({ + const h = new Host('localhost'); + const trans = new Transport({ host: h }); @@ -220,7 +220,7 @@ describe('Transport Class', function () { it('accepts strings as the config', function () { stub(Transport.connectionPools.main.prototype, 'setHosts'); - var trans = new Transport({ + const trans = new Transport({ hosts: [ 'localhost:8888', ] @@ -237,7 +237,7 @@ describe('Transport Class', function () { it('accepts objects as the config', function () { stub(Transport.connectionPools.main.prototype, 'setHosts'); - var trans = new Transport({ + const trans = new Transport({ hosts: [ { protocol: 'https', @@ -262,13 +262,13 @@ describe('Transport Class', function () { // check that it's getting the suggestCompression setting stub(Transport.connectionPools.main.prototype, 'setHosts'); - var trans = new Transport({ + let trans = new Transport({ suggestCompression: true, hosts: ['localhost:9200'] }); expect(trans.connectionPool.setHosts).to.have.property('callCount', 1); - var hosts = trans.connectionPool.setHosts.firstCall.args[0]; + let hosts = trans.connectionPool.setHosts.firstCall.args[0]; expect(hosts).to.have.length(1); expect(hosts[0]).to.have.property('suggestCompression', true); @@ -285,20 +285,20 @@ describe('Transport Class', function () { describe('randomizeHosts options', function () { it('calls _.shuffle be default', function () { - var _ = require('../../../src/lib/utils'); + const _ = require('../../../src/lib/utils'); stub(Transport.connectionPools.main.prototype, 'setHosts'); stub(_, 'shuffle'); - var trans = new Transport({ + const trans = new Transport({ hosts: 'localhost' }); expect(_.shuffle.callCount).to.eql(1); }); it('skips the call to _.shuffle when false', function () { - var _ = require('../../../src/lib/utils'); + const _ = require('../../../src/lib/utils'); stub(Transport.connectionPools.main.prototype, 'setHosts'); stub(_, 'shuffle'); - var trans = new Transport({ + const trans = new Transport({ hosts: 'localhost', randomizeHosts: false }); @@ -310,7 +310,7 @@ describe('Transport Class', function () { describe('#defer', function () { it('returns a custom defer object', function () { - var defer = Transport.prototype.defer(); + const defer = Transport.prototype.defer(); expect(defer).to.have.property('promise'); expect(defer).to.have.property('resolve'); expect(defer).to.have.property('reject'); @@ -319,7 +319,7 @@ describe('Transport Class', function () { describe('#sniff', function () { - var trans; + let trans; beforeEach(function () { trans = new Transport({ suggestCompression: true }); @@ -366,7 +366,7 @@ describe('Transport Class', function () { function (done) { trans.sniff(function () { expect(trans.connectionPool.setHosts.callCount).to.eql(1); - var hosts = trans.connectionPool.setHosts.lastCall.args[0]; + const hosts = trans.connectionPool.setHosts.lastCall.args[0]; expect(hosts).to.have.length(2); @@ -386,7 +386,7 @@ describe('Transport Class', function () { // check that it's getting the suggestCompression setting trans.sniff(function () { expect(trans.connectionPool.setHosts).to.have.property('callCount', 1); - var hosts = trans.connectionPool.setHosts.lastCall.args[0]; + const hosts = trans.connectionPool.setHosts.lastCall.args[0]; expect(hosts).to.have.length(2); expect(hosts[0]).to.have.property('suggestCompression', true); expect(hosts[1]).to.have.property('suggestCompression', true); @@ -423,7 +423,7 @@ describe('Transport Class', function () { describe('#request', function () { it('logs when it begins', function (done) { - var trans = new Transport(); + const trans = new Transport(); stub(trans.log, 'debug'); stub(trans.connectionPool, 'select', function (cb) { // simulate "no connections" @@ -437,7 +437,7 @@ describe('Transport Class', function () { }); it('rejects GET requests with a body (callback)', function (done) { - var trans = new Transport(); + const trans = new Transport(); stub(trans.log, 'debug'); stub(trans.connectionPool, 'select', function (cb) { // simulate "no connections" @@ -454,7 +454,7 @@ describe('Transport Class', function () { }); it('rejects GET requests with a body (promise)', function (done) { - var trans = new Transport(); + const trans = new Transport(); stub(trans.log, 'debug'); stub(trans.connectionPool, 'select', function (cb) { // simulate "no connections" @@ -475,11 +475,11 @@ describe('Transport Class', function () { describe('gets a body', function () { it('serializes it', function (done) { - var trans = new Transport({ + const trans = new Transport({ hosts: 'localhost' }); - var conn = getConnection(trans); - var body = { + const conn = getConnection(trans); + const body = { _id: 'simple body', name: 'ഢധയമബ' }; @@ -495,11 +495,11 @@ describe('Transport Class', function () { }); }); it('serializes bulk bodies', function (done) { - var trans = new Transport({ + const trans = new Transport({ hosts: 'localhost' }); - var conn = getConnection(trans); - var body = [ + const conn = getConnection(trans); + const body = [ { _id: 'simple body' }, { name: 'ഢധയമബ' } ]; @@ -522,11 +522,11 @@ describe('Transport Class', function () { describe('gets a body it cant serialize', function () { it('throws an error', function () { - var trans = new Transport({ + const trans = new Transport({ hosts: 'localhost' }); getConnection(trans); - var body = { + const body = { _id: 'circular body' }; body.body = body; @@ -541,7 +541,7 @@ describe('Transport Class', function () { describe('when selecting a connection', function () { it('logs a warning, and responds with NoConnection when it receives nothing', function (done) { - var trans = new Transport(); + const trans = new Transport(); stub(trans.log, 'warning'); trans.request({}, function (err, body, status) { expect(trans.log.warning.callCount).to.eql(1); @@ -552,7 +552,7 @@ describe('Transport Class', function () { }); }); it('quits if a sync selector throws an error', function () { - var trans = new Transport({ + const trans = new Transport({ hosts: 'localhost', selector: function () { throw new Error('I am broken'); @@ -564,7 +564,7 @@ describe('Transport Class', function () { }); }); it('quits if gets an error from an async selector', function () { - var trans = new Transport({ + const trans = new Transport({ hosts: 'localhost', selector: function (connections, cb) { process.nextTick(function () { @@ -578,10 +578,10 @@ describe('Transport Class', function () { }); }); it('calls connection#request once it gets one', function (done) { - var trans = new Transport({ + const trans = new Transport({ hosts: 'localhost' }); - var conn = getConnection(trans); + const conn = getConnection(trans); stub(conn, 'request', function () { done(); @@ -595,9 +595,9 @@ describe('Transport Class', function () { // create a test that checks N retries function testRetries(retries) { return function (done) { - var randomSelector = require('../../../src/lib/selectors/random'); - var connections; - var attempts = 0; + const randomSelector = require('../../../src/lib/selectors/random'); + let connections; + let attempts = 0; function failRequest(params, cb) { attempts++; process.nextTick(function () { @@ -605,7 +605,7 @@ describe('Transport Class', function () { }); } - var trans = new Transport({ + const trans = new Transport({ hosts: _.map(new Array(retries + 1), function (val, i) { return 'localhost/' + i; }), @@ -639,24 +639,24 @@ describe('Transport Class', function () { describe('return value', function () { it('returns an object with an abort() method when a callback is sent', function () { - var tran = new Transport(); + const tran = new Transport(); shortCircuitRequest(tran); - var ret = tran.request({}, _.noop); + const ret = tran.request({}, _.noop); expect(ret).to.be.a('object'); expect(ret.abort).to.be.a('function'); }); it('the object is a promise when a callback is not suplied', function () { - var tran = new Transport(); + const tran = new Transport(); shortCircuitRequest(tran); - var ret = tran.request({}); + const ret = tran.request({}); expect(ret.then).to.be.a('function'); expect(ret.abort).to.be.a('function'); ret.then(_.noop, _.noop); // prevent complaining from bluebird }); it('promise is always pulled from the defer created by this.defer()', function () { - var fakePromise = {}; - var origDefer = Transport.prototype.defer; - var tran = new Transport({ + const fakePromise = {}; + const origDefer = Transport.prototype.defer; + const tran = new Transport({ defer: function () { return { resolve: _.noop, @@ -666,7 +666,7 @@ describe('Transport Class', function () { } }); shortCircuitRequest(tran); - var ret = tran.request({}); + const ret = tran.request({}); Transport.prototype.defer = origDefer; expect(ret).to.be(fakePromise); expect(ret.abort).to.be.a('function'); @@ -677,7 +677,7 @@ describe('Transport Class', function () { if (process && process.hasOwnProperty('domain')) { it('works without a domain', function () { expect(process.domain).to.be(null); - var tran = new Transport(); + const tran = new Transport(); shortCircuitRequest(tran); tran.request({}, function () { expect(process.domain).to.be(null); @@ -686,12 +686,12 @@ describe('Transport Class', function () { it('binds the callback to the correct domain', function () { expect(process.domain).to.be(null); - var domain = require('domain').create(); + const domain = require('domain').create(); domain.run(function () { - var tran = new Transport(); + const tran = new Transport(); shortCircuitRequest(tran); expect(process.domain).not.to.be(null); - var startingDomain = process.domain + const startingDomain = process.domain; tran.request({}, function () { expect(process.domain).not.to.be(null); expect(process.domain).to.be(startingDomain); @@ -704,24 +704,24 @@ describe('Transport Class', function () { describe('aborting', function () { it('prevents the request from starting if called in the same tick', function () { - var tran = new Transport({ + const tran = new Transport({ host: 'localhost' }); - var con = getConnection(tran); + const con = getConnection(tran); stub(con, 'request', function () { throw new Error('Request should not have been called.'); }); - var ret = tran.request({}); + const ret = tran.request({}); ret.abort(); }); it('calls the function returned by the connector if it has been called', function (done) { - var tran = new Transport({ + const tran = new Transport({ host: 'localhost' }); - var con = getConnection(tran); + const con = getConnection(tran); stub(con, 'request', function () { process.nextTick(function () { ret.abort(); @@ -734,16 +734,16 @@ describe('Transport Class', function () { var ret = tran.request({}); }); it('ignores the response from the connection when the connector does not support aborting', function (done) { - var tran = new Transport({ + const tran = new Transport({ host: 'localhost' }); - var con = getConnection(tran); + const con = getConnection(tran); stub(con, 'request', function (params, cb) { cb(); }); - var ret = tran.request({}, function () { + const ret = tran.request({}, function () { throw new Error('Callback should not have been called.'); }); ret.abort(); @@ -753,11 +753,11 @@ describe('Transport Class', function () { describe('timeout', function () { it('uses 30 seconds for the default', function () { - var clock = sinon.useFakeTimers('setTimeout', 'clearTimeout'); + const clock = sinon.useFakeTimers('setTimeout', 'clearTimeout'); stub.autoRelease(clock); - var tran = new Transport({}); + const tran = new Transport({}); - var prom = tran.request({}); + const prom = tran.request({}); // disregard promise, prevent bluebird's warnings prom.then(_.noop, _.noop); @@ -768,13 +768,13 @@ describe('Transport Class', function () { }); }); it('inherits the requestTimeout from the transport', function () { - var clock = sinon.useFakeTimers('setTimeout', 'clearTimeout'); + const clock = sinon.useFakeTimers('setTimeout', 'clearTimeout'); stub.autoRelease(clock); - var tran = new Transport({ + const tran = new Transport({ requestTimeout: 5000 }); - var prom = tran.request({}); + const prom = tran.request({}); // disregard promise, prevent bluebird's warnings prom.then(_.noop, _.noop); @@ -788,9 +788,9 @@ describe('Transport Class', function () { _.each([false, 0, null], function (falsy) { it('skips the timeout when it is ' + falsy, function () { - var clock = sinon.useFakeTimers(); + const clock = sinon.useFakeTimers(); stub.autoRelease(clock); - var tran = new Transport({}); + const tran = new Transport({}); stub(tran.connectionPool, 'select', function () {}); tran.request({ @@ -806,7 +806,7 @@ describe('Transport Class', function () { describe('#setHosts', function () { it('accepts strings, host objects, and host configs', function () { - var trans = new Transport({ suggestCompression: true }); + const trans = new Transport({ suggestCompression: true }); stub(trans.connectionPool, 'setHosts'); trans.setHosts([ @@ -816,7 +816,7 @@ describe('Transport Class', function () { ]); sinon.assert.calledOnce(trans.connectionPool.setHosts); - var host, hosts = trans.connectionPool.setHosts.firstCall.args[0]; + let host, hosts = trans.connectionPool.setHosts.firstCall.args[0]; expect(hosts).to.have.length(3); @@ -842,7 +842,7 @@ describe('Transport Class', function () { describe('#close', function () { it('proxies the call to it\'s log and connection pool', function () { - var tran = new Transport(); + const tran = new Transport(); stub(tran.connectionPool, 'close'); stub(tran.log, 'close'); diff --git a/test/unit/specs/transport_with_server.js b/test/unit/specs/transport_with_server.js index 1f55a7599..81388fd7c 100644 --- a/test/unit/specs/transport_with_server.js +++ b/test/unit/specs/transport_with_server.js @@ -1,14 +1,14 @@ -var Transport = require('../../../src/lib/transport'); -var ConnectionPool = require('../../../src/lib/connection_pool'); -var Host = require('../../../src/lib/host'); -var errors = require('../../../src/lib/errors'); -var expect = require('expect.js'); +const Transport = require('../../../src/lib/transport'); +const ConnectionPool = require('../../../src/lib/connection_pool'); +const Host = require('../../../src/lib/host'); +const errors = require('../../../src/lib/errors'); +const expect = require('expect.js'); -var sinon = require('sinon'); -var nock = require('../../mocks/server.js'); -var through2 = require('through2'); -var _ = require('lodash'); -var stub = require('../../utils/auto_release_stub').make(); +const sinon = require('sinon'); +const nock = require('../../mocks/server.js'); +const through2 = require('through2'); +const _ = require('lodash'); +const stub = require('../../utils/auto_release_stub').make(); /** * Allows the tests call #request() without it doing anything past trying to select @@ -28,7 +28,7 @@ function getConnection(transport, status) { describe('Transport + Mock server', function () { describe('#request', function () { describe('server responds', function () { - var serverMock; + let serverMock; before(function () { serverMock = nock('http://localhost') @@ -79,7 +79,7 @@ describe('Transport + Mock server', function () { describe('with a 400 status code', function () { it('passes back a 400/BadRequest error', function (done) { - var trans = new Transport({ + const trans = new Transport({ hosts: 'localhost' }); @@ -98,7 +98,7 @@ describe('Transport + Mock server', function () { describe('with a 404 status code', function () { describe('and castExists is set', function () { it('sends back false', function (done) { - var trans = new Transport({ + const trans = new Transport({ hosts: 'localhost' }); @@ -115,7 +115,7 @@ describe('Transport + Mock server', function () { }); describe('and the castExists param is not set', function () { it('sends back a 404/NotFound error', function (done) { - var trans = new Transport({ + const trans = new Transport({ hosts: 'localhost' }); @@ -134,7 +134,7 @@ describe('Transport + Mock server', function () { describe('with a 500 status code', function () { it('passes back a 500/InternalServerError error', function (done) { - var trans = new Transport({ + const trans = new Transport({ hosts: 'localhost' }); @@ -152,7 +152,7 @@ describe('Transport + Mock server', function () { describe('with a 530 status code', function () { it('passes back a Generic error', function (done) { - var trans = new Transport({ + const trans = new Transport({ hosts: 'localhost' }); @@ -170,7 +170,7 @@ describe('Transport + Mock server', function () { describe('with a 200 status code', function () { describe('and the castExists param is set', function () { it('sends back true', function (done) { - var trans = new Transport({ + const trans = new Transport({ hosts: 'localhost' }); @@ -187,7 +187,7 @@ describe('Transport + Mock server', function () { }); describe('with a partial response body', function () { it('sends back a serialization error', function (done) { - var trans = new Transport({ + const trans = new Transport({ hosts: 'localhost' }); @@ -203,7 +203,7 @@ describe('Transport + Mock server', function () { }); describe('with a valid response body', function () { it('sends back the body and status code with no error', function (done) { - var trans = new Transport({ + const trans = new Transport({ hosts: 'localhost' }); @@ -222,7 +222,7 @@ describe('Transport + Mock server', function () { describe('with plain text', function () { it('notices the content-type header and returns the text', function (done) { - var trans = new Transport({ + const trans = new Transport({ hosts: 'localhost' }); @@ -239,13 +239,13 @@ describe('Transport + Mock server', function () { describe('return value', function () { it('resolves the promise it with the response body', function (done) { - var serverMock = nock('http://esbox.1.com') + const serverMock = nock('http://esbox.1.com') .get('/') .reply(200, { good: 'day' }); - var tran = new Transport({ + const tran = new Transport({ hosts: 'http://esbox.1.com' }); @@ -260,13 +260,13 @@ describe('Transport + Mock server', function () { describe('timeout', function () { it('clears the timeout when the request is complete', function () { - var clock = sinon.useFakeTimers('setTimeout', 'clearTimeout'); + const clock = sinon.useFakeTimers('setTimeout', 'clearTimeout'); stub.autoRelease(clock); - var tran = new Transport({ + const tran = new Transport({ host: 'http://localhost:9200' }); - var server = nock('http://localhost:9200') + const server = nock('http://localhost:9200') .get('/') .reply(200, { i: 'am here' @@ -282,11 +282,11 @@ describe('Transport + Mock server', function () { }); it('timeout responds with a requestTimeout error', function (done) { - var tran = new Transport({ + const tran = new Transport({ host: 'http://localhost:9200' }); - var server = nock('http://localhost:9200') + const server = nock('http://localhost:9200') .get('/') .delay(1000) .reply(200, { @@ -304,13 +304,13 @@ describe('Transport + Mock server', function () { describe('sniffOnConnectionFault', function () { it('schedules a sniff when sniffOnConnectionFault is set and a connection failes', function () { - var clock = sinon.useFakeTimers('setTimeout'); + const clock = sinon.useFakeTimers('setTimeout'); stub.autoRelease(clock); - var serverMock = nock('http://esbox.1.com') + const serverMock = nock('http://esbox.1.com') .get('/') .reply(200, function () { - var str = through2(function (chunk, enc, cb) { + const str = through2(function (chunk, enc, cb) { cb(new Error('force error')); }); @@ -324,7 +324,7 @@ describe('Transport + Mock server', function () { stub(ConnectionPool.prototype, '_onConnectionDied'); stub(Transport.prototype, 'sniff'); - var tran = new Transport({ + const tran = new Transport({ hosts: 'http://esbox.1.com', sniffOnConnectionFault: true, maxRetries: 0 @@ -343,7 +343,7 @@ describe('Transport + Mock server', function () { expect(tran.sniff.callCount).to.eql(0); expect(_.size(clock.timers)).to.eql(1); - var timeout = _.values(clock.timers).pop(); + const timeout = _.values(clock.timers).pop(); timeout.func(); expect(tran.sniff.callCount).to.eql(1); }); diff --git a/test/unit/specs/utils.js b/test/unit/specs/utils.js index 0c6f6fcfc..9cf3fd343 100644 --- a/test/unit/specs/utils.js +++ b/test/unit/specs/utils.js @@ -1,7 +1,7 @@ -var _ = require('../../../src/lib/utils'); -var expect = require('expect.js'); +const _ = require('../../../src/lib/utils'); +const expect = require('expect.js'); -var stub = require('../../utils/auto_release_stub').make(); +const stub = require('../../utils/auto_release_stub').make(); describe('Utils', function () { @@ -238,14 +238,14 @@ describe('Utils', function () { describe('#deepMerge', function () { it('returns the same object that was passed', function () { - var obj = { + const obj = { foo: 'bar' }; expect(_.deepMerge(obj, { bar: 'baz' })).to.eql(obj); }); it('concats arrays', function () { - var obj = { + const obj = { foo: ['bax', 'boz'] }; _.deepMerge(obj, { foo: ['boop'] }); @@ -253,7 +253,7 @@ describe('Utils', function () { }); it('wont merge values of different types', function () { - var obj = { + const obj = { foo: ['stop', 'foo', 'stahp'] }; _.deepMerge(obj, { foo: 'string' }); @@ -261,7 +261,7 @@ describe('Utils', function () { }); it('works recursively', function () { - var obj = { + const obj = { foo: 'bar', bax: { foo: ['bax', 'boz'] @@ -275,8 +275,8 @@ describe('Utils', function () { describe('#createArray', function () { it('accepts an array of things and simply returns a copy of it', function () { - var inp = [{ a: 1 }, 'pizza']; - var out = _.createArray(inp); + const inp = [{ a: 1 }, 'pizza']; + const out = _.createArray(inp); expect(out).to.eql(inp); expect(out).to.not.be(inp); }); @@ -309,28 +309,28 @@ describe('Utils', function () { * _.funcEnum(object, key, opts, default); */ it('tests if the value at key in object is a function, returns it if so', function () { - var config = { + const config = { func: function () {} }; expect(_.funcEnum(config, 'func', {}, 'toString')) .to.be(config.func); }); it('tests if the value at key in object is undefined, returns the option at key default if so', function () { - var config = { + const config = { func: undefined }; expect(_.funcEnum(config, 'func', {}, 'toString')) .to.be(Object.prototype.toString); }); it('tests if the value at key in object is a string, returns the option at that key if so', function () { - var config = { + const config = { 'config key name': 'toString' }; expect(_.funcEnum(config, 'config key name', { toString: 'pizza' }, 'toJSON')) .to.be('pizza'); }); it('throws an informative error if the selection if invalid', function () { - var config = { + const config = { 'config': 'val' }; @@ -350,15 +350,15 @@ describe('Utils', function () { describe('#applyArgs', function () { _.times(10, function (i) { - var method = i > 5 ? 'apply' : 'call'; - var argCount = i + 1; - var slice = 1; + const method = i > 5 ? 'apply' : 'call'; + const argCount = i + 1; + const slice = 1; it('uses ' + method + ' with ' + i + ' args', function () { - var func = function () {}; + const func = function () {}; stub(func, method); - var args = _.map(new Array(i), function (val, i) { return i; }); + const args = _.map(new Array(i), function (val, i) { return i; }); _.applyArgs(func, null, args); expect(func[method].callCount).to.eql(1); @@ -371,11 +371,11 @@ describe('Utils', function () { it('slices the arguments properly before calling ' + method + ' with ' + argCount + ' args sliced at ' + slice, function () { - var func = function () {}; + const func = function () {}; stub(func, method); - var args = _.map(new Array(argCount), function (val, i) { return i; }); - var expected = args.slice(slice); + const args = _.map(new Array(argCount), function (val, i) { return i; }); + const expected = args.slice(slice); _.applyArgs(func, null, args, slice); expect(func[method].callCount).to.eql(1); @@ -397,14 +397,14 @@ describe('Utils', function () { }); if (require('stream').Writable) { - var MockWritableStream = require('../../mocks/writable_stream'); + const MockWritableStream = require('../../mocks/writable_stream'); it('ignores empty stream', function () { - var stream = new MockWritableStream(); + const stream = new MockWritableStream(); expect(_.getUnwrittenFromStream(stream)).to.be(''); }); it('returns only what is in the buffer', function () { - var stream = new MockWritableStream(); + const stream = new MockWritableStream(); stream.write('hot'); stream.write('dog'); expect(_.getUnwrittenFromStream(stream)).to.be('dog'); diff --git a/test/unit/specs/yaml_test_reader.js b/test/unit/specs/yaml_test_reader.js index 4e101c1df..8c0fabd48 100644 --- a/test/unit/specs/yaml_test_reader.js +++ b/test/unit/specs/yaml_test_reader.js @@ -1,7 +1,7 @@ describe('Yaml Test Reader', function () { - var YamlDoc = require('../../integration/yaml_suite/yaml_doc'); - var compare = YamlDoc.compareRangeToVersion; - var expect = require('expect.js'); + const YamlDoc = require('../../integration/yaml_suite/yaml_doc'); + const compare = YamlDoc.compareRangeToVersion; + const expect = require('expect.js'); describe('version range comparison', function () { it('supports unbounded ranges', function () { diff --git a/test/utils/auto_release_stub.js b/test/utils/auto_release_stub.js index 7ae531de7..a77d99489 100644 --- a/test/utils/auto_release_stub.js +++ b/test/utils/auto_release_stub.js @@ -1,15 +1,15 @@ -var sinon = require('sinon'); +const sinon = require('sinon'); exports.make = function () { - var log = []; + const log = []; afterEach(function () { - var stub; + let stub; while (stub = log.pop()) { stub.restore(); } }); - var stubber = function () { + const stubber = function () { log.push(sinon.stub.apply(sinon, arguments)); }; diff --git a/test/utils/expect_sub_object.js b/test/utils/expect_sub_object.js index 013be8a5b..7ef8f4976 100644 --- a/test/utils/expect_sub_object.js +++ b/test/utils/expect_sub_object.js @@ -1,5 +1,5 @@ -var _ = require('lodash'); -var expect = require('expect.js'); +const _ = require('lodash'); +const expect = require('expect.js'); module.exports = function expectSubObject(obj, subObj) { _.forOwn(subObj, function (val, prop) { if (typeof obj[prop] === 'object') { diff --git a/test/utils/jenkins-reporter.js b/test/utils/jenkins-reporter.js index 48c5de673..238325f0e 100644 --- a/test/utils/jenkins-reporter.js +++ b/test/utils/jenkins-reporter.js @@ -6,16 +6,16 @@ */ module.exports = JenkinsReporter; -var Base = require('mocha/lib/reporters/base'); -var _ = require('lodash'); -var chalk = require('chalk'); -var makeJUnitXml = require('./make_j_unit_xml'); -var fs = require('fs'); -var path = require('path'); -var inspect = require('util').inspect; +const Base = require('mocha/lib/reporters/base'); +const _ = require('lodash'); +const chalk = require('chalk'); +const makeJUnitXml = require('./make_j_unit_xml'); +const fs = require('fs'); +const path = require('path'); +const inspect = require('util').inspect; -var log = (function () { - var locked = _.bind(process.stdout.write, process.stdout); +const log = (function () { + const locked = _.bind(process.stdout.write, process.stdout); return function (str) { if (typeof str !== 'string') { str = inspect(str); @@ -24,9 +24,9 @@ var log = (function () { }; }()); -var integration = _.find(process.argv, function (arg) { return arg.indexOf('test/integration') > -1; }); -var unit = _.find(process.argv, function (arg) { return arg.indexOf('test/unit') > -1; }); -var output; +const integration = _.find(process.argv, function (arg) { return arg.indexOf('test/integration') > -1; }); +const unit = _.find(process.argv, function (arg) { return arg.indexOf('test/unit') > -1; }); +let output; if (unit) { output = path.join(__dirname, '../junit-node-unit.xml'); @@ -39,16 +39,16 @@ if (unit) { function JenkinsReporter(runner) { Base.call(this, runner); - var stats = this.stats; - var pass = 0; - var pending = 0; - var fail = 0; - var rootSuite = { + const stats = this.stats; + let pass = 0; + let pending = 0; + let fail = 0; + const rootSuite = { results: [], suites: [] }; - var stack = [rootSuite]; + const stack = [rootSuite]; function indt() { return (new Array(stack.length + 1)).join(' '); @@ -105,7 +105,7 @@ function JenkinsReporter(runner) { log(chalk.red('x')); } - var errMsg = void 0; + let errMsg = void 0; if (test.err) { errMsg = test.err.stack || test.err.toString(); @@ -146,7 +146,7 @@ function JenkinsReporter(runner) { runner.on('hook end', function (hook) { if (hook.title.indexOf('"after each"') > -1 && stack[0] && stack[0].results.length) { - var result = _.last(stack[0].results); + const result = _.last(stack[0].results); result.stdout += stack[0].stdout; result.stderr += stack[0].stderr; stack[0].stdout = stack[0].stderr = ''; @@ -155,10 +155,10 @@ function JenkinsReporter(runner) { runner.on('end', function () { restoreStdio(); - var xml = makeJUnitXml('node ' + process.version, { + const xml = makeJUnitXml('node ' + process.version, { stats: stats, suites: _.map(rootSuite.suites, function removeElements(suite) { - var s = { + const s = { name: suite.name, start: suite.start, time: suite.time || 0, @@ -186,8 +186,8 @@ function JenkinsReporter(runner) { // overload the write methods on stdout and stderr ['stdout', 'stderr'].forEach(function (name) { - var obj = process[name]; - var orig = obj.write; + const obj = process[name]; + const orig = obj.write; obj.write = function (chunk) { if (stack[0]) { stack[0][name] = (stack[0][name] || '') + chunk; diff --git a/test/utils/make_j_unit_xml.js b/test/utils/make_j_unit_xml.js index 6474afa12..56da1086c 100644 --- a/test/utils/make_j_unit_xml.js +++ b/test/utils/make_j_unit_xml.js @@ -24,17 +24,17 @@ */ module.exports = makeJUnitXml; -var testXml = require('xmlbuilder'); -var suites = testXml.create('testsuites'); -var suiteCount = 0; -var moment = require('moment'); -var _ = require('lodash'); -var chalk = require('chalk'); +const testXml = require('xmlbuilder'); +const suites = testXml.create('testsuites'); +let suiteCount = 0; +const moment = require('moment'); +const _ = require('lodash'); +const chalk = require('chalk'); function makeJUnitXml(runnerName, testDetails) { _.each(testDetails.suites, function serializeSuite(suiteInfo) { - var suite = suites.ele('testsuite', { + const suite = suites.ele('testsuite', { package: 'elasticsearch-js', id: suiteCount++, name: suiteInfo.name, @@ -47,8 +47,8 @@ function makeJUnitXml(runnerName, testDetails) { }); _.each(suiteInfo.results, function (testInfo) { - var section; - var integration = false; + let section; + let integration = false; if (suiteInfo.name.match(/\/.*\.yaml$/)) { section = suiteInfo.name.split('/').slice(0, -1).join('/').replace(/\./g, '/'); @@ -61,7 +61,7 @@ function makeJUnitXml(runnerName, testDetails) { integration = true; } - var testcase = suite.ele('testcase', { + const testcase = suite.ele('testcase', { name: testInfo.name, time: (testInfo.time || 0) / 1000, classname: runnerName + (integration ? ' - integration' : '') + '.' + section @@ -93,8 +93,8 @@ function makeJUnitXml(runnerName, testDetails) { } function giveOutput(el, info) { - var out = info.stdout.trim(); - var err = info.stderr.trim(); + const out = info.stdout.trim(); + const err = info.stderr.trim(); if (out) { el.ele('system-out', {}).cdata(chalk.stripColor(out)); diff --git a/test/utils/server.js b/test/utils/server.js index bb1770e04..d8a3bc5c7 100644 --- a/test/utils/server.js +++ b/test/utils/server.js @@ -1,16 +1,16 @@ /* eslint-disable import/no-unresolved */ -var express = require('express'); -var http = require('http'); -var fs = require('fs'); -var _ = require('lodash'); -var async = require('async'); -var root = require('path').join(__dirname, '../..'); -var browserify = require('browserify'); -var pkg = require(root + '/package.json'); -var unitSpecDir = root + '/test/unit/specs'; -var browserBuildsDir = root + '/test/unit/browser_builds'; +const express = require('express'); +const http = require('http'); +const fs = require('fs'); +const _ = require('lodash'); +const async = require('async'); +const root = require('path').join(__dirname, '../..'); +const browserify = require('browserify'); +const pkg = require(root + '/package.json'); +const unitSpecDir = root + '/test/unit/specs'; +const browserBuildsDir = root + '/test/unit/browser_builds'; -var testFiles = {}; +const testFiles = {}; testFiles.unit = _(fs.readdirSync(unitSpecDir)) .difference([ @@ -33,12 +33,12 @@ testFiles.build = fs.readdirSync(browserBuildsDir) return browserBuildsDir + '/' + file; } - return null + return null; }) .filter(Boolean); // generic aliasify instance -var aliasify = require('aliasify').configure({ +const aliasify = require('aliasify').configure({ aliases: pkg.browser, excludeExtensions: 'json', // verbose: false, @@ -46,7 +46,7 @@ var aliasify = require('aliasify').configure({ }); // queue for bundle requests, two at a time -var bundleQueue = async.queue(function (task, done) { +const bundleQueue = async.queue(function (task, done) { task(done); }, 2); @@ -54,16 +54,16 @@ var bundleQueue = async.queue(function (task, done) { function bundleTests(name) { return function (req, res, next) { bundleQueue.push(function (_cb) { - var done = function (err) { + const done = function (err) { if (err) { return next(err); } _cb(err); }; res.set('Content-Type', 'application/javascript'); - var b = browserify(testFiles[name]); + const b = browserify(testFiles[name]); b.transform(aliasify); - var str = b.bundle({ + const str = b.bundle({ insertGlobals: true }); @@ -81,7 +81,7 @@ function sendFile(file) { }; } -var app = express(); +const app = express(); app .use(app.router) diff --git a/webpack_config/angular.js b/webpack_config/angular.js index c5877d037..bd7eabc24 100644 --- a/webpack_config/angular.js +++ b/webpack_config/angular.js @@ -1,5 +1,5 @@ -const DefinePlugin = require('webpack/lib/DefinePlugin') -const { ignoreLoader, rel } = require('./lib') +const DefinePlugin = require('webpack/lib/DefinePlugin'); +const { ignoreLoader, rel } = require('./lib'); module.exports = { context: rel('src'), @@ -22,4 +22,4 @@ module.exports = { 'process.env.NODE_ENV': '"production"', }), ], -} +}; diff --git a/webpack_config/browser.js b/webpack_config/browser.js index c5a09c60f..d9fad28c1 100644 --- a/webpack_config/browser.js +++ b/webpack_config/browser.js @@ -1,5 +1,5 @@ -const DefinePlugin = require('webpack/lib/DefinePlugin') -const { ignoreLoader, rel } = require('./lib') +const DefinePlugin = require('webpack/lib/DefinePlugin'); +const { ignoreLoader, rel } = require('./lib'); module.exports = { context: rel('src'), @@ -23,4 +23,4 @@ module.exports = { 'process.env.NODE_ENV': '"production"', }), ], -} +}; diff --git a/webpack_config/jquery.js b/webpack_config/jquery.js index 93c7713fa..2b3f8f790 100644 --- a/webpack_config/jquery.js +++ b/webpack_config/jquery.js @@ -1,5 +1,5 @@ -const DefinePlugin = require('webpack/lib/DefinePlugin') -const { ignoreLoader, rel } = require('./lib') +const DefinePlugin = require('webpack/lib/DefinePlugin'); +const { ignoreLoader, rel } = require('./lib'); module.exports = { context: rel('src'), @@ -22,4 +22,4 @@ module.exports = { 'process.env.NODE_ENV': '"production"', }), ], -} +}; diff --git a/webpack_config/lib.js b/webpack_config/lib.js index b7107e631..826853659 100644 --- a/webpack_config/lib.js +++ b/webpack_config/lib.js @@ -1,13 +1,13 @@ -const rel = require('path').resolve.bind(null, __dirname, '..') +const rel = require('path').resolve.bind(null, __dirname, '..'); function ignoreLoader(ignores) { return { loader: 'null-loader', test(path) { - return ignores.some(ignore => path.includes(ignore)) + return ignores.some(ignore => path.includes(ignore)); }, - } + }; } function jsLoader() { @@ -15,7 +15,7 @@ function jsLoader() { loader: 'babel-loader', test: /\.js$/, include: rel('src'), - } + }; } -module.exports = { ignoreLoader, jsLoader, rel } +module.exports = { ignoreLoader, jsLoader, rel };