UNPKG

zoologist

Version:

A Curator-esque framework for ZooKeeper

63 lines (54 loc) 1.9 kB
var mocha = require('mocha'); var mockery = require('mockery'); var should = require('chai').should(); var Zoologist = require('..').Zoologist; var GetChildrenBuilder = require('..').GetChildrenBuilder; var ServiceProvider = require('..').ServiceProvider; var ServiceInstanceBuilder = require('..').ServiceInstanceBuilder; var ServiceDiscoveryBuilder = require('..').ServiceDiscoveryBuilder; describe('GetChildrenBuilder', function() { beforeEach(function(done){ client = Zoologist.newClient('127.0.0.1:2181'); client.start(); client.once('connected', function () { serviceInstance = ServiceInstanceBuilder .builder() .address('localhost') .port(12345) .name('my/service/v2') .build(); serviceDiscovery = ServiceDiscoveryBuilder .builder() .client(client) .thisInstance(serviceInstance) .basePath('services') .build(); serviceProvider = new ServiceProvider(serviceDiscovery, 'my/service/v2'); serviceDiscovery.registerService(function onRegister(err, data) { done(); }); }); }); it('should return an array of children when calling getChildren() for an existing path', function(done) { GetChildrenBuilder .builder() .client(client) .forPath('/services', function (err, children) { children.should.be.instanceof(Array); children.should.have.length.above(0); children.should.include('my/service/v2'); done(); }); }); it('should return a zero-length array of children when calling getChildren() on a non-existent path', function(done) { GetChildrenBuilder .builder() .client(client) .forPath('/noServices', function (err, children) { err.should.be.a('object'); done(); }); }); });