UNPKG

mongotiles

Version:

mongotiles is a tilelive backend plug-in for MongoDB GridFS

54 lines (43 loc) 1.45 kB
# Unit tests assert = require 'assert' mongo = require 'mongodb' tilelive = require 'tilelive' mbtiles = require('mbtiles').registerProtocols(tilelive) mongotiles = require('../lib/index.js').registerProtocols(tilelive) describe 'Copy test', () -> source = sink = null db = null collection = null before (done) -> server = new mongo.Server '127.0.0.1', 27017 db = new mongo.Db 'mongotiles_test', server, {w:0} db.open () -> db.collection "testcoll.files", { w: 0 }, (err, coll) => collection = coll done(err) it 'should open the mbtiles source', (done) -> tilelive.load 'mbtiles://' + __dirname + '/test_tiles.mbtiles', (err, s) -> source = s done err it 'should open the mongotiles sink', (done) -> tilelive.load 'mongotiles://127.0.0.1:27017/mongotiles_test/testcoll', (err, s) -> sink = s done err it 'should copy 342 files', (done) -> this.timeout 15000 readStream = tilelive.createReadStream source, type: 'scanline' bbox: [ -180, -84, 180, 84 ] minzoom: 0 maxzoom: 4 readStream.on 'error', (e) -> throw e writeStream = tilelive.createWriteStream sink writeStream.on 'error', (e) -> throw e writeStream.on 'stop', () -> collection.count (err, c) -> assert.equal c, 342 done err readStream.pipe(writeStream) after (done) -> db.dropDatabase () -> db.close true, done