legacy/routes/errorStatusCodes.js (92 lines of code) (raw):

var express = require("express"); var router = express.Router(); var utils = require("../util/utils"); // valid Pet var tommyPet = { name: "Tommy Tomson", aniType: "Dog", }; // unexpected enum var sadCasper = { actionResponse: "grrrr", errorType: "PetSadError", errorMessage: "casper aint happy", reason: "need more treats", }; // enum from allowed values var hungryScooby = { actionResponse: "howl", errorType: "PetHungryOrThirstyError", errorMessage: "scooby is low", reason: "need more everything", hungryOrThirsty: "hungry and thirsty", }; var stringError = " is missing"; var intError = 123; var linkNotFoundError = { someBaseProp: "problem finding pet", reason: "link to pet not found", whatSubAddress: "pet/yourpet was not found", whatNotFound: "InvalidResourceLink", }; var animalNotFoundError = { someBaseProp: "problem finding animal", reason: "the type of animal requested is not available", name: "coyote", whatNotFound: "AnimalNotFound", }; var pathitem = function (coverage, optionalCoverage) { optionalCoverage["sendErrorWithParamNameModels"] = 0; router.post("/Pets/doSomething/:whatAction", function (req, res, next) { var whatAction = req.params.whatAction; console.log('Inside action: "' + whatAction + '"\n'); if (whatAction === "stay") { coverage["expectedNoErrors"]++; res.status(200).json(tommyPet); } else if (whatAction === "jump") { res.status(500).json(sadCasper); coverage["expectedPetSadError"]++; } else if (whatAction === "fetch") { res.status(404).json(hungryScooby); coverage["expectedPetHungryError"]++; } else { utils.send400(res, next, "Action cannot be performed " + whatAction); } }); router.get("/Pets/:petId/GetPet", function (req, res, next) { var petId = req.params.petId; console.log("Inside petfinder for " + petId + "\n"); if (petId === "tommy") { coverage["expectedNoErrors"]++; res.status(200).json(tommyPet); } else if (petId === "django") { res.status(202).end(); } else if (petId === "coyoteUgly") { coverage["animalNotFoundError"]++; res.status(404).json(animalNotFoundError); } else if (petId === "weirdAlYankovic") { coverage["linkNotFoundError"]++; res.status(404).json(linkNotFoundError); } else if (petId === "ringo") { coverage["stringError"]++; res.status(400).json(petId + stringError); } else if (petId === "alien123") { coverage["intError"]++; res.status(501).json(intError); } else { res.status(402).end("That's all folks!!"); } }); router.post("/Pets/hasModelsParam", function (req, res, next) { models_param = req.query["models"]; if (models_param == "value1") { res.status(500).json(sadCasper); optionalCoverage["sendErrorWithParamNameModels"]++; } else { utils.send400( res, next, "The value of input param models is " + models_param + " and not the client default value of 'value1'", ); } }); }; pathitem.prototype.router = router; module.exports = pathitem;