added unit tests for parser

This commit is contained in:
Nick Carneiro
2015-01-02 14:14:44 -06:00
parent f99b2a585e
commit c5e03c8dba
5 changed files with 82 additions and 4 deletions

16
test/parser_output1.js Normal file
View File

@@ -0,0 +1,16 @@
module.exports = { url: 'http://en.wikipedia.org/',
headers:
{ 'Accept-Encoding': 'gzip, deflate, sdch',
'Accept-Language': 'en-US,en;q=0.8',
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36',
Accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
Referer: 'http://www.wikipedia.org/',
Connection: 'keep-alive' },
cookies:
{ GeoIP: 'US:Albuquerque:35.1241:-106.7675:v4',
'uls-previous-languages': '%5B%22en%22%5D',
'mediaWiki.user.sessionId': 'VaHaeVW3m0ymvx9kacwshZIDkv8zgF9y',
centralnotice_buckets_by_campaign: '%7B%22C14_enUS_dsk_lw_FR%22%3A%7B%22val%22%3A%220%22%2C%22start%22%3A1412172000%2C%22end%22%3A1422576000%7D%2C%22C14_en5C_dec_dsk_FR%22%3A%7B%22val%22%3A3%2C%22start%22%3A1417514400%2C%22end%22%3A1425290400%7D%2C%22C14_en5C_bkup_dsk_FR%22%3A%7B%22val%22%3A1%2C%22start%22%3A1417428000%2C%22end%22%3A1425290400%7D%7D',
centralnotice_bannercount_fr12: '22',
'centralnotice_bannercount_fr12-wait': '14' },
method: 'get' };

15
test/parser_output2.js Normal file
View File

@@ -0,0 +1,15 @@
module.exports = { url: 'http://www.w3schools.com/ajax/demo_post.asp',
headers:
{ Origin: 'http://www.w3schools.com',
'Accept-Encoding': 'gzip, deflate',
'Accept-Language': 'en-US,en;q=0.8',
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36',
Accept: '*/*',
Referer: 'http://www.w3schools.com/ajax/tryit_view.asp?x=0.07944501144811511',
Connection: 'keep-alive',
'Content-Length': '0' },
cookies:
{ _gat: '1',
ASPSESSIONIDACCRDTDC: 'MCMDKFMBLLLHGKCGNMKNGPKI',
_ga: 'GA1.2.1424920226.1419478126' },
method: 'post' };

16
test/parser_output3.js Normal file
View File

@@ -0,0 +1,16 @@
module.exports = {
url: 'http://fiddle.jshell.net/echo/html/',
headers: {
Origin: 'http://fiddle.jshell.net',
'Accept-Encoding': 'gzip, deflate',
'Accept-Language': 'en-US,en;q=0.8',
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36',
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
Accept: '*/*',
Referer: 'http://fiddle.jshell.net/_display/',
'X-Requested-With': 'XMLHttpRequest',
Connection: 'keep-alive'
},
method: 'post',
data: 'msg1=wow&msg2=such'
};

View File

@@ -1,9 +1,34 @@
'use strict';
var test = require('tape');
var fs = require('fs');
var utils = require('../util');
var curlconverter = require('../');
test('http get - parser', function (t) {
var curlHttpGetCommand = fs.readFileSync(__dirname + '/curl1.txt', 'utf-8');
var parsedCommand = utils.parseCurlCommand(curlHttpGetCommand);
var goodParserOutput = require('./parser_output1.js');
t.deepEquals(parsedCommand, goodParserOutput);
t.end();
});
test('http post - parser', function (t) {
var curlHttpGetCommand = fs.readFileSync(__dirname + '/curl2.txt', 'utf-8');
var parsedCommand = utils.parseCurlCommand(curlHttpGetCommand);
var goodParserOutput = require('./parser_output2.js');
t.deepEquals(parsedCommand, goodParserOutput);
t.end();
});
test('http post with data - parser', function (t) {
var curlHttpGetCommand = fs.readFileSync(__dirname + '/curl3.txt', 'utf-8');
var parsedCommand = utils.parseCurlCommand(curlHttpGetCommand);
var goodParserOutput = require('./parser_output3.js');
t.deepEquals(parsedCommand, goodParserOutput);
t.end();
});
test('http get - python', function (t) {
var curlHttpGetCommand = fs.readFileSync(__dirname + '/curl1.txt', 'utf-8');
var pythonCode = curlconverter.toPython(curlHttpGetCommand);