Skip to content

v0.2.51..v0.2.52 changeset server.js

Garret Voltz edited this page Jan 15, 2020 · 1 revision
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();
+                })
+            })
 
+        })
+    })
+});
Clone this wiki locally