Skip to content

Commit

Permalink
feat: removes "type" parameter from "validate" call signature
Browse files Browse the repository at this point in the history
BREAKING CHANGE: Calling "gavel.validate" no longer requires the "type" parameter.
  • Loading branch information
artem-zakharchenko committed May 31, 2019
1 parent 2eff11a commit 3e1097e
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 51 deletions.
18 changes: 6 additions & 12 deletions bin/gavel
Original file line number Diff line number Diff line change
Expand Up @@ -24,25 +24,19 @@ process.stdin.on('end', function() {

var realHttp = curlParser.parseBack(stdin);

var realRequest = httpParser.parseRequest(realHttp['request']);
var realResponse = httpParser.parseResponse(realHttp['response']);
var realRequest = httpParser.parseRequest(realHttp.request);
var realResponse = httpParser.parseResponse(realHttp.response);

var expectedRequest = httpParser.parseRequest(expectedHttp['request']);
var expectedResponse = httpParser.parseResponse(expectedHttp['response']);
var expectedRequest = httpParser.parseRequest(expectedHttp.request);
var expectedResponse = httpParser.parseResponse(expectedHttp.response);

var requestResult = false;
var responseResult = false;

gavel.validate(realRequest, expectedRequest, 'request', function(
err,
result
) {
gavel.validate(realRequest, expectedRequest, function(err, result) {
requestResult = result;

gavel.validate(realResponse, expectedResponse, 'response', function(
err,
result
) {
gavel.validate(realResponse, expectedResponse, function(err, result) {
responseResult = result;
});
});
Expand Down
9 changes: 1 addition & 8 deletions lib/next/validate.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,9 @@ const { validateMessage } = require('./validateMessage');
* a legacy-compliant validation results.
* @param {Object} real
* @param {Object} expected
* @param {'request'|'response'} type
* @param {(error: Error, result: Object) => void} callback
*/
function validate(real, expected, type, callback) {
if (type !== 'request' && type !== 'response') {
throw new Error(
`Can't validate: expected transaction "type" to be "request" or "response", but got: ${type}.`
);
}

function validate(real, expected, callback) {
let results;

try {
Expand Down
2 changes: 1 addition & 1 deletion test/cucumber/support/world.js
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ class World {
}

validate(callback) {
return gavel.validate(this.real, this.expected, 'response', callback);
return gavel.validate(this.real, this.expected, callback);
}

parseHeaders(headersString) {
Expand Down
45 changes: 15 additions & 30 deletions test/unit/validate-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -50,16 +50,11 @@ describe('Gavel proxies to functions with callbacks', () => {
let error = null;

before((done) => {
validate(
cloneHttpMessage,
baseHttpMessage,
variant,
(err, result) => {
error = err;
results = result;
done();
}
);
validate(cloneHttpMessage, baseHttpMessage, (err, result) => {
error = err;
results = result;
done();
});
});

it('should call the callback without any errors', () =>
Expand All @@ -72,16 +67,11 @@ describe('Gavel proxies to functions with callbacks', () => {
let error = null;

before((done) => {
validate(
similarHttpMessage,
baseHttpMessage,
variant,
(err, result) => {
error = err;
results = result;
done();
}
);
validate(similarHttpMessage, baseHttpMessage, (err, result) => {
error = err;
results = result;
done();
});
});

it('should call the callback without any errors', () =>
Expand All @@ -94,16 +84,11 @@ describe('Gavel proxies to functions with callbacks', () => {
let error = null;

before((done) => {
validate(
differentHttpMessage,
baseHttpMessage,
variant,
(err, result) => {
error = err;
results = result;
done();
}
);
validate(differentHttpMessage, baseHttpMessage, (err, result) => {
error = err;
results = result;
done();
});
});

it('should call the callback without any errors', () =>
Expand Down

0 comments on commit 3e1097e

Please sign in to comment.