UNPKG

lambda-stash

Version:

AWS Lambda script for shipping data from S3 or other cloud data sources to data stores, like Elasticsearch

57 lines (50 loc) 1.94 kB
/* global describe, it */ var assert = require("assert"); var fs = require("fs"); var handler = require("../handlers/parseSpaces"); describe('handler/parseSpaces.js', function() { describe('#process()', function() { var dataSource; var dataJson; it('should parse space separated ELBv2 data', function(done) { dataSource = fs.readFileSync("test/assets/elbv2.source.txt"); dataJson = JSON.parse(fs.readFileSync("test/assets/elbv2.parse.json")); var config = {data: dataSource, setting: true}; handler.process(config) .then(function(result) { assert.ok(result.hasOwnProperty('setting'), 'process returns config object'); assert.deepStrictEqual(result.data, dataJson, 'space separated data parsed successfully'); done(); }); }); it('should parse space separated S3 log data', function(done) { dataSource = fs.readFileSync("test/assets/s3access.source.txt"); dataJson = JSON.parse(fs.readFileSync("test/assets/s3access.parse.json")); var config = {data: dataSource, setting: true}; handler.process(config) .then(function(result) { assert.ok(result.hasOwnProperty('setting'), 'process returns config object'); assert.deepStrictEqual(result.data, dataJson, 'space separated data parsed successfully'); done(); }); }); it('should fail if malformed space separated data is provided', function(done) { // An unclosed quote should throw an error when processed by csv-parse. const badData = '"test test'; handler.process({data: badData}) .catch(function(err) { assert.ok(err, 'failure reported for malformed space separated data'); done(); }); }); }); });