@case-contract-testing/case
Version:
Next-generation contract testing suite
40 lines (39 loc) • 1.63 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.coreBasicAuthValue = exports.coreUrlEncodedString = exports.httpResponseMatcher = exports.httpRequestMatcher = exports.httpStatusCodeMatcher = void 0;
const types_1 = require("./types");
const validator_1 = require("./validator");
const httpStatusCodeMatcher = (codes, example) => {
const impliedExample = (0, validator_1.validateCodes)(codes);
return {
'case:matcher:type': types_1.HTTP_STATUS_CODE_MATCHER_TYPE,
'case:matcher:example': example ?? impliedExample,
'case:matcher:rule': codes,
'case:matcher:resolvesTo': 'HttpStatusCode',
};
};
exports.httpStatusCodeMatcher = httpStatusCodeMatcher;
const httpRequestMatcher = (request) => ({
...request,
'case:matcher:type': types_1.HTTP_REQUEST_MATCHER_TYPE,
});
exports.httpRequestMatcher = httpRequestMatcher;
const httpResponseMatcher = (response) => ({
...response,
'case:matcher:type': types_1.HTTP_RESPONSE_MATCHER_TYPE,
});
exports.httpResponseMatcher = httpResponseMatcher;
const coreUrlEncodedString = (child) => ({
'case:matcher:type': types_1.URL_ENCODED_STRING_TYPE,
'case:matcher:child': child,
'case:matcher:accepts': 'string',
'case:matcher:resolvesTo': 'string',
});
exports.coreUrlEncodedString = coreUrlEncodedString;
const coreBasicAuthValue = (username, password) => ({
'case:matcher:type': types_1.HTTP_BASIC_AUTH_TYPE,
'case:matcher:username': username,
'case:matcher:password': password,
'case:matcher:resolvesTo': 'string',
});
exports.coreBasicAuthValue = coreBasicAuthValue;