diff --git a/lib/Connection.js b/lib/Connection.js index 5d033e717..1501d65d7 100644 --- a/lib/Connection.js +++ b/lib/Connection.js @@ -231,7 +231,7 @@ class Connection { // access them with `instance.agent` and `instance.ssl`. [inspect.custom] (depth, options) { return { - url: this.url, + url: stripAuth(this.url.toString()), id: this.id, headers: this.headers, deadCount: this.deadCount, @@ -244,7 +244,7 @@ class Connection { toJSON () { return { - url: this.url, + url: stripAuth(this.url.toString()), id: this.id, headers: this.headers, deadCount: this.deadCount, diff --git a/test/unit/connection.test.js b/test/unit/connection.test.js index 2ecad0ff1..ea9a2503b 100644 --- a/test/unit/connection.test.js +++ b/test/unit/connection.test.js @@ -723,11 +723,11 @@ test('setRole', t => { t.end() }) -test('Util.inspect Connection class should hide agent and ssl', t => { +test('Util.inspect Connection class should hide agent, ssl and auth', t => { t.plan(1) const connection = new Connection({ - url: new URL('http://localhost:9200'), + url: new URL('http://user:password@localhost:9200'), id: 'node-id', headers: { foo: 'bar' } }) @@ -741,20 +741,7 @@ test('Util.inspect Connection class should hide agent and ssl', t => { .replace(/(\r\n|\n|\r)/gm, '') } - t.strictEqual(cleanStr(inspect(connection)), cleanStr(`{ url: - URL { - href: 'http://localhost:9200/', - origin: 'http://localhost:9200', - protocol: 'http:', - username: '', - password: '', - host: 'localhost:9200', - hostname: 'localhost', - port: '9200', - pathname: '/', - search: '', - searchParams: URLSearchParams {}, - hash: '' }, + t.strictEqual(cleanStr(inspect(connection)), cleanStr(`{ url: 'http://localhost:9200/', id: 'node-id', headers: { foo: 'bar' }, deadCount: 0, @@ -765,6 +752,34 @@ test('Util.inspect Connection class should hide agent and ssl', t => { ) }) +test('connection.toJSON should hide agent, ssl and auth', t => { + t.plan(1) + + const connection = new Connection({ + url: new URL('http://user:password@localhost:9200'), + id: 'node-id', + headers: { foo: 'bar' } + }) + + t.deepEqual(connection.toJSON(), { + url: 'http://localhost:9200/', + id: 'node-id', + headers: { + foo: 'bar' + }, + deadCount: 0, + resurrectTimeout: 0, + _openRequests: 0, + status: 'alive', + roles: { + master: true, + data: true, + ingest: true, + ml: false + } + }) +}) + // https://github.com/elastic/elasticsearch-js/issues/843 test('Port handling', t => { t.test('http 80', t => {