diff --git a/src/lib/connection.js b/src/lib/connection.js index 593d7c385..3e16f3e12 100644 --- a/src/lib/connection.js +++ b/src/lib/connection.js @@ -22,6 +22,8 @@ function ConnectionAbstract(host, config) { throw new TypeError('Missing host'); } else if (host instanceof Host) { this.host = host; + } else if (typeof host === "string"){ + this.host = new Host(host); } else { throw new TypeError('Invalid host'); } @@ -96,4 +98,4 @@ ConnectionAbstract.prototype.setStatus = function (status) { if (status === 'closed') { this.removeAllListeners(); } -}; \ No newline at end of file +}; diff --git a/test/unit/specs/connection_abstract.js b/test/unit/specs/connection_abstract.js index a1e8ec88b..786436c68 100644 --- a/test/unit/specs/connection_abstract.js +++ b/test/unit/specs/connection_abstract.js @@ -15,6 +15,15 @@ describe('Connection Abstract', function () { expect(conn.host).to.be(host); }); + it('constructs with string host using Host constructor', function(){ + var host = 'localhost'; + var port = 9200; + var hostUrl = host+':'+port; + var conn = new ConnectionAbstract(hostUrl); + expect(conn.host.host).to.be(host); + expect(conn.host.port).to.be(port); + }); + it('requires a valid host', function () { expect(function () { new ConnectionAbstract();