UNPKG

crate-connect

Version:

A simple node.js driver to connect to a Crate.io Data Storage.

96 lines (87 loc) 2.7 kB
var assert = require('assert'); var Crate, db, query; describe('Cratejs', function() { describe('Try to initiate a CrateJS client', function(){ it('Should initiate a CreateJS client', function() { Crate = require('../index.js'); db = new Crate({ host: process.env.CRATE_TEST_HOST || '127.0.0.1', port: process.env.CRATE_TEST_PORT || 4200, }); }); }); describe('Build some queries', function(){ it('Should build some queries', function() { query = [ db.Query('SELECT * FROM sys.cluster LIMIT ?') ]; }); }); describe('Now try to query the dabtase', function(){ it('Should return an rows from the query', function(done) { query[0].execute([100], function(err, res) { if(err) { return done(err); } else if(res.rowcount < 1) { return done('no rows returned'); } done(); }); }); it('Should return an rows from the query (direct execution)', function(done) { db.execute('SELECT * FROM sys.cluster LIMIT ?', [100], function(err, res) { if(err) { return done(err); } else if(res.rowcount < 1) { return done('no rows returned'); } done(); }); }); }); describe('Blobs', function() { it('Create sample blob table, this command should not fail, execute() was already tested', function(done) { db.execute('CREATE BLOB TABLE blob_sample', function() { done() }) }) it('Should put a blob in the table', function(done) { db.blob().put('blob_sample', '4f041e948dfaae599ae3f5c89f5ae698ffec4b38', new Buffer("Lorem ipsum?"), function(err) { if(err && err !== 409) { //Ignore error 409, because 409 is a conlifct error, blob already exists return done(err); } done() }) }) it('Should check a blob in the table', function(done) { db.blob().check('blob_sample', '4f041e948dfaae599ae3f5c89f5ae698ffec4b38', function(err, buffer) { if(err) { return done(err); } done() }) }) it('Should get a blob from the table', function(done) { db.blob().get('blob_sample', '4f041e948dfaae599ae3f5c89f5ae698ffec4b38', function(err, buffer) { if(err) { return done(err); } if(buffer != new Buffer("Lorem ipsum?")) { return done("The returned buffer was not the same as the one we sent it.") } done() }) }) it('Should delete a blob from the table', function(done) { db.blob().delete('blob_sample', '4f041e948dfaae599ae3f5c89f5ae698ffec4b38', function(err) { if(err) { return done(err); } done() }) }) }) });