Example #1
0
    it('should ensure folders for an append', function(done){

      var digger = Server();
      var client = Client();
      var warehouse = diggerlevel(db)

      digger.warehouse(warehouse)

      client.on('request', digger.reception.bind(digger));

      var supplychain = client.connect('/a/b/c/d/e');

      var data = client.create('folder').addClass('red').inode('f')

      supplychain.append(data).ship(function(answers){

        warehouse.folders('/a/b/c/d/e/f', function(err, folders){
          if(err) throw err

          folders.length.should.equal(6)
          folders[0].path.should.equal('/')
          folders[1].path.should.equal('/a')
          folders[2].path.should.equal('/a/b')
          folders[3].path.should.equal('/a/b/c')
          folders[4].path.should.equal('/a/b/c/d')
          folders[5].path.should.equal('/a/b/c/d/e')
          done()
        })

      })

    })
Example #2
0
module.exports = function(leveldb){

  var supplier = diggerlevel(leveldb)

  var digger = diggerserver()
  digger.warehouse(supplier)

  var client = diggerclient();
  client.on('request', function(req, res){
    digger.reception(req, res)
  })

  return client
}
Example #3
0
    it('should append some simple data', function(done){

      var digger = Server();
      var client = Client();

      digger.warehouse(diggerlevel(db))

      client.on('request', digger.reception.bind(digger));

      var warehouse = client.connect('/apples');

      var data = client.create('folder').addClass('red').inode('/red')
      var sub1 = client.create('sub').inode('/sub')
      var sub2 = client.create('sub2').inode('/sub2')

      sub1.append(sub2)

      data.append(sub1)

      var otherdata = client.create('folder').addClass('blue').inode('/blue')      
      data.add(otherdata)

      warehouse.append(data).ship(function(appended){

        appended.models.length.should.equal(2)

        warehouse('folder.red').ship(function(folder){

          folder.tag().should.equal('folder')
          folder.hasClass('red').should.equal(true)
          folder.path().should.equal('/apples')
          


          folder.count().should.equal(1);
          done();
        })
      })

    })
Example #4
0
    it('should append a batch of data', function(done){

      var digger = Server();
      var client = Client();

      digger.warehouse(diggerlevel(db))
      client.on('request', digger.reception.bind(digger));

      var warehouse = client.connect('/cities');

      var data = client.create(require(__dirname + '/fixtures/cities.json'))

      warehouse.append(data).ship(function(answers){

        warehouse('city').ship(function(cities){

          cities.count().should.equal(8)
          done()

        })
      })

    })