Skip to content

Commit

Permalink
Remove auth data from inspect and toJSON in connection class (#887)
Browse files Browse the repository at this point in the history
* Remove auth data from inspect and toJSON in connection class

* Updated test
  • Loading branch information
delvedor committed Jul 4, 2019
1 parent 39bbd77 commit 66fd946
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 18 deletions.
4 changes: 2 additions & 2 deletions lib/Connection.js
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand All @@ -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,
Expand Down
47 changes: 31 additions & 16 deletions test/unit/connection.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -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' }
})
Expand All @@ -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,
Expand All @@ -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 => {
Expand Down

0 comments on commit 66fd946

Please sign in to comment.