@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.
44 lines (39 loc) • 1.69 kB
JavaScript
var express = require('express');
var router = express.Router();
var util = require('util');
//var Buffer = require('buffer');
var utils = require('../util/utils')
var byte = function(coverage) {
var bytes = new Buffer([255, 254, 253, 252, 251, 250, 249, 248, 247, 246]);
router.put('/:scenario', function(req, res, next) {
if (req.params.scenario === 'nonAscii') {
if (req.body !== bytes.toString('base64')) {
utils.send400(res, next, "Did not like nonAscii req '" + util.inspect(req.body) + "'");
} else {
coverage['putByteNonAscii']++;
res.status(200).end();
}
} else {
utils.send400(res, next, 'Request path must contain nonAscii');
}
});
router.get('/:scenario', function(req, res, next) {
if (req.params.scenario === 'null') {
coverage['getByteNull']++;
res.status(200).end();
} else if (req.params.scenario === 'empty') {
coverage['getByteEmpty']++;
res.status(200).type('json').end('\"\"');
} else if (req.params.scenario === 'nonAscii') {
coverage['getByteNonAscii']++;
res.status(200).type('json').end('\"' + bytes.toString('base64') + '\"');
} else if (req.params.scenario === 'invalid') {
coverage['getByteInvalid']++;
res.status(200).type('json').end('\"::::SWAGGER::::\"');
} else {
res.status(400).send('Request path must contain null or empty or nonAscii or invalid');
}
});
}
byte.prototype.router = router;
module.exports = byte;