test-disconnects.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. var common = require('../../common');
  2. var assert = require('assert');
  3. var rows;
  4. var fields;
  5. var err;
  6. var server;
  7. function test() {
  8. var connection = common.createConnection({port: 3307});
  9. connection.query('SELECT 123', function(err, _rows, _fields) {
  10. if (err) throw err;
  11. rows = _rows;
  12. fields = _fields;
  13. connection.on('error', function(_err) {
  14. err = _err;
  15. });
  16. server.connections.forEach(function(conn) { conn.stream.end(); } );
  17. server._server.close(function() {
  18. assert.equal(err.code, 'PROTOCOL_CONNECTION_LOST');
  19. });
  20. });
  21. // TODO: test connection.end() etc where we expect disconnect to happen
  22. }
  23. function serverHandler(conn) {
  24. conn.on('query', function(q) {
  25. conn.writeTextResult([ { '1': '1' } ], [ { catalog: 'def',
  26. schema: '',
  27. table: '',
  28. orgTable: '',
  29. name: '1',
  30. orgName: '',
  31. characterSet: 63,
  32. columnLength: 1,
  33. columnType: 8,
  34. flags: 129,
  35. decimals: 0 } ]);
  36. });
  37. }
  38. server = common.createServer(test, serverHandler);
  39. process.on('exit', function() {
  40. assert.deepEqual(rows, [{1: 1}]);
  41. assert.equal(fields[0].name, '1');
  42. });