in legacy/routes/azureSpecials.js [7:296]
var specials = function (coverage) {
coverage["AzureSubscriptionMethodLocalValid"] = 0;
coverage["AzureSubscriptionMethodGlobalValid"] = 0;
coverage["AzureSubscriptionMethodGlobalNotProvidedValid"] = 0;
coverage["AzureSubscriptionPathLocalValid"] = 0;
coverage["AzureSubscriptionPathGlobalValid"] = 0;
coverage["AzureSubscriptionSwaggerLocalValid"] = 0;
coverage["AzureSubscriptionSwaggerGlobalValid"] = 0;
coverage["AzureApiVersionMethodLocalNull"] = 0;
coverage["AzureApiVersionMethodLocalValid"] = 0;
coverage["AzureApiVersionMethodGlobalValid"] = 0;
coverage["AzureApiVersionMethodGlobalNotProvidedValid"] = 0;
coverage["AzureApiVersionPathLocalValid"] = 0;
coverage["AzureApiVersionPathGlobalValid"] = 0;
coverage["AzureApiVersionSwaggerLocalValid"] = 0;
coverage["AzureApiVersionSwaggerGlobalValid"] = 0;
coverage["AzureMethodPathUrlEncoding"] = 0;
coverage["AzurePathPathUrlEncoding"] = 0;
coverage["AzureSwaggerPathUrlEncoding"] = 0;
coverage["AzureMethodQueryUrlEncoding"] = 0;
coverage["AzurePathQueryUrlEncoding"] = 0;
coverage["AzureSwaggerQueryUrlEncoding"] = 0;
coverage["AzureMethodQueryUrlEncodingNull"] = 0;
coverage["AzureXmsRequestClientOverwrite"] = 0;
coverage["AzureXmsRequestClientOverwriteViaParameter"] = 0;
coverage["AzureXmsRequestClientIdNull"] = 0;
coverage["AzureXmsCustomNamedRequestId"] = 0;
coverage["AzureXmsCustomNamedRequestIdParameterGroup"] = 0;
coverage["AzureRequestClientIdInError"] = 0;
coverage["AzureODataFilter"] = 0;
router.post("/subscriptionId/:location/string/none/path/:scope/:scenario/:subscription", function (req, res, next) {
var location = req.params.location;
var scope = req.params.scope;
var scenario = req.params.scenario;
var subscription = req.params.subscription;
var coverageScenario = "";
if (!req.get("x-ms-client-request-id")) {
utils.send400(res, next, "Header x-ms-client-request-id must be provided in each request.");
}
if (location === "method") {
coverageScenario = "AzureSubscriptionMethod";
if (scope === "local") {
coverageScenario += "LocalValid";
} else if (scope === "global") {
coverageScenario += "GlobalValid";
} else if (scope === "globalNotProvided") {
coverageScenario += "GlobalNotProvidedValid";
} else {
utils.send400(res, next, 'Unable to parse location: "' + util.inspect(location) + '"');
}
} else if (location === "path") {
coverageScenario = "AzureSubscriptionPath";
if (scope === "local") {
coverageScenario += "LocalValid";
} else if (scope === "global") {
coverageScenario += "GlobalValid";
} else {
utils.send400(res, next, 'Unable to parse location: "' + util.inspect(location) + '"');
}
} else if (location === "swagger") {
coverageScenario = "AzureSubscriptionSwagger";
if (scope === "local") {
coverageScenario += "LocalValid";
} else if (scope === "global") {
coverageScenario += "GlobalValid";
} else {
utils.send400(res, next, 'Unable to parse location: "' + util.inspect(location) + '"');
}
} else {
utils.send400(res, next, 'Unable to parse definition location: "' + util.inspect(location) + '"');
}
if (scenario === subscription) {
coverage[coverageScenario]++;
res.status(200).end();
} else {
utils.send400(
res,
next,
'Expected subscription: "' + util.inspect(scenario) + '" did not match actual "' + subscription + '"',
);
}
});
router.get("/apiVersion/:location/string/none/query/:scope/:scenario", function (req, res, next) {
var location = req.params.location;
var scope = req.params.scope;
var scenario = req.params.scenario;
var apiVersion = req.query["api-version"];
var coverageScenario = "AzureApiVersion";
if (location === "method") {
coverageScenario += "Method";
if (scope === "local" && scenario === "2.0") {
coverageScenario += "LocalValid";
} else if (scope === "local" && scenario === "null") {
coverageScenario += "LocalNull";
} else if (scope === "global") {
coverageScenario += "GlobalValid";
} else if (scope === "globalNotProvided") {
coverageScenario += "GlobalNotProvidedValid";
} else {
utils.send400(res, next, 'Unable to parse location: "' + util.inspect(location) + '"');
}
} else if (location === "path") {
coverageScenario += "Path";
if (scope === "local") {
coverageScenario += "LocalValid";
} else if (scope === "global") {
coverageScenario += "GlobalValid";
} else {
utils.send400(res, next, 'Unable to parse location: "' + util.inspect(location) + '"');
}
} else if (location === "swagger") {
coverageScenario += "Swagger";
if (scope === "local") {
coverageScenario += "LocalValid";
} else if (scope === "global") {
coverageScenario += "GlobalValid";
} else {
utils.send400(res, next, 'Unable to parse location: "' + util.inspect(location) + '"');
}
} else {
utils.send400(res, next, 'Unable to parse definition location: "' + util.inspect(location) + '"');
}
if (scenario === apiVersion || (scenario === "null" && Object.keys(req.query).length === 0)) {
coverage[coverageScenario]++;
res.status(200).end();
} else {
utils.send400(
res,
next,
'Expected api-version: "' + util.inspect(scenario) + '" did not match actual "' + apiVersion + '"',
);
}
});
router.get("/skipUrlEncoding/:location/path/valid/path1/path2/path3", function (req, res, next) {
var location = req.params.location;
if (location === "method" || location === "path" || location === "swagger") {
var scenario = "Azure" + utils.toPascalCase(location) + "PathUrlEncoding";
coverage[scenario]++;
res.status(200).end();
} else {
utils.send400(
res,
next,
'Unable to determine location "' + util.inspect(location) + '" for AzurePathUrlEncoding scenario',
);
}
});
router.get("/skipUrlEncoding/:location/query/valid", function (req, res, next) {
var location = req.params.location;
if (location === "method" || location === "path" || location === "swagger") {
var scenario = "Azure" + utils.toPascalCase(location) + "QueryUrlEncoding";
if (
Object.keys(req.query).length > 2 &&
req.query["q1"] === "value1" &&
req.query["q2"] === "value2" &&
req.query["q3"] === "value3"
) {
coverage[scenario]++;
res.status(200).end();
} else {
utils.send400(
res,
next,
'Unexpected query values for scenario "' + scenario + '": "' + util.inspect(req.query) + '"',
);
}
} else {
utils.send400(
res,
next,
'Unable to determine location "' + util.inspect(location) + '" for AzurePathUrlEncoding scenario',
);
}
});
router.get("/skipUrlEncoding/method/query/null", function (req, res, next) {
var scenario = "AzureMethodQueryUrlEncodingNull";
if (Object.keys(req.query).length <= 1 && (req.query["q1"] === undefined || req.query["q1"] === null)) {
coverage[scenario]++;
res.status(200).end();
} else {
utils.send400(
res,
next,
'Unexpected query values for scenario "' + scenario + '": "' + util.inspect(req.query) + '"',
);
}
});
router.get("/odata/filter", function (req, res, next) {
var scenario = "AzureODataFilter";
if (req.query["$filter"] !== "id gt 5 and name eq 'foo'") {
utils.send400(
res,
next,
'Unexpected $filter value for "' +
scenario +
'": expect "id gt 5 and name eq \'foo\'" actual "' +
req.query["$filter"] +
'"',
);
}
if (req.query["$top"] !== "10") {
utils.send400(
res,
next,
'Unexpected $top value for "' + scenario + '": expect "10" actual "' + req.query["$top"] + '"',
);
}
if (req.query["$orderby"] !== "id") {
utils.send400(
res,
next,
'Unexpected $top value for "' + scenario + '": expect "id" actual "' + req.query["$orderby"] + '"',
);
}
coverage[scenario]++;
res.status(200).end();
});
router.get("/overwrite/x-ms-client-request-id/method/", function (req, res, next) {
var headers = {
"x-ms-request-id": "123",
};
if (!req.headers["x-ms-client-request-id"]) {
coverage["AzureXmsRequestClientIdNull"]++;
res.set(headers).status(200).end();
} else if (req.headers["x-ms-client-request-id"] !== "9C4D50EE-2D56-4CD3-8152-34347DC9F2B0") {
coverage["AzureRequestClientIdInError"]++;
res.set(headers).status(400).end();
} else {
coverage["AzureXmsRequestClientOverwrite"]++;
res.set(headers).status(200).end();
}
});
router.get("/overwrite/x-ms-client-request-id/via-param/method/", function (req, res, next) {
var headers = {
"x-ms-request-id": "123",
};
if (req.get("x-ms-client-request-id") !== "9C4D50EE-2D56-4CD3-8152-34347DC9F2B0") {
utils.send400(res, next, "Header x-ms-client-request-id must be set to 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.");
} else {
coverage["AzureXmsRequestClientOverwriteViaParameter"]++;
res.set(headers).status(200).end();
}
});
router.post("/customNamedRequestId", function (req, res, next) {
var headers = {
"foo-request-id": "123",
};
if (req.get("foo-client-request-id") !== "9C4D50EE-2D56-4CD3-8152-34347DC9F2B0") {
utils.send400(res, next, "Header foo-client-request-id must be set to 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.");
} else {
coverage["AzureXmsCustomNamedRequestId"]++;
res.set(headers).status(200).end();
}
});
router.post("/customNamedRequestIdParamGrouping", function (req, res, next) {
var headers = {
"foo-request-id": "123",
};
if (req.get("foo-client-request-id") !== "9C4D50EE-2D56-4CD3-8152-34347DC9F2B0") {
utils.send400(res, next, "Header foo-client-request-id must be set to 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.");
} else {
coverage["AzureXmsCustomNamedRequestIdParameterGroup"]++;
res.set(headers).status(200).end();
}
});
router.head("/customNamedRequestIdHead", function (req, res, next) {
var headers = {
"foo-request-id": "123",
};
if (req.get("foo-client-request-id") !== "9C4D50EE-2D56-4CD3-8152-34347DC9F2B0") {
utils.send400(res, next, "Header foo-client-request-id must be set to 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.");
} else {
coverage["AzureXmsCustomNamedRequestId"]++;
res.set(headers).status(200).end();
}
});
};