Exemplo n.º 1
0
 files.forEach(file => {
     try {
         let h = require(`./lib/eventhandlers/${file}`); //eslint-disable-line global-require
         if (Array.isArray(h.event)) {
             h.event.forEach(event => {
                 plugged.on(event, h.handler);
             });
         } else plugged.on(h.event, h.handler);
         story.debug('EventHandlers', `Loaded Handler for Event ${Array.isArray(h.event) ? h.event.join() : h.event}`);
     } catch (e) {
         story.error(`Failed to load eventhandler ${file}`, {attach: e});
         process.exit(1);
     }
 });
Exemplo n.º 2
0
  handler: function(info, next) {
    var uid = info.uid;
    var u = info.user;

    var last_param = info.session.last_param;

    if (!last_param) {
      var loc = u.loc;
      if (loc) {
        info.ended = true;
        return douban.event.list({ loc: loc }, next);
      }
      return next();
    }

    var act = last_param['_wx_act'];

    if (!act || !(act in douban.event)) return next();

    try {
      // 实际得到的比想要的少,说明没有更多了
      if (last_param.count > last_param._len) {
        info.param.start = 1;
        u.setPrev(null);
        delete last_param['_wx_act'];
        return next('NO_MORE');
      }

      // will update info.session.last_param, cause
      // this variable is just an object reference
      if (!last_param.start) {
        last_param.start = 4;
        last_param['count'] = 4;
      } else {
        last_param.start += 4;
      }
      douban.event[act](last_param, function(err, ret) {
        info.ended = true;
        next(err, ret);
      });
    } catch (e) {
      next();
    }
  }
Exemplo n.º 3
0
 it('should exist plugin component and event', function(done) {
   var plugin = {
     components: mockBase + '/mock-plugin/components/',
     events: mockBase + '/mock-plugin/events/'
   };
   var opts = {};
   app.use(plugin, opts);
   should.exist(app.event.listeners('bind_session'));
   should.exist(app.components.mockPlugin);
   done();
 });
Exemplo n.º 4
0
    it('should add servers and emit event and fetch the new server info by get methods', function(done) {
      var newServers = [
        {id: 'connector-server-1', serverType: 'connecctor', host: '127.0.0.1', port: 1234, clientPort: 3000, frontend: true},
        {id: 'area-server-1', serverType: 'area', host: '127.0.0.1', port: 2234}
      ];
      app.init({base: mockBase});
      app.event.on(pomelo.events.ADD_SERVERS, function(servers) {
        // check event args
        newServers.should.eql(servers);

        // check servers
        var curServers = app.getServers();
        should.exist(curServers);
        var item, i, l;
        for(i=0, l=newServers.length; i<l; i++) {
          item = newServers[i];
          item.should.eql(curServers[item.id]);
        }

        // check get server by id
        for(i=0, l=newServers.length; i<l; i++) {
          item = newServers[i];
          item.should.eql(app.getServerById(item.id));
        }

        // check server types
        var types = [];
        for(i=0, l=newServers.length; i<l; i++) {
          item = newServers[i];
          if(types.indexOf(item.serverType) < 0) {
            types.push(item.serverType);
          }
        }
        var types2 = app.getServerTypes();
        types.length.should.equal(types2.length);
        for(i=0, l=types.length; i<l; i++) {
          types2.should.include(types[i]);
        }

        // check server type list
        var slist;
        for(i=0, l=newServers.length; i<l; i++) {
          item = newServers[i];
          slist = app.getServersByType(item.serverType);
          should.exist(slist);
          contains(slist, item).should.be.true;
        }

        done();
      });

      app.addServers(newServers);
    });
Exemplo n.º 5
0
function attachModuleEventsAndDependencies() {

  var options = {maxListeners: calipso.config.get('server:events:maxListeners'), notifyDependencyFn: notifyDependenciesOfInit};

  for (var module in calipso.modules) {

    // Register dependencies
    registerModuleDependencies(calipso.modules[module]);

    // Attach event listener
    calipso.event.addModuleEventListener(calipso.modules[module], options);

  }

  // Sweep through the dependency tree and make sure any broken dependencies are disabled
  disableBrokenDependencies();

}
Exemplo n.º 6
0
 function do_search() {
   var param = info.session.last_param = info.param;
   param['_wx_act'] = 'search';
   info.ended = true;
   return douban.event.search(param, next);
 }
Exemplo n.º 7
0
    it('should remove server info and emit event', function(done) {
      var newServers = [
        {id: 'connector-server-1', serverType: 'connecctor', host: '127.0.0.1', port: 1234, clientPort: 3000, frontend: true},
        {id: 'area-server-1', serverType: 'area', host: '127.0.0.1', port: 2234},
        {id: 'path-server-1', serverType: 'path', host: '127.0.0.1', port: 2235}
      ];
      var destServers = [
        {id: 'connector-server-1', serverType: 'connecctor', host: '127.0.0.1', port: 1234, clientPort: 3000, frontend: true},
        {id: 'path-server-1', serverType: 'path', host: '127.0.0.1', port: 2235}
      ];
      var delIds = ['area-server-1'];
      var addCount = 0;
      var delCount = 0;

      app.init({base: mockBase});
      app.event.on(pomelo.events.ADD_SERVERS, function(servers) {
        // check event args
        newServers.should.eql(servers);
        addCount++;
      });

      app.event.on(pomelo.events.REMOVE_SERVERS, function(ids) {
        delIds.should.eql(ids);

        // check servers
        var curServers = app.getServers();
        should.exist(curServers);
        var item, i, l;
        for(i=0, l=destServers.length; i<l; i++) {
          item = destServers[i];
          item.should.eql(curServers[item.id]);
        }

        // check get server by id
        for(i=0, l=destServers.length; i<l; i++) {
          item = destServers[i];
          item.should.eql(app.getServerById(item.id));
        }

        // check server types
        // NOTICE: server types would not clear when remove server from app
        var types = [];
        for(i=0, l=newServers.length; i<l; i++) {
          item = newServers[i];
          if(types.indexOf(item.serverType) < 0) {
            types.push(item.serverType);
          }
        }
        var types2 = app.getServerTypes();
        types.length.should.equal(types2.length);
        for(i=0, l=types.length; i<l; i++) {
          types2.should.include(types[i]);
        }

        // check server type list
        var slist;
        for(i=0, l=destServers.length; i<l; i++) {
          item = destServers[i];
          slist = app.getServersByType(item.serverType);
          should.exist(slist);
          contains(slist, item).should.be.true;
        }

        done();
      });

      app.addServers(newServers);
      app.removeServers(delIds);
    });