'use strict'; var parseConnection = require('../../lib/util/parse-connection') var test = require('tape') test('parses standard connections', function(t) { t.plan(1) t.deepEqual(parseConnection('postgres://username:pass@path.to.some-url:6000/testdb'), { client: 'postgres', connection: { user: 'username', password: 'pass', host: 'path.to.some-url', port: '6000', database: 'testdb' } }) }) test('parses standard connections without password', function(t) { t.plan(1) t.deepEqual(parseConnection('mysql://username@path.to.some-url:3306/testdb'), { client: 'mysql', connection: { user: 'username', host: 'path.to.some-url', port: '3306', database: 'testdb' } }) }) test('parses mssql connections, aliasing host to server', function(t) { t.plan(1) var mssql = { client: 'mssql', connection: { user: 'username', password: 'pass', server: 'path.to.some-url', port: '6000', database: 'testdb' } } t.deepEqual(parseConnection('mssql://username:pass@path.to.some-url:6000/testdb'), mssql) }) test('assume a path is mysql', function(t) { t.plan(1) t.deepEqual(parseConnection('/path/to/file.db'), { client: 'sqlite3', connection: { filename: '/path/to/file.db' } }) }) test('#852, ssl param with PG query string', function(t) { t.plan(1) t.deepEqual(parseConnection("postgres://user:password@host:0000/database?ssl=true").connection, { host: "host", port: "0000", user: "user", password: "password", database: "database", ssl: true }) }) test('support postgresql connection protocol', function(t) { t.plan(1) t.deepEqual(parseConnection('postgresql://user:password@host:0000/database?ssl=true').connection, { host: 'host', port: '0000', user: 'user', password: 'password', database: 'database', ssl: true }) })