diff --git a/test/unit/client-tests.js b/test/unit/client-tests.js index 89f8d772..e9f663b6 100644 --- a/test/unit/client-tests.js +++ b/test/unit/client-tests.js @@ -1,5 +1,7 @@ require(__dirname+'/test-helper'); + test('client settings', function() { + test('defaults', function() { var client = new Client(); assert.equal(client.user, null); diff --git a/test/unit/communication-tests.js b/test/unit/communication-tests.js index 44bd5d92..df87f94e 100644 --- a/test/unit/communication-tests.js +++ b/test/unit/communication-tests.js @@ -1,7 +1,5 @@ require(__dirname+'/test-helper'); -var buffers = require(__dirname+'/test-buffers'); - test('client can take existing stream', function() { var stream = new MemoryStream(); var client = new Client({ @@ -81,62 +79,3 @@ test('query queue', function() { }); }); - -var dataTypes = { - char: 18 -}; - -test('simple query scenario', function() { - var stream = new MemoryStream(); - stream.readyState = 'open'; - var client = new Client({ - stream: stream - }); - client.connect(); - assert.ok(stream.emit('data', buffers.readyForQuery())); - - var query = client.query('!'); - test('stream got packet', function() { - assert.length(stream.packets, 1); - }); - - stream.emit('data', buffers.rowDescription([{ - name: 'id', - dataTypeID: dataTypes.char, - dataTypeSize: 1 - }])); - - var rowData = []; - query.on('row',function(data) { - rowData = data; - }); - - var ended = 0; - query.on('end', function() { - ended++; - }); - - stream.emit('data', buffers.dataRow(["!"])); - - test('row has one item', function() { - assert.length(rowData, 1); - }); - - test('row has correct data', function() { - assert.equal(rowData[0], "!"); - }); - - - test('query ends', function() { - stream.emit('data', buffers.commandComplete()); - assert.equal(ended, 1); - }); - - test('after query is ended, it emits nothing else', function() { - stream.emit('data', buffers.dataRow(["X","Y","Z"])); - stream.emit('data', buffers.commandComplete()); - assert.length(rowData, 1); - assert.equal(ended, 1); - }); - -}); diff --git a/test/unit/simple-query-tests.js b/test/unit/simple-query-tests.js new file mode 100644 index 00000000..39abeb7e --- /dev/null +++ b/test/unit/simple-query-tests.js @@ -0,0 +1,60 @@ +require(__dirname+'/test-helper'); + +var dataTypes = { + char: 18 +}; + +test('simple query', function() { + var stream = new MemoryStream(); + stream.readyState = 'open'; + var client = new Client({ + stream: stream + }); + client.connect(); + assert.ok(stream.emit('data', buffers.readyForQuery())); + + var query = client.query('!'); + test('stream got packet', function() { + assert.length(stream.packets, 1); + }); + + stream.emit('data', buffers.rowDescription([{ + name: 'id', + dataTypeID: dataTypes.char, + dataTypeSize: 1 + }])); + + var rowData = []; + query.on('row',function(data) { + rowData = data; + }); + + var ended = 0; + query.on('end', function() { + ended++; + }); + + stream.emit('data', buffers.dataRow(["!"])); + + test('row has one item', function() { + assert.length(rowData, 1); + }); + + test('row has correct data', function() { + assert.equal(rowData[0], "!"); + }); + + + test('query ends', function() { + stream.emit('data', buffers.commandComplete()); + assert.equal(ended, 1); + }); + + test('after query is ended, it emits nothing else', function() { + stream.emit('data', buffers.dataRow(["X","Y","Z"])); + stream.emit('data', buffers.commandComplete()); + assert.length(rowData, 1); + assert.equal(ended, 1); + }); + +}); diff --git a/test/unit/test-helper.js b/test/unit/test-helper.js index a0197978..b9371fe2 100644 --- a/test/unit/test-helper.js +++ b/test/unit/test-helper.js @@ -1,13 +1,10 @@ sys = require('sys'); assert = require('assert'); -var requireLib = function(file) { - return require(__dirname + '/../../lib/' + (file || "")); -}; - -var stuff = requireLib(); -Client = stuff.Client; +Client = require(__dirname+'/../../lib/client'); EventEmitter = require('events').EventEmitter; BufferList = require(__dirname+'/buffer-list'); +buffers = require(__dirname+'/test-buffers'); + assert.same = function(actual, expected) { for(var key in expected) {