Example #1
0
 * Modules dependencies
 */

var mocha = require('mocha'),
	figc = require('figc'),
	assert = require('chai').assert,
	libPath = process.env['SOLR_CLIENT_COV'] ? '../lib-cov' : '../lib',
	solr = require( libPath + '/solr'),
	SolrError = require(libPath + '/error/solr-error'),
	sassert = require('./sassert');

var argv = require('minimist')(process.argv.slice(2));
// Test suite
var configPath = argv.configPath || 'config.json';
var config = figc(__dirname + '/' + configPath);
var client = solr.createClient(config.client);
var basePath = [config.client.path, config.client.core].join('/').replace(/\/$/,"");

describe('Client',function(){
	describe('#search("q=*:*")',function(){
		it('should find all documents',function(done){
			client.search('q=*:*',function(err,data){
				sassert.ok(err,data);
				assert.deepEqual({ q : '*:*' , wt: 'json' },data.responseHeader.params);
				done();
			});
		});
	});
	describe('#search(query)',function(){
		it('should find documents describe in the `query` instance of `Query`',function(done){
			var query = client.createQuery()
Example #2
0
  api.redis.initialize = function(callback){
    if(api.config.redis.package === 'fakeredis'){
      api.redis.client     = redisPackage.createClient(String(api.config.redis.host));
      api.redis.subscriber = redisPackage.createClient(String(api.config.redis.host));
    }else{
      api.redis.client     = redisPackage.createClient(api.config.redis.port, api.config.redis.host, api.config.redis.options);
      api.redis.subscriber = redisPackage.createClient(api.config.redis.port, api.config.redis.host, api.config.redis.options);
    }
    if(api.config.redis.password !== undefined && api.config.redis.password !== ''){
      try{ 
        api.redis.client.auth(api.config.redis.password);
        api.redis.subscriber.auth(api.config.redis.password);
      }catch(e){
        //
      }
    }
    
    api.redis.client.on('error', function(err){
      api.log('Redis Error (client): ' + err, 'emerg');
    });

    api.redis.subscriber.on('error', function(err){
      api.log('Redis Error (subscriber): ' + err, 'emerg');
    });

    api.redis.client.on('end', function(){
      api.log('Redis Connection Closed (client): ', 'debug');
      api.redis.status.client = false;
    });

    api.redis.subscriber.on('end', function(){
      api.log('Redis Connection Closed (subscriber): ', 'debug');
      api.redis.status.subscriber = false;
      api.redis.status.subscribed = false;
    });

    api.redis.client.on('connect', function(){
      if(api.config.redis.password && api.config.redis.password !== ''){
        api.redis.client.auth(api.config.redis.password);
      }
      if(api.config.redis.database){ api.redis.client.select(api.config.redis.database); }
      api.log('connected to redis (client)', 'debug');
      api.redis.status.client = true;
      process.nextTick(function(){
        if(api.redis.status.client === true && api.redis.status.subscriber === true && api.redis.status.calledback === false){ 
          api.redis.status.calledback = true;
          callback(); 
        }
      });
    });

    api.redis.subscriber.on('connect', function(){
      if(api.config.redis.password && api.config.redis.password !== ''){
        api.redis.subscriber.auth(api.config.redis.password);
      }
      if(api.config.redis.database){ api.redis.subscriber.select(api.config.redis.database); }
      api.log('connected to redis (subscriber)', 'debug');
      api.redis.status.subscriber = true;
      process.nextTick(function(){
        if(api.redis.status.client === true && api.redis.status.subscriber === true && api.redis.status.calledback === false){
          api.redis.status.calledback = true;
          callback();
        }
      });
    });

    if(api.config.redis.package === 'fakeredis'){
      api.redis.status.client = true;
      api.redis.status.subscriber = true;
      if(api.config.redis.database){ 
        api.redis.client.select(api.config.redis.database); 
        api.redis.subscriber.select(api.config.redis.database); 
      }
      process.nextTick(function(){
        api.redis.status.calledback = true;
        callback();
      });
    }
  };