diff --git a/node-export-server/test/server.js b/node-export-server/test/server.js
index 0d244a6..c46cb45 100644
--- a/node-export-server/test/server.js
+++ b/node-export-server/test/server.js
@@ -1,5 +1,7 @@
var expect = require("chai").expect;
var server = require("../server.js");
+var fs = require('fs');
+var path = require('path');
describe("RenderDb Export Server", function() {
describe("Validate BBOX", function() {
@@ -37,5 +39,55 @@ describe("RenderDb Export Server", function() {
expect(server.validateBbox(bbox)).to.equal(bbox);
});
});
-});
+ describe("writeExportFile", function() {
+ it ('takes posted json data and writes it to a .json file', function(done) {
+ // for all this function knows, the req object it is given,
+ // is just a readable stream with a params property
+ // for simple testing, we can give it just that.
+ var osmFile = path.join(__dirname, 'test_overpass.json');
+ var mockJSONRequest = fs.createReadStream(osmFile);
+ mockJSONRequest.params = {
+ datasource: 'Overpass',
+ schema: 'TDSv70',
+ format: 'json'
+ }
+ server.writeExportFile(mockJSONRequest, function(hash, fileName) {
+ expect(fileName.split('.')[1]).to.eql('json');
+ fs.unlink(fileName, function(err) {
+ done();
+ })
+ })
+ });
+ it("takes posted osm xml data and writes it to a .osm file", function(done) {
+ var osmFile = path.join(__dirname, 'test_overpass.osm')
+ var mockXMLRequest = fs.createReadStream(osmFile);
+ mockXMLRequest.params = {
+ datasource: 'Overpass',
+ schema: 'TDSv70',
+ format: 'json'
+ }
+ server.writeExportFile(mockXMLRequest, function(hash, fileName) {
+ expect(fileName.split('.')[1]).to.eql('osm');
+ fs.unlink(fileName, function(err) {
+ done();
+ })
+ })
+ });
+ it("takes posted osm xml data from non-overpass source and makes it a .osm file", function() {
+ var osmFile = path.join(__dirname, 'test_overpass.osm')
+ var mockXMLRequest = fs.createReadStream(osmFile);
+ mockXMLRequest.params = {
+ datasource: 'not_overpass',
+ schema: 'TDSv70',
+ format: 'json'
+ }
+ server.writeExportFile(mockXMLRequest, function(hash, fileName) {
+ expect(fileName.split('.')[1]).to.eql('osm');
+ fs.unlink(fileName, function(err) {
+ done();
+ })
+ })
+ })
+ })
+});