sql >> Base de Datos >  >> RDS >> PostgreSQL

devolución de llamada de comando personalizada de vigilancia nocturna

Tuve que envolver la conexión de la base de datos en un comando de ejecución para que esto funcionara. No estoy seguro de si esta es la mejor manera de manejar la devolución de llamada, pero funciona. Aquí está la versión actualizada del comando personalizado:

exports.command = function(sql,callback) {
  var self = this;
  var pg = require('pg');
  var cs = self.globals.testinfo.connectionString;
  self.perform(function(self,done) {
    pg.connect(cs,function(err,db,done) {
      if(err) {
        return console.error(err);
      }  
      db.query(sql, function(err,result) {
        done();
        if(err) {
          return console.error(err);
        } 
        console.log(result.rows.length);
        callback(result.rows[0]);
      });
    });
    pg.end();
    done();
  });
};

Así es como llamo al comando personalizado en la prueba:

browser.myCustomCommand('select * from table limit 1;', function(row) {
  browser.assert.deepEqual(row.column,'some value');
});