From 5fff5fc61fccc1847428d351654f8334231fc363 Mon Sep 17 00:00:00 2001 From: "David H. Bronke" Date: Thu, 13 Nov 2014 17:53:01 -0600 Subject: [PATCH] Added integration test for overriding type parsers on a per-client basis. --- .../client/type-parser-override-tests.js | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 test/integration/client/type-parser-override-tests.js diff --git a/test/integration/client/type-parser-override-tests.js b/test/integration/client/type-parser-override-tests.js new file mode 100644 index 000000000..68a5de7f7 --- /dev/null +++ b/test/integration/client/type-parser-override-tests.js @@ -0,0 +1,34 @@ +var helper = require(__dirname + '/test-helper'); + +function testTypeParser(client, expectedResult, done) { + var boolValue = true; + client.query('CREATE TEMP TABLE parserOverrideTest(id bool)'); + client.query('INSERT INTO parserOverrideTest(id) VALUES ($1)', [boolValue]); + client.query('SELECT * FROM parserOverrideTest', assert.success(function(result) { + assert.equal(result.rows[0].id, expectedResult); + helper.pg.end(); + done(); + })); +} + +helper.pg.connect(helper.config, assert.success(function(client1, done1) { + helper.pg.connect(helper.config, assert.success(function(client2, done2) { + var boolTypeOID = 16; + client1.setTypeParser(boolTypeOID, function(){ + return 'first client'; + }); + client2.setTypeParser(boolTypeOID, function(){ + return 'second client'; + }); + + client1.setTypeParser(boolTypeOID, 'binary', function(){ + return 'first client binary'; + }); + client2.setTypeParser(boolTypeOID, 'binary', function(){ + return 'second client binary'; + }); + + testTypeParser(client1, 'first client', done1); + testTypeParser(client2, 'second client', done2); + })); +}));