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:
});