@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.
62 lines (55 loc) • 1.59 kB
JavaScript
var express = require('express');
var router = express.Router();
var utils = require('../util/utils')
// valid enums
var tommy = {
"DaysOfWeek":"Monday",
"IntEnum":"1",
"name":"Tommy Tomson"
};
// unexpected enum
var casper = {
"DaysOfWeek":"Weekend",
"IntEnum":"2",
"name":"Casper Ghosty"
};
// enum from allowed values
var scooby = {
"DaysOfWeek":"Thursday",
"IntEnum":"2.1",
"name":"Scooby Scarface"
};
var pathitem = function(coverage) {
router.get('/pet/:petId', function(req, res, next) {
var petId = req.params.petId;
console.log('Inside pathItem handler with petId "' + petId +'"\n');
if (petId === 'tommy') {
coverage['expectedEnum']++;
res.status(200).json(tommy);
}
else if(petId === 'casper'){
res.status(200).json(casper);
coverage['unexpectedEnum']++;
}
else if(petId === 'scooby'){
res.status(200).json(scooby);
coverage['allowedValueEnum']++;
}
else{
utils.send400(res, next, 'Pet not found for '+petId);
}
});
router.post('/pet/addPet', function(req, res, next) {
var petName = req.body.name;
console.log('Inside addPet for '+petName+'\n');
if (petName === 'Retriever') {
coverage['roundTripEnum']++;
res.status(200).json(req.body);
}
else{
utils.send400(res, next, 'Pet info incorrect '+petName);
}
});
}
pathitem.prototype.router = router;
module.exports = pathitem;