@microsoft.azure/autorest.testserver
Version:
This project contains a set of OpenAPI definitions and a server implementing the corresponding API. Use this to test compliance of AutoRest generators.
61 lines (54 loc) • 3.17 kB
JavaScript
var express = require('express');
var router = express.Router();
var util = require('util');
var utils = require('../util/utils')
var parameterGrouping = function(coverage) {
coverage['postParameterGroupingOptionalParameters'] = 0;
coverage['postParameterGroupingRequiredParameters'] = 0;
coverage['postParameterGroupingMultipleParameterGroups'] = 0;
coverage['postParameterGroupingSharedParameterGroupObject'] = 0;
router.post('/postRequired/:path', function(req, res, next) {
if (req.body === 1234 && req.params.path === 'path' &&
(req.get('customHeader') === 'header' || req.get('customHeader') === undefined) &&
(req.query['query'] === '21' || req.query['query'] === undefined)) {
coverage['postParameterGroupingRequiredParameters']++;
res.status(200).end();
} else {
utils.send400(res, next, "Did not like the values in the req. Body: " + util.inspect(req.body) +
", Path: " + req.params.path + ", customHeader: " + req.get('customHeader') + ", query: " + req.query['query']);
}
});
router.post('/postOptional', function(req, res, next) {
if ((req.get('customHeader') === 'header' || req.get('customHeader') === undefined) &&
(req.query['query'] === '21' || req.query['query'] === undefined)) {
coverage['postParameterGroupingOptionalParameters']++;
res.status(200).end();
} else {
utils.send400(res, next, "Did not like the values in the req. header: " + req.get('customHeader') + ", query: " + req.query['query']);
}
});
router.post('/postMultipleParameterGroups', function(req, res, next) {
if ((req.get('headerOne') === 'header' || req.get('headerOne') === undefined) &&
(req.query['queryOne'] === '21' || req.query['queryOne'] === undefined) &&
(req.query['headerTwo'] === 'header2' || req.query['headerTwo'] === undefined) &&
(req.query['queryTwo'] === '42' || req.query['queryTwo'] === undefined)
) {
coverage['postParameterGroupingMultipleParameterGroups']++;
res.status(200).end();
} else {
utils.send400(res, next, "Did not like the values in the req. headerOne: " + req.get('headerOne') + ", queryOne: " + req.query['queryOne'] +
", headerTwo: " + req.get('headerTwo') + ", queryTwo: " + req.get('queryTwo'));
}
});
router.post('/sharedParameterGroupObject', function(req, res, next) {
if ((req.get('headerOne') === 'header' || req.get('headerOne') === undefined) &&
(req.query['queryOne'] === '21' || req.query['queryOne'] === undefined)) {
coverage['postParameterGroupingSharedParameterGroupObject']++;
res.status(200).end();
} else {
utils.send400(res, next, "Did not like the values in the req. headerOne: " + req.get('headerOne') + ", queryOne: " + req.query['queryOne']);
}
});
}
parameterGrouping.prototype.router = router;
module.exports = parameterGrouping;