New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

loadmill

Package Overview
Dependencies
Maintainers
2
Versions
100
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

loadmill - npm Package Compare versions

Comparing version 0.4.7 to 0.4.8

52

lib/utils.js

@@ -10,5 +10,6 @@ "use strict";

var testFailures = testResults.failures;
var res = [];
var failuresPerRequest = {};
for (var key in testFailures) {
if (testFailures.hasOwnProperty(key)) {
failuresPerRequest[key] = [];
var failedReq = resolvedRequests[key];

@@ -21,3 +22,3 @@ var reqAssertions = failedReq.assert;

if (fail) {
res.push(fail);
failuresPerRequest[key].push(fail);
}

@@ -28,8 +29,47 @@ }

}
return res;
return failuresPerRequest;
};
exports.checkAndPrintAssertionErrors = function (trialRes) {
var assertionErrors = getAssertionErrors(trialRes);
if (!exports.isEmptyObj(assertionErrors)) {
console.error('\x1b[31m', 'Test assertions failures -', '\x1b[0m', "" + JSON.stringify(assertionErrors, null, 4));
var assertionErrorsPerRequest = getAssertionErrors(trialRes);
if (!exports.isEmptyObj(assertionErrorsPerRequest)) {
console.error('\x1b[31m', 'Test failures -', '\x1b[0m');
for (var requestIndex in assertionErrorsPerRequest) {
var request = trialRes.resolvedRequests[requestIndex];
var description = request.description || requestIndex;
if (assertionErrorsPerRequest[requestIndex].length == 0) {
// If there was a failure but no assertion failed this means the request itself failed
console.log("Failed request \"" + description + "\" - " + request.method + " " + request.url);
if (request.response) {
console.log("Status: " + request.response.status + " " + request.response.statusText);
}
var histogram = trialRes.failures[requestIndex].histogram;
for (var errorKey in histogram) {
console.log("Error: " + errorKey);
}
}
else {
console.log("Assertion errors in request \"" + description + "\" - " + request.method + " " + request.url);
}
for (var _i = 0, _a = assertionErrorsPerRequest[requestIndex]; _i < _a.length; _i++) {
var error = _a[_i];
var parameter = error.check;
var actualParameterValue = void 0; // can stay undefined in case the param is undefined
for (var _b = 0, _c = request.postParameters; _b < _c.length; _b++) {
var paramWrapper = _c[_b];
actualParameterValue = paramWrapper[parameter];
}
// to do, eval the assertion expression to the actual string
var assertionMismatch = "be not empty or true";
if (error.equals) {
assertionMismatch = "be \"" + error.equals + "\"";
}
else if (error.contains) {
assertionMismatch = "contain \"" + error.contains + "\"";
}
else if (error.matches) {
assertionMismatch = "match \"" + error.matches + "\"";
}
console.log("Paramter \"" + parameter + "\" value is \"" + actualParameterValue + "\", expected to", assertionMismatch);
}
}
}

@@ -36,0 +76,0 @@ };

2

package.json
{
"name": "loadmill",
"version": "0.4.7",
"version": "0.4.8",
"description": "A node.js module for running load tests and functional tests on loadmill.com",

@@ -5,0 +5,0 @@ "keywords": [

@@ -8,6 +8,6 @@ import * as fs from "fs";

const getAssertionErrors = (testResults) => {
const resolvedRequests = testResults.resolvedRequests;
const testFailures: Loadmill.TestFailures = testResults.failures;
const resolvedRequests = testResults.resolvedRequests;
const testFailures: Loadmill.TestFailures = testResults.failures;
const res: any[] = [];
const failuresPerRequest = {};

@@ -17,2 +17,4 @@ for (let key in testFailures) {

failuresPerRequest[key] = [];
let failedReq = resolvedRequests[key];

@@ -25,3 +27,3 @@ let reqAssertions = failedReq.assert;

let fail = reqAssertions[histoKey];
if (fail) { res.push(fail); }
if (fail) { failuresPerRequest[key].push(fail); }
}

@@ -32,10 +34,52 @@ }

}
return res;
return failuresPerRequest;
};
export const checkAndPrintAssertionErrors = (trialRes) => {
let assertionErrors = getAssertionErrors(trialRes);
if (!isEmptyObj(assertionErrors)) {
console.error('\x1b[31m', 'Test assertions failures -', '\x1b[0m',
`${JSON.stringify(assertionErrors, null, 4)}`);
let assertionErrorsPerRequest = getAssertionErrors(trialRes);
if (!isEmptyObj(assertionErrorsPerRequest)) {
console.error('\x1b[31m', 'Test failures -', '\x1b[0m');
for (let requestIndex in assertionErrorsPerRequest) {
let request = trialRes.resolvedRequests[requestIndex];
let description = request.description || requestIndex;
if (assertionErrorsPerRequest[requestIndex].length == 0) {
// If there was a failure but no assertion failed this means the request itself failed
console.log(`Failed request "${description}" - ${request.method} ${request.url}`);
if (request.response) {
console.log(`Status: ${request.response.status} ${request.response.statusText}`);
}
let histogram = trialRes.failures[requestIndex].histogram;
for (let errorKey in histogram) {
console.log(`Error: ${errorKey}`);
}
} else {
console.log(`Assertion errors in request "${description}" - ${request.method} ${request.url}`);
}
for (let error of assertionErrorsPerRequest[requestIndex]) {
const parameter = error.check;
let actualParameterValue; // can stay undefined in case the param is undefined
for (let paramWrapper of request.postParameters) {
actualParameterValue = paramWrapper[parameter];
}
// to do, eval the assertion expression to the actual string
let assertionMismatch = "be not empty or true"
if (error.equals) {
assertionMismatch = `be "${error.equals}"`
} else if (error.contains) {
assertionMismatch = `contain "${error.contains}"`
} else if (error.matches) {
assertionMismatch = `match "${error.matches}"`
}
console.log(`Paramter "${parameter}" value is "${actualParameterValue}", expected to`, assertionMismatch);
}
}
}

@@ -48,3 +92,3 @@ };

if (isFile && endsWith(fileOrFolder,'.json')) {
if (isFile && endsWith(fileOrFolder, '.json')) {
filelist.push(fileOrFolder);

@@ -68,3 +112,3 @@ } else if (!isFile) {

constructor(verbose: boolean){
constructor(verbose: boolean) {
this.verb = verbose;

@@ -75,3 +119,3 @@ }

error = (err) => console.error('\x1b[31m', err, '\x1b[0m');
verbose = (msg, ...args) => this.verb ? console.log(msg, ...args) : void(0);
verbose = (msg, ...args) => this.verb ? console.log(msg, ...args) : void (0);
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc