mirror of
https://github.com/brianc/node-postgres.git
synced 2025-12-08 20:16:25 +00:00
* Work on converting lib to standard * Finish updating lib * Finish linting lib * Format test files * Add .eslintrc with standard format * Supply full path to eslint bin * Move lint command to package.json * Add eslint as dev dependency
44 lines
1.4 KiB
JavaScript
44 lines
1.4 KiB
JavaScript
'use strict'
|
|
var net = require('net')
|
|
var helper = require(__dirname + '/../test-helper')
|
|
var Connection = require(__dirname + '/../../../lib/connection')
|
|
var connect = function (callback) {
|
|
var username = helper.args.user
|
|
var database = helper.args.database
|
|
var con = new Connection({stream: new net.Stream()})
|
|
con.on('error', function (error) {
|
|
console.log(error)
|
|
throw new Error('Connection error')
|
|
})
|
|
con.connect(helper.args.port || '5432', helper.args.host || 'localhost')
|
|
con.once('connect', function () {
|
|
con.startup({
|
|
user: username,
|
|
database: database
|
|
})
|
|
con.once('authenticationCleartextPassword', function () {
|
|
con.password(helper.args.password)
|
|
})
|
|
con.once('authenticationMD5Password', function (msg) {
|
|
// need js client even if native client is included
|
|
var client = require(__dirname + '/../../../lib/client')
|
|
var inner = client.md5(helper.args.password + helper.args.user)
|
|
var outer = client.md5(inner + msg.salt.toString('binary'))
|
|
con.password('md5' + outer)
|
|
})
|
|
con.once('readyForQuery', function () {
|
|
con.query('create temp table ids(id integer)')
|
|
con.once('readyForQuery', function () {
|
|
con.query('insert into ids(id) values(1); insert into ids(id) values(2);')
|
|
con.once('readyForQuery', function () {
|
|
callback(con)
|
|
})
|
|
})
|
|
})
|
|
})
|
|
}
|
|
|
|
module.exports = {
|
|
connect: connect
|
|
}
|