Name: js-handler/node_modules/restify/node_modules/formidable/test/integration/test-octet-stream.js
| 1: | var common = require('../common'); |
| 2: | var formidable = common.formidable; |
| 3: | var http = require('http'); |
| 4: | var fs = require('fs'); |
| 5: | var path = require('path'); |
| 6: | var hashish = require('hashish'); |
| 7: | var assert = require('assert'); |
| 8: | |
| 9: | var testFilePath = path.join(__dirname, '../fixture/file/binaryfile.tar.gz'); |
| 10: | |
| 11: | var server = http.createServer(function(req, res) { |
| 12: | var form = new formidable.IncomingForm(); |
| 13: | |
| 14: | form.parse(req, function(err, fields, files) { |
| 15: | assert.equal(hashish(files).length, 1); |
| 16: | var file = files.file; |
| 17: | |
| 18: | assert.equal(file.size, 301); |
| 19: | |
| 20: | var uploaded = fs.readFileSync(file.path); |
| 21: | var original = fs.readFileSync(testFilePath); |
| 22: | |
| 23: | assert.deepEqual(uploaded, original); |
| 24: | |
| 25: | res.end(); |
| 26: | server.close(); |
| 27: | }); |
| 28: | }); |
| 29: | |
| 30: | var port = common.port; |
| 31: | |
| 32: | server.listen(port, function(err){ |
| 33: | assert.equal(err, null); |
| 34: | |
| 35: | var request = http.request({ |
| 36: | port: port, |
| 37: | method: 'POST', |
| 38: | headers: { |
| 39: | 'Content-Type': 'application/octet-stream' |
| 40: | } |
| 41: | }); |
| 42: | |
| 43: | fs.createReadStream(testFilePath).pipe(request); |
| 44: | }); |
